{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","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":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234601557611353908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde0314610eaa57508063095ea7b314610e075780631624f6c6146108e057806318160ddd146108a557806323b872dd14610768578063313ce5671461072a5780633644e515146106ea57806370a08231146106875780637ecebe001461062457806395d89b411461050e578063a9059cbb1461043f578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e2610faf565b73ffffffffffffffffffffffffffffffffffffffff6100ff610fd2565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757610172610faf565b61017a610fd2565b604435606435916084359260ff8416809403610137574281106103e15773ffffffffffffffffffffffffffffffffffffffff6101b46110fb565b951693845f52600860205260405f20908154967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88146103b4576020945f9460809460018b0190556040519073ffffffffffffffffffffffffffffffffffffffff888301937f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c985528b6040850152169a8b6060840152898784015260a083015260c082015260c0815261026860e082610ff5565b51902060405190868201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526102af606282610ff5565b519020906040519182528482015260a435604082015260c435606082015282805260015afa156103a95773ffffffffffffffffffffffffffffffffffffffff5f5116801515806103a0575b15610342577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925916020915f526005825260405f20855f5282528060405f2055604051908152a3005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b508281146102fa565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757610476610faf565b73ffffffffffffffffffffffffffffffffffffffff60243591335f5260046020526104a58360405f2054611262565b335f52600460205260405f20551690815f5260046020526104ca8160405f20546112d4565b825f52600460205260405f20556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60015461054c816110aa565b80845290600181169081156105e25750600114610584575b6105808361057481850382610ff5565b60405191829182610f67565b0390f35b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b8082106105c857509091508101602001610574610564565b9192600181602092548385880101520191019092916105b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506105749050610564565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff610670610faf565b165f526008602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6106d3610faf565b165f526004602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375760206107226110fb565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060ff60025416604051908152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761079f610faf565b6107a7610fd2565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff80604435951693845f526005835260405f208233165f52835260405f2054867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087e575b5050845f526004835261083d8660405f2054611262565b855f526004845260405f20551693845f52600482526108608160405f20546112d4565b855f526004835260405f2055604051908152a3602060405160018152f35b61088791611262565b855f526005845260405f208333165f52845260405f20558686610826565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600354604051908152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375760043567ffffffffffffffff81116101375761092f903690600401611036565b60243567ffffffffffffffff81116101375761094f903690600401611036565b60443560ff81168091036101375760ff60095416610da957825167ffffffffffffffff8111610c15576109825f546110aa565b601f8111610d09575b506020601f8211600114610c4d57819293945f92610c42575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916175f555b815167ffffffffffffffff8111610c15576109f26001546110aa565b601f8111610b74575b50602092601f8211600114610ab857928192935f92610aad575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176001555b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254161760025546600655610a7d611115565b600755600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b015190508380610a15565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082169360015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f5b868110610b5c5750836001959610610b25575b505050811b01600155610a48565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055838080610b17565b91926020600181928685015181550194019201610b04565b60015f52601f820160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6019060208310610bed575b601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905b818110610be257506109fb565b5f8155600101610bd5565b7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69150610bab565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b0151905084806109a4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216905f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563915f5b818110610cf157509583600195969710610cba575b505050811b015f556109d6565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055848080610cad565b9192602060018192868b015181550194019201610c98565b5f8052601f820160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563019060208310610d81575b601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301905b818110610d76575061098b565b5f8155600101610d69565b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639150610d3f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a4544000000000000000000000000006044820152fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757610e3e610faf565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f8054610ee4816110aa565b80845290600181169081156105e25750600114610f0b576105808361057481850382610ff5565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b808210610f4d57509091508101602001610574610564565b919260018160209254838588010152019101909291610f35565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c1557604052565b81601f820112156101375780359067ffffffffffffffff8211610c15576040519261108960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160185610ff5565b8284526020838301011161013757815f926020809301838601378301015290565b90600182811c921680156110f1575b60208310146110c457565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916110b9565b600654460361110a5760075490565b611112611115565b90565b6040515f905f549181611127846110aa565b9182825260208201946001811690815f1461122857506001146111cb575b61115192500382610ff5565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a081526111c560c082610ff5565b51902090565b505f80805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b81831061120c57505090602061115192820101611145565b60209193508060019154838588010152019101909183926111f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686525061115192151560051b82016020019050611145565b908082106112765781039081116103b45790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152fd5b908101908181116103b45781106112e85790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152fdfea164736f6c634300081a000a","sourceMap":"369:7950:20:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde0314610eaa57508063095ea7b314610e075780631624f6c6146108e057806318160ddd146108a557806323b872dd14610768578063313ce5671461072a5780633644e515146106ea57806370a08231146106875780637ecebe001461062457806395d89b411461050e578063a9059cbb1461043f578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e2610faf565b73ffffffffffffffffffffffffffffffffffffffff6100ff610fd2565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757610172610faf565b61017a610fd2565b604435606435916084359260ff8416809403610137574281106103e15773ffffffffffffffffffffffffffffffffffffffff6101b46110fb565b951693845f52600860205260405f20908154967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88146103b4576020945f9460809460018b0190556040519073ffffffffffffffffffffffffffffffffffffffff888301937f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c985528b6040850152169a8b6060840152898784015260a083015260c082015260c0815261026860e082610ff5565b51902060405190868201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526102af606282610ff5565b519020906040519182528482015260a435604082015260c435606082015282805260015afa156103a95773ffffffffffffffffffffffffffffffffffffffff5f5116801515806103a0575b15610342577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925916020915f526005825260405f20855f5282528060405f2055604051908152a3005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b508281146102fa565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757610476610faf565b73ffffffffffffffffffffffffffffffffffffffff60243591335f5260046020526104a58360405f2054611262565b335f52600460205260405f20551690815f5260046020526104ca8160405f20546112d4565b825f52600460205260405f20556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60015461054c816110aa565b80845290600181169081156105e25750600114610584575b6105808361057481850382610ff5565b60405191829182610f67565b0390f35b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b8082106105c857509091508101602001610574610564565b9192600181602092548385880101520191019092916105b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506105749050610564565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff610670610faf565b165f526008602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6106d3610faf565b165f526004602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375760206107226110fb565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060ff60025416604051908152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761079f610faf565b6107a7610fd2565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff80604435951693845f526005835260405f208233165f52835260405f2054867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087e575b5050845f526004835261083d8660405f2054611262565b855f526004845260405f20551693845f52600482526108608160405f20546112d4565b855f526004835260405f2055604051908152a3602060405160018152f35b61088791611262565b855f526005845260405f208333165f52845260405f20558686610826565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600354604051908152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375760043567ffffffffffffffff81116101375761092f903690600401611036565b60243567ffffffffffffffff81116101375761094f903690600401611036565b60443560ff81168091036101375760ff60095416610da957825167ffffffffffffffff8111610c15576109825f546110aa565b601f8111610d09575b506020601f8211600114610c4d57819293945f92610c42575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916175f555b815167ffffffffffffffff8111610c15576109f26001546110aa565b601f8111610b74575b50602092601f8211600114610ab857928192935f92610aad575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176001555b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254161760025546600655610a7d611115565b600755600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b015190508380610a15565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082169360015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f5b868110610b5c5750836001959610610b25575b505050811b01600155610a48565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055838080610b17565b91926020600181928685015181550194019201610b04565b60015f52601f820160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6019060208310610bed575b601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905b818110610be257506109fb565b5f8155600101610bd5565b7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69150610bab565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b0151905084806109a4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216905f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563915f5b818110610cf157509583600195969710610cba575b505050811b015f556109d6565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055848080610cad565b9192602060018192868b015181550194019201610c98565b5f8052601f820160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563019060208310610d81575b601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301905b818110610d76575061098b565b5f8155600101610d69565b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639150610d3f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a4544000000000000000000000000006044820152fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757610e3e610faf565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f8054610ee4816110aa565b80845290600181169081156105e25750600114610f0b576105808361057481850382610ff5565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b808210610f4d57509091508101602001610574610564565b919260018160209254838588010152019101909291610f35565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c1557604052565b81601f820112156101375780359067ffffffffffffffff8211610c15576040519261108960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160185610ff5565b8284526020838301011161013757815f926020809301838601378301015290565b90600182811c921680156110f1575b60208310146110c457565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916110b9565b600654460361110a5760075490565b611112611115565b90565b6040515f905f549181611127846110aa565b9182825260208201946001811690815f1461122857506001146111cb575b61115192500382610ff5565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a081526111c560c082610ff5565b51902090565b505f80805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b81831061120c57505090602061115192820101611145565b60209193508060019154838588010152019101909183926111f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686525061115192151560051b82016020019050611145565b908082106112765781039081116103b45790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152fd5b908101908181116103b45781106112e85790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152fdfea164736f6c634300081a000a","sourceMap":"369:7950:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;1659:10;369:7950;;;;;;1659:26;369:7950;-1:-1:-1;369:7950:20;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;4416:15;4404:27;;369:7950;;;4617:18;;:::i;:::-;369:7950;;;;;;5026:6;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:413;369:7950;4692:413;;;369:7950;4732:157;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:413;;;369:7950;4692:413;;:::i;:::-;369:7950;4657:470;;369:7950;;4547:598;;;;369:7950;;;;;;;;;;;;;4547:598;;;;;;:::i;:::-;369:7950;4520:639;;369:7950;;;;;;;;;;;;;;;;;;;;;;4497:717;;;369:7950;4497:717;;;;;369:7950;;4497:717;369:7950;5233:30;;;:59;;;369:7950;;;;5383:31;369:7950;;;;;5322:10;369:7950;;;;;;-1:-1:-1;369:7950:20;;;;;-1:-1:-1;369:7950:20;;;;;;;5383:31;369:7950;;;;;;;;;;;;;;;;;;;;;;;;5233:59;5267:25;;;;5233:59;;4497:717;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3420:10;;369:7950;;;;;3404:36;369:7950;;;;;3404:36;:::i;:::-;3420:10;369:7950;;;;;;;;;;;;;;;;;3467:28;369:7950;;;;;3467:28;:::i;:::-;369:7950;;;;;;;;;;;;;;;3511:32;369:7950;3420:10;3511:32;;369:7950;;;;;;;;;;;;;;;;;;;;;857:7;369:7950;;;;:::i;:::-;;;;;857:7;369:7950;;;857:7;;;;369:7950;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;857:7;369:7950;;;;;;;;;;;;-1:-1:-1;369:7950:20;;-1:-1:-1;369:7950:20;;;;;;;;;;857:7;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:20;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;;;:::i;:::-;;;;1970:41;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;953:9;369:7950;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;3995:26;369:7950;;;;;;;;;;;3709:10;369:7950;;;;;3726:10;;369:7950;-1:-1:-1;369:7950:20;;;;-1:-1:-1;369:7950:20;;3788:22;3799:11;3788:22;;3784:80;;369:7950;;;;;;;;;3894:30;369:7950;;;;;3894:30;:::i;:::-;369:7950;;;;;;;;;;;;;;;;;;3951:28;369:7950;;;;;3951:28;:::i;:::-;369:7950;;;;;;;;;;;;;;;3995:26;369:7950;;;;;;;3784:80;3843:21;;;:::i;:::-;369:7950;;;3709:10;369:7950;;;;;3726:10;;369:7950;-1:-1:-1;369:7950:20;;;;-1:-1:-1;369:7950:20;;3784:80;;;;369:7950;;;;;;;;;;;;1403:12;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;2611:11;369:7950;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2680:17;369:7950;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2680:17;369:7950;;;;;;;;2680:17;369:7950;;;2707:21;369:7950;;;2707:21;369:7950;7884:53;2739:33;369:7950;2809:24;;:::i;:::-;2782:51;369:7950;2611:11;369:7950;;;;2680:17;369:7950;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;2680:17;369:7950;;;;;;;;;;;;;2680:17;369:7950;;;;;;;;;;;;2680:17;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;2680:17;369:7950;;;;;;;;;;;;;;;;2680:17;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2680:17;369:7950;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3167:10;;369:7950;;3156:10;369:7950;;;;;;;;-1:-1:-1;369:7950:20;;;;;-1:-1:-1;369:7950:20;;;;;;;;3167:10;3212:37;369:7950;3167:10;3212:37;;369:7950;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;-1:-1:-1;369:7950:20;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;5427:178;5528:16;369:7950;7884:53;5510:34;:88;;5547:24;369:7950;5427:178;:::o;5510:88::-;5574:24;;:::i;:::-;5427:178;:::o;5611:404::-;369:7950;;5882:5;369:7950;5882:5;369:7950;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5866:23;;369:7950;;;5725:273;;369:7950;5753:95;369:7950;;;;;;5907:14;369:7950;;;;7884:53;369:7950;;;;5979:4;369:7950;;;;;5725:273;;;;;;:::i;:::-;369:7950;5702:306;;5611:404;:::o;369:7950::-;-1:-1:-1;5882:5:20;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;;-1:-1:-1;369:7950:20;;7038:154;;7124:6;;;369:7950;;;;;;;;;7038:154;:::o;369:7950::-;;;;;;;;;;;;;;;;;;;;;;;6859:173;;369:7950;;;;;;;;6972:6;;369:7950;;6859:173;:::o;369:7950::-;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/v4-core/lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/\",\":@uniswap/v4-core/=lib/v4-core/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/v4-core/lib/forge-std/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/src/\"],\"viaIR\":true},\"sources\":{\"lib/v4-core/lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/v4-core/lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","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":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@ensdomains/=lib/v4-core/node_modules/@ensdomains/","@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/","@uniswap/v4-core/=lib/v4-core/","ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/v4-core/lib/forge-std/src/","hardhat/=lib/v4-core/node_modules/hardhat/","openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/","permit2/=lib/permit2/","solmate/=lib/v4-core/lib/solmate/","v4-core/=lib/v4-core/src/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/v4-core/lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/v4-core/lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/v4-core/lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"id":20}