1 line
110 KiB
JSON
1 line
110 KiB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"rate","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"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":"value","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":"changeRate","inputs":[{"name":"rate","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"conversionRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"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":"mint","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"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":"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":"superMint","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"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":"value","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":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"receiver","type":"address","internalType":"address payable"}],"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":"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":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC2612ExpiredSignature","inputs":[{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC2612InvalidSigner","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"OnlyOwner","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x61018060405234801562000011575f80fd5b5060405162002bf538038062002bf583398181016040528101906200003791906200046e565b82806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508585816003908162000082919062000733565b50806004908162000094919062000733565b505050620000ad6005836200018d60201b90919060201c565b6101208181525050620000cb6006826200018d60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200010a620001e260201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050806008819055503373ffffffffffffffffffffffffffffffffffffffff166101608173ffffffffffffffffffffffffffffffffffffffff1681525050505050620009f0565b5f602083511015620001b257620001aa836200023e60201b60201c565b9050620001dc565b82620001c483620002a860201b60201c565b5f019081620001d4919062000733565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200022395949392919062000885565b60405160208183030381529060405280519060200120905090565b5f80829050601f815111156200028d57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040162000284919062000930565b60405180910390fd5b8051816200029b9062000981565b5f1c175f1b915050919050565b5f819050919050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200031282620002ca565b810181811067ffffffffffffffff82111715620003345762000333620002da565b5b80604052505050565b5f62000348620002b1565b905062000356828262000307565b919050565b5f67ffffffffffffffff821115620003785762000377620002da565b5b6200038382620002ca565b9050602081019050919050565b5f5b83811015620003af57808201518184015260208101905062000392565b5f8484015250505050565b5f620003d0620003ca846200035b565b6200033d565b905082815260208101848484011115620003ef57620003ee620002c6565b5b620003fc84828562000390565b509392505050565b5f82601f8301126200041b576200041a620002c2565b5b81516200042d848260208601620003ba565b91505092915050565b5f819050919050565b6200044a8162000436565b811462000455575f80fd5b50565b5f8151905062000468816200043f565b92915050565b5f805f60608486031215620004885762000487620002ba565b5b5f84015167ffffffffffffffff811115620004a857620004a7620002be565b5b620004b68682870162000404565b935050602084015167ffffffffffffffff811115620004da57620004d9620002be565b5b620004e88682870162000404565b9250506040620004fb8682870162000458565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200055457607f821691505b6020821081036200056a57620005696200050f565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620005ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000591565b620005da868362000591565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200061b620006156200060f8462000436565b620005f2565b62000436565b9050919050565b5f819050919050565b6200063683620005fb565b6200064e620006458262000622565b8484546200059d565b825550505050565b5f90565b6200066462000656565b620006718184846200062b565b505050565b5b8181101562000698576200068c5f826200065a565b60018101905062000677565b5050565b601f821115620006e757620006b18162000570565b620006bc8462000582565b81016020851015620006cc578190505b620006e4620006db8562000582565b83018262000676565b50505b505050565b5f82821c905092915050565b5f620007095f1984600802620006ec565b1980831691505092915050565b5f620007238383620006f8565b9150826002028217905092915050565b6200073e8262000505565b67ffffffffffffffff8111156200075a5762000759620002da565b5b6200076682546200053c565b620007738282856200069c565b5f60209050601f831160018114620007a9575f841562000794578287015190505b620007a0858262000716565b8655506200080f565b601f198416620007b98662000570565b5f5b82811015620007e257848901518255600182019150602085019450602081019050620007bb565b86831015620008025784890151620007fe601f891682620006f8565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b6200082b8162000817565b82525050565b6200083c8162000436565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200086d8262000842565b9050919050565b6200087f8162000861565b82525050565b5f60a0820190506200089a5f83018862000820565b620008a9602083018762000820565b620008b8604083018662000820565b620008c7606083018562000831565b620008d6608083018462000874565b9695505050505050565b5f82825260208201905092915050565b5f620008fc8262000505565b620009088185620008e0565b93506200091a81856020860162000390565b6200092581620002ca565b840191505092915050565b5f6020820190508181035f8301526200094a8184620008f0565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f62000978825162000817565b80915050919050565b5f6200098d8262000952565b8262000999846200095c565b9050620009a6816200096b565b92506020821015620009e957620009e47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000591565b831692505b5050919050565b60805160a05160c05160e0516101005161012051610140516101605161219b62000a5a5f395f8181610595015281816107180152610adc01525f610ec701525f610e8c01525f6113c001525f61139f01525f610d8a01525f610de001525f610e09015261219b5ff3fe60806040526004361061010c575f3560e01c806374e7493b1161009457806395d89b411161006357806395d89b4114610387578063a9059cbb146103b1578063d505accf146103ed578063dd62ed3e14610415578063fa6171e4146104515761011d565b806374e7493b146102c95780637ecebe00146102f15780637ffdf53e1461032d57806384b0196e146103575761011d565b8063313ce567116100db578063313ce567146101f55780633644e5151461021f57806351cff8d9146102495780636a6278421461027157806370a082311461028d5761011d565b806306fdde0314610129578063095ea7b31461015357806318160ddd1461018f57806323b872dd146101b95761011d565b3661011d5761011b3334610479565b005b6101273334610479565b005b348015610134575f80fd5b5061013d610494565b60405161014a9190611890565b60405180910390f35b34801561015e575f80fd5b5061017960048036038101906101749190611941565b610524565b6040516101869190611999565b60405180910390f35b34801561019a575f80fd5b506101a3610546565b6040516101b091906119c1565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da91906119da565b61054f565b6040516101ec9190611999565b60405180910390f35b348015610200575f80fd5b5061020961057d565b6040516102169190611a45565b60405180910390f35b34801561022a575f80fd5b50610233610585565b6040516102409190611a76565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a9190611aca565b610593565b005b61028b60048036038101906102869190611af5565b6106c4565b005b348015610298575f80fd5b506102b360048036038101906102ae9190611af5565b6106d1565b6040516102c091906119c1565b60405180910390f35b3480156102d4575f80fd5b506102ef60048036038101906102ea9190611b20565b610716565b005b3480156102fc575f80fd5b5061031760048036038101906103129190611af5565b6107a5565b60405161032491906119c1565b60405180910390f35b348015610338575f80fd5b506103416107b6565b60405161034e91906119c1565b60405180910390f35b348015610362575f80fd5b5061036b6107bc565b60405161037e9796959493929190611c4b565b60405180910390f35b348015610392575f80fd5b5061039b610861565b6040516103a89190611890565b60405180910390f35b3480156103bc575f80fd5b506103d760048036038101906103d29190611941565b6108f1565b6040516103e49190611999565b60405180910390f35b3480156103f8575f80fd5b50610413600480360381019061040e9190611d21565b610913565b005b348015610420575f80fd5b5061043b60048036038101906104369190611dbe565b610a58565b60405161044891906119c1565b60405180910390f35b34801561045c575f80fd5b5061047760048036038101906104729190611941565b610ada565b005b610490826008548361048b9190611e29565b610b6d565b5050565b6060600380546104a390611e97565b80601f01602080910402602001604051908101604052809291908181526020018280546104cf90611e97565b801561051a5780601f106104f15761010080835404028352916020019161051a565b820191905f5260205f20905b8154815290600101906020018083116104fd57829003601f168201915b5050505050905090565b5f8061052e610bec565b905061053b818585610bf3565b600191505092915050565b5f600254905090565b5f80610559610bec565b9050610566858285610c05565b610571858585610c97565b60019150509392505050565b5f6012905090565b5f61058e610d87565b905090565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610618576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff164760405161063d90611ef4565b5f6040518083038185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b50509050806106c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b790611f52565b60405180910390fd5b5050565b6106ce8134610479565b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461079b576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060088190555050565b5f6107af82610e3d565b9050919050565b60085481565b5f6060805f805f60606107cd610e83565b6107d5610ebe565b46305f801b5f67ffffffffffffffff8111156107f4576107f3611f70565b5b6040519080825280602002602001820160405280156108225781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b60606004805461087090611e97565b80601f016020809104026020016040519081016040528092919081815260200182805461089c90611e97565b80156108e75780601f106108be576101008083540402835291602001916108e7565b820191905f5260205f20905b8154815290600101906020018083116108ca57829003601f168201915b5050505050905090565b5f806108fb610bec565b9050610908818585610c97565b600191505092915050565b8342111561095857836040517f6279130200000000000000000000000000000000000000000000000000000000815260040161094f91906119c1565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886109868c610ef9565b8960405160200161099c96959493929190611f9d565b6040516020818303038152906040528051906020012090505f6109be82610f4c565b90505f6109cd82878787610f65565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a4157808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610a38929190611ffc565b60405180910390fd5b610a4c8a8a8a610bf3565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b5f576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b698282610479565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bdd575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610bd49190612023565b60405180910390fd5b610be85f8383610f93565b5050565b5f33905090565b610c0083838360016111ac565b505050565b5f610c108484610a58565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c915781811015610c82578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610c799392919061203c565b60405180910390fd5b610c9084848484035f6111ac565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d07575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610cfe9190612023565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d77575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610d6e9190612023565b60405180910390fd5b610d82838383610f93565b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610e0257507f000000000000000000000000000000000000000000000000000000000000000046145b15610e2f577f00000000000000000000000000000000000000000000000000000000000000009050610e3a565b610e3761137b565b90505b90565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060610eb960057f000000000000000000000000000000000000000000000000000000000000000061141090919063ffffffff16565b905090565b6060610ef460067f000000000000000000000000000000000000000000000000000000000000000061141090919063ffffffff16565b905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f610f5e610f58610d87565b836114bd565b9050919050565b5f805f80610f75888888886114fd565b925092509250610f8582826115e4565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe3578060025f828254610fd79190612071565b925050819055506110b1565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561106c578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016110639392919061203c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f8578060025f8282540392505081905550611142565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161119f91906119c1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361121c575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016112139190612023565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361128c575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016112839190612023565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611375578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161136c91906119c1565b60405180910390a35b50505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016113f59594939291906120a4565b60405160208183030381529060405280519060200120905090565b606060ff5f1b831461142c5761142583611746565b90506114b7565b81805461143890611e97565b80601f016020809104026020016040519081016040528092919081815260200182805461146490611e97565b80156114af5780601f10611486576101008083540402835291602001916114af565b820191905f5260205f20905b81548152906001019060200180831161149257829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611539575f6003859250925092506115da565b5f6001888888886040515f815260200160405260405161155c94939291906120f5565b6020604051602081039080840390855afa15801561157c573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115cd575f60015f801b935093509350506115da565b805f805f1b935093509350505b9450945094915050565b5f60038111156115f7576115f6612138565b5b82600381111561160a57611609612138565b5b0315611742576001600381111561162457611623612138565b5b82600381111561163757611636612138565b5b0361166e576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561168257611681612138565b5b82600381111561169557611694612138565b5b036116d957805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016116d091906119c1565b60405180910390fd5b6003808111156116ec576116eb612138565b5b8260038111156116ff576116fe612138565b5b0361174157806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016117389190611a76565b60405180910390fd5b5b5050565b60605f611752836117b8565b90505f602067ffffffffffffffff8111156117705761176f611f70565b5b6040519080825280601f01601f1916602001820160405280156117a25781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f8060ff835f1c169050601f8111156117fd576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561183d578082015181840152602081019050611822565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61186282611806565b61186c8185611810565b935061187c818560208601611820565b61188581611848565b840191505092915050565b5f6020820190508181035f8301526118a88184611858565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118dd826118b4565b9050919050565b6118ed816118d3565b81146118f7575f80fd5b50565b5f81359050611908816118e4565b92915050565b5f819050919050565b6119208161190e565b811461192a575f80fd5b50565b5f8135905061193b81611917565b92915050565b5f8060408385031215611957576119566118b0565b5b5f611964858286016118fa565b92505060206119758582860161192d565b9150509250929050565b5f8115159050919050565b6119938161197f565b82525050565b5f6020820190506119ac5f83018461198a565b92915050565b6119bb8161190e565b82525050565b5f6020820190506119d45f8301846119b2565b92915050565b5f805f606084860312156119f1576119f06118b0565b5b5f6119fe868287016118fa565b9350506020611a0f868287016118fa565b9250506040611a208682870161192d565b9150509250925092565b5f60ff82169050919050565b611a3f81611a2a565b82525050565b5f602082019050611a585f830184611a36565b92915050565b5f819050919050565b611a7081611a5e565b82525050565b5f602082019050611a895f830184611a67565b92915050565b5f611a99826118b4565b9050919050565b611aa981611a8f565b8114611ab3575f80fd5b50565b5f81359050611ac481611aa0565b92915050565b5f60208284031215611adf57611ade6118b0565b5b5f611aec84828501611ab6565b91505092915050565b5f60208284031215611b0a57611b096118b0565b5b5f611b17848285016118fa565b91505092915050565b5f60208284031215611b3557611b346118b0565b5b5f611b428482850161192d565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611b7f81611b4b565b82525050565b611b8e816118d3565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611bc68161190e565b82525050565b5f611bd78383611bbd565b60208301905092915050565b5f602082019050919050565b5f611bf982611b94565b611c038185611b9e565b9350611c0e83611bae565b805f5b83811015611c3e578151611c258882611bcc565b9750611c3083611be3565b925050600181019050611c11565b5085935050505092915050565b5f60e082019050611c5e5f83018a611b76565b8181036020830152611c708189611858565b90508181036040830152611c848188611858565b9050611c9360608301876119b2565b611ca06080830186611b85565b611cad60a0830185611a67565b81810360c0830152611cbf8184611bef565b905098975050505050505050565b611cd681611a2a565b8114611ce0575f80fd5b50565b5f81359050611cf181611ccd565b92915050565b611d0081611a5e565b8114611d0a575f80fd5b50565b5f81359050611d1b81611cf7565b92915050565b5f805f805f805f60e0888a031215611d3c57611d3b6118b0565b5b5f611d498a828b016118fa565b9750506020611d5a8a828b016118fa565b9650506040611d6b8a828b0161192d565b9550506060611d7c8a828b0161192d565b9450506080611d8d8a828b01611ce3565b93505060a0611d9e8a828b01611d0d565b92505060c0611daf8a828b01611d0d565b91505092959891949750929550565b5f8060408385031215611dd457611dd36118b0565b5b5f611de1858286016118fa565b9250506020611df2858286016118fa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e338261190e565b9150611e3e8361190e565b9250828202611e4c8161190e565b91508282048414831517611e6357611e62611dfc565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611eae57607f821691505b602082108103611ec157611ec0611e6a565b5b50919050565b5f81905092915050565b50565b5f611edf5f83611ec7565b9150611eea82611ed1565b5f82019050919050565b5f611efe82611ed4565b9150819050919050565b7f4661696c656420746f2073656e642045746865720000000000000000000000005f82015250565b5f611f3c601483611810565b9150611f4782611f08565b602082019050919050565b5f6020820190508181035f830152611f6981611f30565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60c082019050611fb05f830189611a67565b611fbd6020830188611b85565b611fca6040830187611b85565b611fd760608301866119b2565b611fe460808301856119b2565b611ff160a08301846119b2565b979650505050505050565b5f60408201905061200f5f830185611b85565b61201c6020830184611b85565b9392505050565b5f6020820190506120365f830184611b85565b92915050565b5f60608201905061204f5f830186611b85565b61205c60208301856119b2565b61206960408301846119b2565b949350505050565b5f61207b8261190e565b91506120868361190e565b925082820190508082111561209e5761209d611dfc565b5b92915050565b5f60a0820190506120b75f830188611a67565b6120c46020830187611a67565b6120d16040830186611a67565b6120de60608301856119b2565b6120eb6080830184611b85565b9695505050505050565b5f6080820190506121085f830187611a67565b6121156020830186611a36565b6121226040830185611a67565b61212f6060830184611a67565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220b3ebe24eea71c80d9947fc55ddd86ec2360494fda72bea475cd8d13660811dbb64736f6c63430008140033","sourceMap":"132:1269:114:-:0;;;267:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;397:4;1613::23;3328:431:37;;;;;;;;;;;;;;;;;371:4:114;377:6;1970:5:21;1962;:13;;;;;;:::i;:::-;;1995:7;1985;:17;;;;;;:::i;:::-;;1896:113;;3401:45:37;3432:13;3401:4;:30;;;;:45;;;;:::i;:::-;3393:53;;;;;;3467:51;3501:16;3467:7;:33;;;;:51;;;;:::i;:::-;3456:62;;;;;;3558:4;3542:22;;;;;;3528:36;;;;;;3607:7;3591:25;;;;;;3574:42;;;;;;3644:13;3627:30;;;;;;3692:23;:21;;;:23;;:::i;:::-;3667:48;;;;;;3747:4;3725:27;;;;;;;;;;3328:431;;1574:52:23;430:4:114::2;413:14;:21;;;;453:10;444:19;;;;;;;;::::0;::::2;267:203:::0;;;132:1269;;2914:340:33;3010:11;3059:2;3043:5;3037:19;:24;3033:215;;;3084:20;3098:5;3084:13;;;:20;;:::i;:::-;3077:27;;;;3033:215;3176:5;3135:32;3161:5;3135:25;;;:32;;:::i;:::-;:38;;:46;;;;;;:::i;:::-;;1390:66;3219:17;;3195:42;;2914:340;;;;;:::o;4113:179:37:-;4168:7;2079:95;4226:11;;4239:14;;4255:13;4278:4;4204:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4194:91;;;;;;4187:98;;4113:179;:::o;1708:286:33:-;1773:11;1796:17;1822:3;1796:30;;1854:2;1840:4;:11;:16;1836:72;;;1893:3;1879:18;;;;;;;;;;;:::i;:::-;;;;;;;;1836:72;1974:4;:11;1965:4;1957:13;;;:::i;:::-;1949:22;;:36;1941:45;;1917:70;;;1708:286;;;:::o;3135:202:34:-;3203:20;3311:10;3301:20;;3135:202;;;:::o;7:75:133:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:77::-;2714:7;2743:5;2732:16;;2677:77;;;:::o;2760:122::-;2833:24;2851:5;2833:24;:::i;:::-;2826:5;2823:35;2813:63;;2872:1;2869;2862:12;2813:63;2760:122;:::o;2888:143::-;2945:5;2976:6;2970:13;2961:22;;2992:33;3019:5;2992:33;:::i;:::-;2888:143;;;;:::o;3037:1009::-;3145:6;3153;3161;3210:2;3198:9;3189:7;3185:23;3181:32;3178:119;;;3216:79;;:::i;:::-;3178:119;3357:1;3346:9;3342:17;3336:24;3387:18;3379:6;3376:30;3373:117;;;3409:79;;:::i;:::-;3373:117;3514:74;3580:7;3571:6;3560:9;3556:22;3514:74;:::i;:::-;3504:84;;3307:291;3658:2;3647:9;3643:18;3637:25;3689:18;3681:6;3678:30;3675:117;;;3711:79;;:::i;:::-;3675:117;3816:74;3882:7;3873:6;3862:9;3858:22;3816:74;:::i;:::-;3806:84;;3608:292;3939:2;3965:64;4021:7;4012:6;4001:9;3997:22;3965:64;:::i;:::-;3955:74;;3910:129;3037:1009;;;;;:::o;4052:99::-;4104:6;4138:5;4132:12;4122:22;;4052:99;;;:::o;4157:180::-;4205:77;4202:1;4195:88;4302:4;4299:1;4292:15;4326:4;4323:1;4316:15;4343:320;4387:6;4424:1;4418:4;4414:12;4404:22;;4471:1;4465:4;4461:12;4492:18;4482:81;;4548:4;4540:6;4536:17;4526:27;;4482:81;4610:2;4602:6;4599:14;4579:18;4576:38;4573:84;;4629:18;;:::i;:::-;4573:84;4394:269;4343:320;;;:::o;4669:141::-;4718:4;4741:3;4733:11;;4764:3;4761:1;4754:14;4798:4;4795:1;4785:18;4777:26;;4669:141;;;:::o;4816:93::-;4853:6;4900:2;4895;4888:5;4884:14;4880:23;4870:33;;4816:93;;;:::o;4915:107::-;4959:8;5009:5;5003:4;4999:16;4978:37;;4915:107;;;;:::o;5028:393::-;5097:6;5147:1;5135:10;5131:18;5170:97;5200:66;5189:9;5170:97;:::i;:::-;5288:39;5318:8;5307:9;5288:39;:::i;:::-;5276:51;;5360:4;5356:9;5349:5;5345:21;5336:30;;5409:4;5399:8;5395:19;5388:5;5385:30;5375:40;;5104:317;;5028:393;;;;;:::o;5427:60::-;5455:3;5476:5;5469:12;;5427:60;;;:::o;5493:142::-;5543:9;5576:53;5594:34;5603:24;5621:5;5603:24;:::i;:::-;5594:34;:::i;:::-;5576:53;:::i;:::-;5563:66;;5493:142;;;:::o;5641:75::-;5684:3;5705:5;5698:12;;5641:75;;;:::o;5722:269::-;5832:39;5863:7;5832:39;:::i;:::-;5893:91;5942:41;5966:16;5942:41;:::i;:::-;5934:6;5927:4;5921:11;5893:91;:::i;:::-;5887:4;5880:105;5798:193;5722:269;;;:::o;5997:73::-;6042:3;5997:73;:::o;6076:189::-;6153:32;;:::i;:::-;6194:65;6252:6;6244;6238:4;6194:65;:::i;:::-;6129:136;6076:189;;:::o;6271:186::-;6331:120;6348:3;6341:5;6338:14;6331:120;;;6402:39;6439:1;6432:5;6402:39;:::i;:::-;6375:1;6368:5;6364:13;6355:22;;6331:120;;;6271:186;;:::o;6463:543::-;6564:2;6559:3;6556:11;6553:446;;;6598:38;6630:5;6598:38;:::i;:::-;6682:29;6700:10;6682:29;:::i;:::-;6672:8;6668:44;6865:2;6853:10;6850:18;6847:49;;;6886:8;6871:23;;6847:49;6909:80;6965:22;6983:3;6965:22;:::i;:::-;6955:8;6951:37;6938:11;6909:80;:::i;:::-;6568:431;;6553:446;6463:543;;;:::o;7012:117::-;7066:8;7116:5;7110:4;7106:16;7085:37;;7012:117;;;;:::o;7135:169::-;7179:6;7212:51;7260:1;7256:6;7248:5;7245:1;7241:13;7212:51;:::i;:::-;7208:56;7293:4;7287;7283:15;7273:25;;7186:118;7135:169;;;;:::o;7309:295::-;7385:4;7531:29;7556:3;7550:4;7531:29;:::i;:::-;7523:37;;7593:3;7590:1;7586:11;7580:4;7577:21;7569:29;;7309:295;;;;:::o;7609:1395::-;7726:37;7759:3;7726:37;:::i;:::-;7828:18;7820:6;7817:30;7814:56;;;7850:18;;:::i;:::-;7814:56;7894:38;7926:4;7920:11;7894:38;:::i;:::-;7979:67;8039:6;8031;8025:4;7979:67;:::i;:::-;8073:1;8097:4;8084:17;;8129:2;8121:6;8118:14;8146:1;8141:618;;;;8803:1;8820:6;8817:77;;;8869:9;8864:3;8860:19;8854:26;8845:35;;8817:77;8920:67;8980:6;8973:5;8920:67;:::i;:::-;8914:4;8907:81;8776:222;8111:887;;8141:618;8193:4;8189:9;8181:6;8177:22;8227:37;8259:4;8227:37;:::i;:::-;8286:1;8300:208;8314:7;8311:1;8308:14;8300:208;;;8393:9;8388:3;8384:19;8378:26;8370:6;8363:42;8444:1;8436:6;8432:14;8422:24;;8491:2;8480:9;8476:18;8463:31;;8337:4;8334:1;8330:12;8325:17;;8300:208;;;8536:6;8527:7;8524:19;8521:179;;;8594:9;8589:3;8585:19;8579:26;8637:48;8679:4;8671:6;8667:17;8656:9;8637:48;:::i;:::-;8629:6;8622:64;8544:156;8521:179;8746:1;8742;8734:6;8730:14;8726:22;8720:4;8713:36;8148:611;;;8111:887;;7701:1303;;;7609:1395;;:::o;9010:77::-;9047:7;9076:5;9065:16;;9010:77;;;:::o;9093:118::-;9180:24;9198:5;9180:24;:::i;:::-;9175:3;9168:37;9093:118;;:::o;9217:::-;9304:24;9322:5;9304:24;:::i;:::-;9299:3;9292:37;9217:118;;:::o;9341:126::-;9378:7;9418:42;9411:5;9407:54;9396:65;;9341:126;;;:::o;9473:96::-;9510:7;9539:24;9557:5;9539:24;:::i;:::-;9528:35;;9473:96;;;:::o;9575:118::-;9662:24;9680:5;9662:24;:::i;:::-;9657:3;9650:37;9575:118;;:::o;9699:664::-;9904:4;9942:3;9931:9;9927:19;9919:27;;9956:71;10024:1;10013:9;10009:17;10000:6;9956:71;:::i;:::-;10037:72;10105:2;10094:9;10090:18;10081:6;10037:72;:::i;:::-;10119;10187:2;10176:9;10172:18;10163:6;10119:72;:::i;:::-;10201;10269:2;10258:9;10254:18;10245:6;10201:72;:::i;:::-;10283:73;10351:3;10340:9;10336:19;10327:6;10283:73;:::i;:::-;9699:664;;;;;;;;:::o;10369:169::-;10453:11;10487:6;10482:3;10475:19;10527:4;10522:3;10518:14;10503:29;;10369:169;;;;:::o;10544:377::-;10632:3;10660:39;10693:5;10660:39;:::i;:::-;10715:71;10779:6;10774:3;10715:71;:::i;:::-;10708:78;;10795:65;10853:6;10848:3;10841:4;10834:5;10830:16;10795:65;:::i;:::-;10885:29;10907:6;10885:29;:::i;:::-;10880:3;10876:39;10869:46;;10636:285;10544:377;;;;:::o;10927:313::-;11040:4;11078:2;11067:9;11063:18;11055:26;;11127:9;11121:4;11117:20;11113:1;11102:9;11098:17;11091:47;11155:78;11228:4;11219:6;11155:78;:::i;:::-;11147:86;;10927:313;;;;:::o;11246:98::-;11297:6;11331:5;11325:12;11315:22;;11246:98;;;:::o;11350:116::-;11401:4;11424:3;11416:11;;11454:4;11449:3;11445:14;11437:22;;11350:116;;;:::o;11472:154::-;11515:11;11551:29;11575:3;11569:10;11551:29;:::i;:::-;11614:5;11590:29;;11527:99;11472:154;;;:::o;11632:594::-;11716:5;11747:38;11779:5;11747:38;:::i;:::-;11810:5;11837:40;11871:5;11837:40;:::i;:::-;11825:52;;11896:35;11922:8;11896:35;:::i;:::-;11887:44;;11955:2;11947:6;11944:14;11941:278;;;12026:169;12111:66;12081:6;12077:2;12073:15;12070:1;12066:23;12026:169;:::i;:::-;12003:5;11982:227;11973:236;;11941:278;11722:504;;11632:594;;;:::o;132:1269:114:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061010c575f3560e01c806374e7493b1161009457806395d89b411161006357806395d89b4114610387578063a9059cbb146103b1578063d505accf146103ed578063dd62ed3e14610415578063fa6171e4146104515761011d565b806374e7493b146102c95780637ecebe00146102f15780637ffdf53e1461032d57806384b0196e146103575761011d565b8063313ce567116100db578063313ce567146101f55780633644e5151461021f57806351cff8d9146102495780636a6278421461027157806370a082311461028d5761011d565b806306fdde0314610129578063095ea7b31461015357806318160ddd1461018f57806323b872dd146101b95761011d565b3661011d5761011b3334610479565b005b6101273334610479565b005b348015610134575f80fd5b5061013d610494565b60405161014a9190611890565b60405180910390f35b34801561015e575f80fd5b5061017960048036038101906101749190611941565b610524565b6040516101869190611999565b60405180910390f35b34801561019a575f80fd5b506101a3610546565b6040516101b091906119c1565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da91906119da565b61054f565b6040516101ec9190611999565b60405180910390f35b348015610200575f80fd5b5061020961057d565b6040516102169190611a45565b60405180910390f35b34801561022a575f80fd5b50610233610585565b6040516102409190611a76565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a9190611aca565b610593565b005b61028b60048036038101906102869190611af5565b6106c4565b005b348015610298575f80fd5b506102b360048036038101906102ae9190611af5565b6106d1565b6040516102c091906119c1565b60405180910390f35b3480156102d4575f80fd5b506102ef60048036038101906102ea9190611b20565b610716565b005b3480156102fc575f80fd5b5061031760048036038101906103129190611af5565b6107a5565b60405161032491906119c1565b60405180910390f35b348015610338575f80fd5b506103416107b6565b60405161034e91906119c1565b60405180910390f35b348015610362575f80fd5b5061036b6107bc565b60405161037e9796959493929190611c4b565b60405180910390f35b348015610392575f80fd5b5061039b610861565b6040516103a89190611890565b60405180910390f35b3480156103bc575f80fd5b506103d760048036038101906103d29190611941565b6108f1565b6040516103e49190611999565b60405180910390f35b3480156103f8575f80fd5b50610413600480360381019061040e9190611d21565b610913565b005b348015610420575f80fd5b5061043b60048036038101906104369190611dbe565b610a58565b60405161044891906119c1565b60405180910390f35b34801561045c575f80fd5b5061047760048036038101906104729190611941565b610ada565b005b610490826008548361048b9190611e29565b610b6d565b5050565b6060600380546104a390611e97565b80601f01602080910402602001604051908101604052809291908181526020018280546104cf90611e97565b801561051a5780601f106104f15761010080835404028352916020019161051a565b820191905f5260205f20905b8154815290600101906020018083116104fd57829003601f168201915b5050505050905090565b5f8061052e610bec565b905061053b818585610bf3565b600191505092915050565b5f600254905090565b5f80610559610bec565b9050610566858285610c05565b610571858585610c97565b60019150509392505050565b5f6012905090565b5f61058e610d87565b905090565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610618576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff164760405161063d90611ef4565b5f6040518083038185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b50509050806106c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b790611f52565b60405180910390fd5b5050565b6106ce8134610479565b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461079b576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060088190555050565b5f6107af82610e3d565b9050919050565b60085481565b5f6060805f805f60606107cd610e83565b6107d5610ebe565b46305f801b5f67ffffffffffffffff8111156107f4576107f3611f70565b5b6040519080825280602002602001820160405280156108225781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b60606004805461087090611e97565b80601f016020809104026020016040519081016040528092919081815260200182805461089c90611e97565b80156108e75780601f106108be576101008083540402835291602001916108e7565b820191905f5260205f20905b8154815290600101906020018083116108ca57829003601f168201915b5050505050905090565b5f806108fb610bec565b9050610908818585610c97565b600191505092915050565b8342111561095857836040517f6279130200000000000000000000000000000000000000000000000000000000815260040161094f91906119c1565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886109868c610ef9565b8960405160200161099c96959493929190611f9d565b6040516020818303038152906040528051906020012090505f6109be82610f4c565b90505f6109cd82878787610f65565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a4157808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610a38929190611ffc565b60405180910390fd5b610a4c8a8a8a610bf3565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b5f576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b698282610479565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bdd575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610bd49190612023565b60405180910390fd5b610be85f8383610f93565b5050565b5f33905090565b610c0083838360016111ac565b505050565b5f610c108484610a58565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c915781811015610c82578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610c799392919061203c565b60405180910390fd5b610c9084848484035f6111ac565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d07575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610cfe9190612023565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d77575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610d6e9190612023565b60405180910390fd5b610d82838383610f93565b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610e0257507f000000000000000000000000000000000000000000000000000000000000000046145b15610e2f577f00000000000000000000000000000000000000000000000000000000000000009050610e3a565b610e3761137b565b90505b90565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060610eb960057f000000000000000000000000000000000000000000000000000000000000000061141090919063ffffffff16565b905090565b6060610ef460067f000000000000000000000000000000000000000000000000000000000000000061141090919063ffffffff16565b905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f610f5e610f58610d87565b836114bd565b9050919050565b5f805f80610f75888888886114fd565b925092509250610f8582826115e4565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe3578060025f828254610fd79190612071565b925050819055506110b1565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561106c578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016110639392919061203c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f8578060025f8282540392505081905550611142565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161119f91906119c1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361121c575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016112139190612023565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361128c575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016112839190612023565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611375578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161136c91906119c1565b60405180910390a35b50505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016113f59594939291906120a4565b60405160208183030381529060405280519060200120905090565b606060ff5f1b831461142c5761142583611746565b90506114b7565b81805461143890611e97565b80601f016020809104026020016040519081016040528092919081815260200182805461146490611e97565b80156114af5780601f10611486576101008083540402835291602001916114af565b820191905f5260205f20905b81548152906001019060200180831161149257829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611539575f6003859250925092506115da565b5f6001888888886040515f815260200160405260405161155c94939291906120f5565b6020604051602081039080840390855afa15801561157c573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115cd575f60015f801b935093509350506115da565b805f805f1b935093509350505b9450945094915050565b5f60038111156115f7576115f6612138565b5b82600381111561160a57611609612138565b5b0315611742576001600381111561162457611623612138565b5b82600381111561163757611636612138565b5b0361166e576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561168257611681612138565b5b82600381111561169557611694612138565b5b036116d957805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016116d091906119c1565b60405180910390fd5b6003808111156116ec576116eb612138565b5b8260038111156116ff576116fe612138565b5b0361174157806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016117389190611a76565b60405180910390fd5b5b5050565b60605f611752836117b8565b90505f602067ffffffffffffffff8111156117705761176f611f70565b5b6040519080825280601f01601f1916602001820160405280156117a25781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f8060ff835f1c169050601f8111156117fd576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561183d578082015181840152602081019050611822565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61186282611806565b61186c8185611810565b935061187c818560208601611820565b61188581611848565b840191505092915050565b5f6020820190508181035f8301526118a88184611858565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118dd826118b4565b9050919050565b6118ed816118d3565b81146118f7575f80fd5b50565b5f81359050611908816118e4565b92915050565b5f819050919050565b6119208161190e565b811461192a575f80fd5b50565b5f8135905061193b81611917565b92915050565b5f8060408385031215611957576119566118b0565b5b5f611964858286016118fa565b92505060206119758582860161192d565b9150509250929050565b5f8115159050919050565b6119938161197f565b82525050565b5f6020820190506119ac5f83018461198a565b92915050565b6119bb8161190e565b82525050565b5f6020820190506119d45f8301846119b2565b92915050565b5f805f606084860312156119f1576119f06118b0565b5b5f6119fe868287016118fa565b9350506020611a0f868287016118fa565b9250506040611a208682870161192d565b9150509250925092565b5f60ff82169050919050565b611a3f81611a2a565b82525050565b5f602082019050611a585f830184611a36565b92915050565b5f819050919050565b611a7081611a5e565b82525050565b5f602082019050611a895f830184611a67565b92915050565b5f611a99826118b4565b9050919050565b611aa981611a8f565b8114611ab3575f80fd5b50565b5f81359050611ac481611aa0565b92915050565b5f60208284031215611adf57611ade6118b0565b5b5f611aec84828501611ab6565b91505092915050565b5f60208284031215611b0a57611b096118b0565b5b5f611b17848285016118fa565b91505092915050565b5f60208284031215611b3557611b346118b0565b5b5f611b428482850161192d565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611b7f81611b4b565b82525050565b611b8e816118d3565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611bc68161190e565b82525050565b5f611bd78383611bbd565b60208301905092915050565b5f602082019050919050565b5f611bf982611b94565b611c038185611b9e565b9350611c0e83611bae565b805f5b83811015611c3e578151611c258882611bcc565b9750611c3083611be3565b925050600181019050611c11565b5085935050505092915050565b5f60e082019050611c5e5f83018a611b76565b8181036020830152611c708189611858565b90508181036040830152611c848188611858565b9050611c9360608301876119b2565b611ca06080830186611b85565b611cad60a0830185611a67565b81810360c0830152611cbf8184611bef565b905098975050505050505050565b611cd681611a2a565b8114611ce0575f80fd5b50565b5f81359050611cf181611ccd565b92915050565b611d0081611a5e565b8114611d0a575f80fd5b50565b5f81359050611d1b81611cf7565b92915050565b5f805f805f805f60e0888a031215611d3c57611d3b6118b0565b5b5f611d498a828b016118fa565b9750506020611d5a8a828b016118fa565b9650506040611d6b8a828b0161192d565b9550506060611d7c8a828b0161192d565b9450506080611d8d8a828b01611ce3565b93505060a0611d9e8a828b01611d0d565b92505060c0611daf8a828b01611d0d565b91505092959891949750929550565b5f8060408385031215611dd457611dd36118b0565b5b5f611de1858286016118fa565b9250506020611df2858286016118fa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e338261190e565b9150611e3e8361190e565b9250828202611e4c8161190e565b91508282048414831517611e6357611e62611dfc565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611eae57607f821691505b602082108103611ec157611ec0611e6a565b5b50919050565b5f81905092915050565b50565b5f611edf5f83611ec7565b9150611eea82611ed1565b5f82019050919050565b5f611efe82611ed4565b9150819050919050565b7f4661696c656420746f2073656e642045746865720000000000000000000000005f82015250565b5f611f3c601483611810565b9150611f4782611f08565b602082019050919050565b5f6020820190508181035f830152611f6981611f30565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60c082019050611fb05f830189611a67565b611fbd6020830188611b85565b611fca6040830187611b85565b611fd760608301866119b2565b611fe460808301856119b2565b611ff160a08301846119b2565b979650505050505050565b5f60408201905061200f5f830185611b85565b61201c6020830184611b85565b9392505050565b5f6020820190506120365f830184611b85565b92915050565b5f60608201905061204f5f830186611b85565b61205c60208301856119b2565b61206960408301846119b2565b949350505050565b5f61207b8261190e565b91506120868361190e565b925082820190508082111561209e5761209d611dfc565b5b92915050565b5f60a0820190506120b75f830188611a67565b6120c46020830187611a67565b6120d16040830186611a67565b6120de60608301856119b2565b6120eb6080830184611b85565b9695505050505050565b5f6080820190506121085f830187611a67565b6121156020830186611a36565b6121226040830185611a67565b61212f6060830184611a67565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220b3ebe24eea71c80d9947fc55ddd86ec2360494fda72bea475cd8d13660811dbb64736f6c63430008140033","sourceMap":"132:1269:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;597:33;608:10;620:9;597:10;:33::i;:::-;132:1269;;514:33;525:10;537:9;514:10;:33::i;:::-;132:1269;2074:89:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4293:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3144:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5039:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3002:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2656:112:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;784:235:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1188:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3299:116:21;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;643:135:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2406:143:23;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;208:29:114;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5144:557:37;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;2276:93:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3610:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1680:672:23;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3846:140:21;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1025:157:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1289:110;1357:35;1363:3;1377:14;;1368:6;:23;;;;:::i;:::-;1357:5;:35::i;:::-;1289:110;;:::o;2074:89:21:-;2119:13;2151:5;2144:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89;:::o;4293:186::-;4366:4;4382:13;4398:12;:10;:12::i;:::-;4382:28;;4420:31;4429:5;4436:7;4445:5;4420:8;:31::i;:::-;4468:4;4461:11;;;4293:186;;;;:::o;3144:97::-;3196:7;3222:12;;3215:19;;3144:97;:::o;5039:244::-;5126:4;5142:15;5160:12;:10;:12::i;:::-;5142:30;;5182:37;5198:4;5204:7;5213:5;5182:15;:37::i;:::-;5229:26;5239:4;5245:2;5249:5;5229:9;:26::i;:::-;5272:4;5265:11;;;5039:244;;;;;:::o;3002:82::-;3051:5;3075:2;3068:9;;3002:82;:::o;2656:112:23:-;2715:7;2741:20;:18;:20::i;:::-;2734:27;;2656:112;:::o;784:235:114:-;865:6;851:20;;:10;:20;;;847:44;;880:11;;;;;;;;;;;;;;847:44;902:9;916:8;:13;;938:21;916:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;901:64;;;983:4;975:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;837:182;784:235;:::o;1188:95::-;1246:30;1257:7;1266:9;1246:10;:30::i;:::-;1188:95;:::o;3299:116:21:-;3364:7;3390:9;:18;3400:7;3390:18;;;;;;;;;;;;;;;;3383:25;;3299:116;;;:::o;643:135:114:-;714:6;700:20;;:10;:20;;;696:44;;729:11;;;;;;;;;;;;;;696:44;767:4;750:14;:21;;;;643:135;:::o;2406:143:23:-;2497:7;2523:19;2536:5;2523:12;:19::i;:::-;2516:26;;2406:143;;;:::o;208:29:114:-;;;;:::o;5144:557:37:-;5242:13;5269:18;5301:21;5336:15;5365:25;5404:12;5430:27;5533:13;:11;:13::i;:::-;5560:16;:14;:16::i;:::-;5590:13;5625:4;5652:1;5644:10;;5682:1;5668:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5482:212;;;;;;;;;;;;;;;;;;;;;5144:557;;;;;;;:::o;2276:93:21:-;2323:13;2355:7;2348:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2276:93;:::o;3610:178::-;3679:4;3695:13;3711:12;:10;:12::i;:::-;3695:28;;3733:27;3743:5;3750:2;3754:5;3733:9;:27::i;:::-;3777:4;3770:11;;;3610:178;;;;:::o;1680:672:23:-;1901:8;1883:15;:26;1879:97;;;1956:8;1932:33;;;;;;;;;;;:::i;:::-;;;;;;;;1879:97;1986:18;1022:95;2045:5;2052:7;2061:5;2068:16;2078:5;2068:9;:16::i;:::-;2086:8;2017:78;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2007:89;;;;;;1986:110;;2107:12;2122:28;2139:10;2122:16;:28::i;:::-;2107:43;;2161:14;2178:28;2192:4;2198:1;2201;2204;2178:13;:28::i;:::-;2161:45;;2230:5;2220:15;;:6;:15;;;2216:88;;2279:6;2287:5;2258:35;;;;;;;;;;;;:::i;:::-;;;;;;;;2216:88;2314:31;2323:5;2330:7;2339:5;2314:8;:31::i;:::-;1869:483;;;1680:672;;;;;;;:::o;3846:140:21:-;3926:7;3952:11;:18;3964:5;3952:18;;;;;;;;;;;;;;;:27;3971:7;3952:27;;;;;;;;;;;;;;;;3945:34;;3846:140;;;;:::o;1025:157:114:-;1113:6;1099:20;;:10;:20;;;1095:44;;1128:11;;;;;;;;;;;;;;1095:44;1149:26;1160:7;1169:5;1149:10;:26::i;:::-;1025:157;;:::o;7721:208:21:-;7810:1;7791:21;;:7;:21;;;7787:91;;7864:1;7835:32;;;;;;;;;;;:::i;:::-;;;;;;;;7787:91;7887:35;7903:1;7907:7;7916:5;7887:7;:35::i;:::-;7721:208;;:::o;656:96:31:-;709:7;735:10;728:17;;656:96;:::o;8989:128:21:-;9073:37;9082:5;9089:7;9098:5;9105:4;9073:8;:37::i;:::-;8989:128;;;:::o;10663:477::-;10762:24;10789:25;10799:5;10806:7;10789:9;:25::i;:::-;10762:52;;10848:17;10828:16;:37;10824:310;;10904:5;10885:16;:24;10881:130;;;10963:7;10972:16;10990:5;10936:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;10881:130;11052:57;11061:5;11068:7;11096:5;11077:16;:24;11103:5;11052:8;:57::i;:::-;10824:310;10752:388;10663:477;;;:::o;5656:300::-;5755:1;5739:18;;:4;:18;;;5735:86;;5807:1;5780:30;;;;;;;;;;;:::i;:::-;;;;;;;;5735:86;5848:1;5834:16;;:2;:16;;;5830:86;;5902:1;5873:32;;;;;;;;;;;:::i;:::-;;;;;;;;5830:86;5925:24;5933:4;5939:2;5943:5;5925:7;:24::i;:::-;5656:300;;;:::o;3845:262:37:-;3898:7;3938:11;3921:28;;3929:4;3921:28;;;:63;;;;;3970:14;3953:13;:31;3921:63;3917:184;;;4007:22;4000:29;;;;3917:184;4067:23;:21;:23::i;:::-;4060:30;;3845:262;;:::o;538:107:32:-;598:7;624;:14;632:5;624:14;;;;;;;;;;;;;;;;617:21;;538:107;;;:::o;6021:126:37:-;6067:13;6099:41;6126:13;6099:5;:26;;:41;;;;:::i;:::-;6092:48;;6021:126;:::o;6473:135::-;6522:13;6554:47;6584:16;6554:8;:29;;:47;;;;:::i;:::-;6547:54;;6473:135;:::o;759:395:32:-;819:7;1121;:14;1129:5;1121:14;;;;;;;;;;;;;;;;:16;;;;;;;;;;;;1114:23;;759:395;;;:::o;4917:176:37:-;4994:7;5020:66;5053:20;:18;:20::i;:::-;5075:10;5020:32;:66::i;:::-;5013:73;;4917:176;;;:::o;6803:260:36:-;6888:7;6908:17;6927:18;6947:16;6967:25;6978:4;6984:1;6987;6990;6967:10;:25::i;:::-;6907:85;;;;;;7002:28;7014:5;7021:8;7002:11;:28::i;:::-;7047:9;7040:16;;;;;6803:260;;;;;;:::o;6271:1107:21:-;6376:1;6360:18;;:4;:18;;;6356:540;;6512:5;6496:12;;:21;;;;;;;:::i;:::-;;;;;;;;6356:540;;;6548:19;6570:9;:15;6580:4;6570:15;;;;;;;;;;;;;;;;6548:37;;6617:5;6603:11;:19;6599:115;;;6674:4;6680:11;6693:5;6649:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;6599:115;6866:5;6852:11;:19;6834:9;:15;6844:4;6834:15;;;;;;;;;;;;;;;:37;;;;6534:362;6356:540;6924:1;6910:16;;:2;:16;;;6906:425;;7089:5;7073:12;;:21;;;;;;;;;;;6906:425;;;7301:5;7284:9;:13;7294:2;7284:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;6906:425;7361:2;7346:25;;7355:4;7346:25;;;7365:5;7346:25;;;;;;:::i;:::-;;;;;;;;6271:1107;;;:::o;9949:432::-;10078:1;10061:19;;:5;:19;;;10057:89;;10132:1;10103:32;;;;;;;;;;;:::i;:::-;;;;;;;;10057:89;10178:1;10159:21;;:7;:21;;;10155:90;;10231:1;10203:31;;;;;;;;;;;:::i;:::-;;;;;;;;10155:90;10284:5;10254:11;:18;10266:5;10254:18;;;;;;;;;;;;;;;:27;10273:7;10254:27;;;;;;;;;;;;;;;:35;;;;10303:9;10299:76;;;10349:7;10333:31;;10342:5;10333:31;;;10358:5;10333:31;;;;;;:::i;:::-;;;;;;;;10299:76;9949:432;;;;:::o;4113:179:37:-;4168:7;2079:95;4226:11;4239:14;4255:13;4278:4;4204:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4194:91;;;;;;4187:98;;4113:179;:::o;3385:267:33:-;3479:13;1390:66;3537:17;;3527:5;3508:46;3504:142;;3577:15;3586:5;3577:8;:15::i;:::-;3570:22;;;;3504:142;3630:5;3623:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:267;;;;;:::o;3353:401:38:-;3446:14;3555:4;3549:11;3585:10;3580:3;3573:23;3632:15;3625:4;3620:3;3616:14;3609:39;3684:10;3677:4;3672:3;3668:14;3661:34;3733:4;3728:3;3718:20;3708:30;;3524:224;3353:401;;;;:::o;5140:1530:36:-;5266:7;5275:12;5289:7;6199:66;6194:1;6186:10;;:79;6182:164;;;6297:1;6301:30;6333:1;6281:54;;;;;;;;6182:164;6440:14;6457:24;6467:4;6473:1;6476;6479;6457:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6440:41;;6513:1;6495:20;;:6;:20;;;6491:113;;6547:1;6551:29;6590:1;6582:10;;6531:62;;;;;;;;;6491:113;6622:6;6630:20;6660:1;6652:10;;6614:49;;;;;;;5140:1530;;;;;;;;;:::o;7196:532::-;7291:20;7282:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;7278:444;7327:7;7278:444;7387:29;7378:38;;;;;;;;:::i;:::-;;:5;:38;;;;;;;;:::i;:::-;;;7374:348;;7439:23;;;;;;;;;;;;;;7374:348;7492:35;7483:44;;;;;;;;:::i;:::-;;:5;:44;;;;;;;;:::i;:::-;;;7479:243;;7586:8;7578:17;;7550:46;;;;;;;;;;;:::i;:::-;;;;;;;;7479:243;7626:30;7617:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;7613:109;;7702:8;7679:32;;;;;;;;;;;:::i;:::-;;;;;;;;7613:109;7196:532;;;:::o;2078:405:33:-;2137:13;2162:11;2176:16;2187:4;2176:10;:16::i;:::-;2162:30;;2280:17;2311:2;2300:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2280:34;;2402:3;2397;2390:16;2442:4;2435;2430:3;2426:14;2419:28;2473:3;2466:10;;;;2078:405;;;:::o;2555:245::-;2616:7;2635:14;2688:4;2679;2652:33;;:40;2635:57;;2715:2;2706:6;:11;2702:69;;;2740:20;;;;;;;;;;;;;;2702:69;2787:6;2780:13;;;2555:245;;;:::o;7:99:133:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:77::-;4890:7;4919:5;4908:16;;4853:77;;;:::o;4936:118::-;5023:24;5041:5;5023:24;:::i;:::-;5018:3;5011:37;4936:118;;:::o;5060:222::-;5153:4;5191:2;5180:9;5176:18;5168:26;;5204:71;5272:1;5261:9;5257:17;5248:6;5204:71;:::i;:::-;5060:222;;;;:::o;5288:104::-;5333:7;5362:24;5380:5;5362:24;:::i;:::-;5351:35;;5288:104;;;:::o;5398:138::-;5479:32;5505:5;5479:32;:::i;:::-;5472:5;5469:43;5459:71;;5526:1;5523;5516:12;5459:71;5398:138;:::o;5542:155::-;5596:5;5634:6;5621:20;5612:29;;5650:41;5685:5;5650:41;:::i;:::-;5542:155;;;;:::o;5703:345::-;5770:6;5819:2;5807:9;5798:7;5794:23;5790:32;5787:119;;;5825:79;;:::i;:::-;5787:119;5945:1;5970:61;6023:7;6014:6;6003:9;5999:22;5970:61;:::i;:::-;5960:71;;5916:125;5703:345;;;;:::o;6054:329::-;6113:6;6162:2;6150:9;6141:7;6137:23;6133:32;6130:119;;;6168:79;;:::i;:::-;6130:119;6288:1;6313:53;6358:7;6349:6;6338:9;6334:22;6313:53;:::i;:::-;6303:63;;6259:117;6054:329;;;;:::o;6389:::-;6448:6;6497:2;6485:9;6476:7;6472:23;6468:32;6465:119;;;6503:79;;:::i;:::-;6465:119;6623:1;6648:53;6693:7;6684:6;6673:9;6669:22;6648:53;:::i;:::-;6638:63;;6594:117;6389:329;;;;:::o;6724:149::-;6760:7;6800:66;6793:5;6789:78;6778:89;;6724:149;;;:::o;6879:115::-;6964:23;6981:5;6964:23;:::i;:::-;6959:3;6952:36;6879:115;;:::o;7000:118::-;7087:24;7105:5;7087:24;:::i;:::-;7082:3;7075:37;7000:118;;:::o;7124:114::-;7191:6;7225:5;7219:12;7209:22;;7124:114;;;:::o;7244:184::-;7343:11;7377:6;7372:3;7365:19;7417:4;7412:3;7408:14;7393:29;;7244:184;;;;:::o;7434:132::-;7501:4;7524:3;7516:11;;7554:4;7549:3;7545:14;7537:22;;7434:132;;;:::o;7572:108::-;7649:24;7667:5;7649:24;:::i;:::-;7644:3;7637:37;7572:108;;:::o;7686:179::-;7755:10;7776:46;7818:3;7810:6;7776:46;:::i;:::-;7854:4;7849:3;7845:14;7831:28;;7686:179;;;;:::o;7871:113::-;7941:4;7973;7968:3;7964:14;7956:22;;7871:113;;;:::o;8020:732::-;8139:3;8168:54;8216:5;8168:54;:::i;:::-;8238:86;8317:6;8312:3;8238:86;:::i;:::-;8231:93;;8348:56;8398:5;8348:56;:::i;:::-;8427:7;8458:1;8443:284;8468:6;8465:1;8462:13;8443:284;;;8544:6;8538:13;8571:63;8630:3;8615:13;8571:63;:::i;:::-;8564:70;;8657:60;8710:6;8657:60;:::i;:::-;8647:70;;8503:224;8490:1;8487;8483:9;8478:14;;8443:284;;;8447:14;8743:3;8736:10;;8144:608;;;8020:732;;;;:::o;8758:1215::-;9107:4;9145:3;9134:9;9130:19;9122:27;;9159:69;9225:1;9214:9;9210:17;9201:6;9159:69;:::i;:::-;9275:9;9269:4;9265:20;9260:2;9249:9;9245:18;9238:48;9303:78;9376:4;9367:6;9303:78;:::i;:::-;9295:86;;9428:9;9422:4;9418:20;9413:2;9402:9;9398:18;9391:48;9456:78;9529:4;9520:6;9456:78;:::i;:::-;9448:86;;9544:72;9612:2;9601:9;9597:18;9588:6;9544:72;:::i;:::-;9626:73;9694:3;9683:9;9679:19;9670:6;9626:73;:::i;:::-;9709;9777:3;9766:9;9762:19;9753:6;9709:73;:::i;:::-;9830:9;9824:4;9820:20;9814:3;9803:9;9799:19;9792:49;9858:108;9961:4;9952:6;9858:108;:::i;:::-;9850:116;;8758:1215;;;;;;;;;;:::o;9979:118::-;10050:22;10066:5;10050:22;:::i;:::-;10043:5;10040:33;10030:61;;10087:1;10084;10077:12;10030:61;9979:118;:::o;10103:135::-;10147:5;10185:6;10172:20;10163:29;;10201:31;10226:5;10201:31;:::i;:::-;10103:135;;;;:::o;10244:122::-;10317:24;10335:5;10317:24;:::i;:::-;10310:5;10307:35;10297:63;;10356:1;10353;10346:12;10297:63;10244:122;:::o;10372:139::-;10418:5;10456:6;10443:20;10434:29;;10472:33;10499:5;10472:33;:::i;:::-;10372:139;;;;:::o;10517:1199::-;10628:6;10636;10644;10652;10660;10668;10676;10725:3;10713:9;10704:7;10700:23;10696:33;10693:120;;;10732:79;;:::i;:::-;10693:120;10852:1;10877:53;10922:7;10913:6;10902:9;10898:22;10877:53;:::i;:::-;10867:63;;10823:117;10979:2;11005:53;11050:7;11041:6;11030:9;11026:22;11005:53;:::i;:::-;10995:63;;10950:118;11107:2;11133:53;11178:7;11169:6;11158:9;11154:22;11133:53;:::i;:::-;11123:63;;11078:118;11235:2;11261:53;11306:7;11297:6;11286:9;11282:22;11261:53;:::i;:::-;11251:63;;11206:118;11363:3;11390:51;11433:7;11424:6;11413:9;11409:22;11390:51;:::i;:::-;11380:61;;11334:117;11490:3;11517:53;11562:7;11553:6;11542:9;11538:22;11517:53;:::i;:::-;11507:63;;11461:119;11619:3;11646:53;11691:7;11682:6;11671:9;11667:22;11646:53;:::i;:::-;11636:63;;11590:119;10517:1199;;;;;;;;;;:::o;11722:474::-;11790:6;11798;11847:2;11835:9;11826:7;11822:23;11818:32;11815:119;;;11853:79;;:::i;:::-;11815:119;11973:1;11998:53;12043:7;12034:6;12023:9;12019:22;11998:53;:::i;:::-;11988:63;;11944:117;12100:2;12126:53;12171:7;12162:6;12151:9;12147:22;12126:53;:::i;:::-;12116:63;;12071:118;11722:474;;;;;:::o;12202:180::-;12250:77;12247:1;12240:88;12347:4;12344:1;12337:15;12371:4;12368:1;12361:15;12388:410;12428:7;12451:20;12469:1;12451:20;:::i;:::-;12446:25;;12485:20;12503:1;12485:20;:::i;:::-;12480:25;;12540:1;12537;12533:9;12562:30;12580:11;12562:30;:::i;:::-;12551:41;;12741:1;12732:7;12728:15;12725:1;12722:22;12702:1;12695:9;12675:83;12652:139;;12771:18;;:::i;:::-;12652:139;12436:362;12388:410;;;;:::o;12804:180::-;12852:77;12849:1;12842:88;12949:4;12946:1;12939:15;12973:4;12970:1;12963:15;12990:320;13034:6;13071:1;13065:4;13061:12;13051:22;;13118:1;13112:4;13108:12;13139:18;13129:81;;13195:4;13187:6;13183:17;13173:27;;13129:81;13257:2;13249:6;13246:14;13226:18;13223:38;13220:84;;13276:18;;:::i;:::-;13220:84;13041:269;12990:320;;;:::o;13316:147::-;13417:11;13454:3;13439:18;;13316:147;;;;:::o;13469:114::-;;:::o;13589:398::-;13748:3;13769:83;13850:1;13845:3;13769:83;:::i;:::-;13762:90;;13861:93;13950:3;13861:93;:::i;:::-;13979:1;13974:3;13970:11;13963:18;;13589:398;;;:::o;13993:379::-;14177:3;14199:147;14342:3;14199:147;:::i;:::-;14192:154;;14363:3;14356:10;;13993:379;;;:::o;14378:170::-;14518:22;14514:1;14506:6;14502:14;14495:46;14378:170;:::o;14554:366::-;14696:3;14717:67;14781:2;14776:3;14717:67;:::i;:::-;14710:74;;14793:93;14882:3;14793:93;:::i;:::-;14911:2;14906:3;14902:12;14895:19;;14554:366;;;:::o;14926:419::-;15092:4;15130:2;15119:9;15115:18;15107:26;;15179:9;15173:4;15169:20;15165:1;15154:9;15150:17;15143:47;15207:131;15333:4;15207:131;:::i;:::-;15199:139;;14926:419;;;:::o;15351:180::-;15399:77;15396:1;15389:88;15496:4;15493:1;15486:15;15520:4;15517:1;15510:15;15537:775;15770:4;15808:3;15797:9;15793:19;15785:27;;15822:71;15890:1;15879:9;15875:17;15866:6;15822:71;:::i;:::-;15903:72;15971:2;15960:9;15956:18;15947:6;15903:72;:::i;:::-;15985;16053:2;16042:9;16038:18;16029:6;15985:72;:::i;:::-;16067;16135:2;16124:9;16120:18;16111:6;16067:72;:::i;:::-;16149:73;16217:3;16206:9;16202:19;16193:6;16149:73;:::i;:::-;16232;16300:3;16289:9;16285:19;16276:6;16232:73;:::i;:::-;15537:775;;;;;;;;;:::o;16318:332::-;16439:4;16477:2;16466:9;16462:18;16454:26;;16490:71;16558:1;16547:9;16543:17;16534:6;16490:71;:::i;:::-;16571:72;16639:2;16628:9;16624:18;16615:6;16571:72;:::i;:::-;16318:332;;;;;:::o;16656:222::-;16749:4;16787:2;16776:9;16772:18;16764:26;;16800:71;16868:1;16857:9;16853:17;16844:6;16800:71;:::i;:::-;16656:222;;;;:::o;16884:442::-;17033:4;17071:2;17060:9;17056:18;17048:26;;17084:71;17152:1;17141:9;17137:17;17128:6;17084:71;:::i;:::-;17165:72;17233:2;17222:9;17218:18;17209:6;17165:72;:::i;:::-;17247;17315:2;17304:9;17300:18;17291:6;17247:72;:::i;:::-;16884:442;;;;;;:::o;17332:191::-;17372:3;17391:20;17409:1;17391:20;:::i;:::-;17386:25;;17425:20;17443:1;17425:20;:::i;:::-;17420:25;;17468:1;17465;17461:9;17454:16;;17489:3;17486:1;17483:10;17480:36;;;17496:18;;:::i;:::-;17480:36;17332:191;;;;:::o;17529:664::-;17734:4;17772:3;17761:9;17757:19;17749:27;;17786:71;17854:1;17843:9;17839:17;17830:6;17786:71;:::i;:::-;17867:72;17935:2;17924:9;17920:18;17911:6;17867:72;:::i;:::-;17949;18017:2;18006:9;18002:18;17993:6;17949:72;:::i;:::-;18031;18099:2;18088:9;18084:18;18075:6;18031:72;:::i;:::-;18113:73;18181:3;18170:9;18166:19;18157:6;18113:73;:::i;:::-;17529:664;;;;;;;;:::o;18199:545::-;18372:4;18410:3;18399:9;18395:19;18387:27;;18424:71;18492:1;18481:9;18477:17;18468:6;18424:71;:::i;:::-;18505:68;18569:2;18558:9;18554:18;18545:6;18505:68;:::i;:::-;18583:72;18651:2;18640:9;18636:18;18627:6;18583:72;:::i;:::-;18665;18733:2;18722:9;18718:18;18709:6;18665:72;:::i;:::-;18199:545;;;;;;;:::o;18750:180::-;18798:77;18795:1;18788:88;18895:4;18892:1;18885:15;18919:4;18916:1;18909:15","linkReferences":{},"immutableReferences":{"63335":[{"start":1429,"length":32},{"start":1816,"length":32},{"start":2780,"length":32}],"8316":[{"start":3593,"length":32}],"8318":[{"start":3552,"length":32}],"8320":[{"start":3466,"length":32}],"8322":[{"start":5023,"length":32}],"8324":[{"start":5056,"length":32}],"8327":[{"start":3724,"length":32}],"8330":[{"start":3783,"length":32}]}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","changeRate(uint256)":"74e7493b","conversionRate()":"7ffdf53e","decimals()":"313ce567","eip712Domain()":"84b0196e","mint(address)":"6a627842","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","superMint(address,uint256)":"fa6171e4","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(address)":"51cff8d9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOwner\",\"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\":[],\"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\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"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\":\"value\",\"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\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"changeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"conversionRate\",\"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\":\"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\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"superMint\",\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"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.\"},\"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\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` 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}.\"},\"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}.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"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 `value`.\"},\"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 `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/mocks/Reserve.sol\":\"Reserve\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/\",\":@uniswap-v2-core/=dependencies/@uniswap-v2-core-1.0.1/contracts/\",\":forge-std-1.9.2/=dependencies/forge-std-1.9.2/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229\",\"dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xc858a86a35701004d89022a5e98819aac46ccbdc4072fc9dd43928a676b1a2ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18acebb483c512c0eaafcb437f09c839972c3f0d36f0201ea7baa2926b987dd2\",\"dweb:/ipfs/Qmd9bf2noaDSYDtf6FMSzKu7LPhuf91jsVNmcoCuTCuGic\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d\",\"dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/ShortStrings.sol\":{\"keccak256\":\"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c\",\"dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c\",\"dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21\",\"dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c\",\"dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"src/mocks/Reserve.sol\":{\"keccak256\":\"0x0f88da39c2ee6c069ca18d7dcead613206de32b728ca2d88c59bf11f41679b5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8d153b513ce50ad4089ccc18f114cf2b9eb3fee71c9c8ae46e043c25ac491e\",\"dweb:/ipfs/QmerGskR8T7VxSqbFgd8Jo6B78mei9AUuLg5wtuKoCrXsV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"rate","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ECDSAInvalidSignature"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"ECDSAInvalidSignatureLength"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"type":"error","name":"ECDSAInvalidSignatureS"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"type":"error","name":"ERC2612ExpiredSignature"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC2612InvalidSigner"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[],"type":"error","name":"OnlyOwner"},{"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":[],"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":"payable","type":"fallback"},{"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":"value","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":"uint256","name":"rate","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"changeRate"},{"inputs":[],"stateMutability":"view","type":"function","name":"conversionRate","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":"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":"address","name":"account","type":"address"}],"stateMutability":"payable","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":"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"superMint"},{"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":"value","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":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address payable","name":"receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` 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}."},"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}."},"eip712Domain()":{"details":"See {IERC-5267}."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above."},"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 `value`."},"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 `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/","@uniswap-v2-core/=dependencies/@uniswap-v2-core-1.0.1/contracts/","forge-std-1.9.2/=dependencies/forge-std-1.9.2/","forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/mocks/Reserve.sol":"Reserve"},"evmVersion":"shanghai","libraries":{}},"sources":{"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/ERC20.sol":{"keccak256":"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80","urls":["bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229","dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0xc858a86a35701004d89022a5e98819aac46ccbdc4072fc9dd43928a676b1a2ee","urls":["bzz-raw://18acebb483c512c0eaafcb437f09c839972c3f0d36f0201ea7baa2926b987dd2","dweb:/ipfs/Qmd9bf2noaDSYDtf6FMSzKu7LPhuf91jsVNmcoCuTCuGic"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff","urls":["bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d","dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Nonces.sol":{"keccak256":"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f","urls":["bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e","dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/ShortStrings.sol":{"keccak256":"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6","urls":["bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c","dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/StorageSlot.sol":{"keccak256":"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418","urls":["bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c","dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/ECDSA.sol":{"keccak256":"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf","urls":["bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c","dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/EIP712.sol":{"keccak256":"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0","urls":["bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21","dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435","urls":["bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c","dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"src/mocks/Reserve.sol":{"keccak256":"0x0f88da39c2ee6c069ca18d7dcead613206de32b728ca2d88c59bf11f41679b5a","urls":["bzz-raw://ba8d153b513ce50ad4089ccc18f114cf2b9eb3fee71c9c8ae46e043c25ac491e","dweb:/ipfs/QmerGskR8T7VxSqbFgd8Jo6B78mei9AUuLg5wtuKoCrXsV"],"license":"MIT"}},"version":1},"id":114} |