{"matchId":"5961601","creationMatch":"exact_match","runtimeMatch":"exact_match","verifiedAt":"2025-01-23T20:19:59Z","creationBytecode":{"onchainBytecode":"0x60e080604052346104f45760208161110f803803809161001f82856104f9565b8339810103126104f457516001600160a01b038116908190036104f4576040519061004b6040836104f9565b600c82526b2b32b734b1b2902a37b5b2b760a11b6020830152604051906100736040836104f9565b60038252622b2b2b60e91b602083015282516001600160401b03811161041b5761009e60005461051c565b601f81116104a2575b506020601f821160011461043c5781929394600092610431575b50508160011b916000199060031b1c1916176000555b81516001600160401b03811161041b576100f260015461051c565b601f81116103b6575b50602092601f82116001146103515792819293600092610346575b50508160011b916000199060031b1c1916176001555b60126080524660a05260405160009060005491816101498461051c565b91828252602082019460018116908160001461032a57506001146102de575b610174925003826104f9565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a081526101e860c0826104f9565b51902060c052600680546001600160a01b031916339081179091556040519060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a360ff60805116604d81116102c857600a0a806305f5e10002906305f5e1008204036102c8576002548181018091116102c8576000927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855260038352604085208181540190558152a3604051610b989081610557823960805181610685015260a051816109aa015260c051816109d10152f35b634e487b7160e01b600052601160045260246000fd5b50600080805290916000805160206110ef8339815191525b81831061030e57505090602061017492820101610168565b60209193508060019154838588010152019101909183926102f6565b60ff191686525061017492151560051b82016020019050610168565b015190503880610116565b601f198216936001600052806000209160005b86811061039e5750836001959610610385575b505050811b0160015561012c565b015160001960f88460031b161c19169055388080610377565b91926020600181928685015181550194019201610364565b60016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c81019160208410610411575b601f0160051c01905b81811061040557506100fb565b600081556001016103f8565b90915081906103ef565b634e487b7160e01b600052604160045260246000fd5b0151905038806100c1565b601f1982169060008052806000209160005b81811061048a57509583600195969710610471575b505050811b016000556100d7565b015160001960f88460031b161c19169055388080610463565b9192602060018192868b01518155019401920161044e565b600080526000805160206110ef833981519152601f830160051c810191602084106104ea575b601f0160051c01905b8181106104de57506100a7565b600081556001016104d1565b90915081906104c8565b600080fd5b601f909101601f19168101906001600160401b0382119082101761041b57604052565b90600182811c9216801561054c575b602083101461053657565b634e487b7160e01b600052602260045260246000fd5b91607f169161052b56fe6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610829578063095ea7b3146107af57806318160ddd1461079157806323b872dd146106a9578063313ce5671461066b5780633644e5151461064857806340c10f19146105a557806370a082311461056b5780637ecebe00146105315780638da5cb5b1461050857806395d89b4114610428578063a9059cbb1461039c578063d505accf1461018b578063dd62ed3e1461013a5763f2fde38b146100c157600080fd5b34610135576020366003190112610135576100da61096c565b600654906100f2336001600160a01b03841614610b27565b6001600160a01b03166001600160a01b0319919091168117600655337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b600080fd5b346101355760403660031901126101355761015361096c565b61015b610982565b6001600160a01b039182166000908152600460209081526040808320949093168252928352819020549051908152f35b346101355760e0366003190112610135576101a461096c565b6101ac610982565b6044356064359260843560ff8116809103610135574285106103575760806000916020936101d86109a5565b9060018060a01b03169687855260058652604085209889549960018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c0815261025560e0826108eb565b519020604051908682019261190160f01b845260228301526042820152604281526102816062826108eb565b519020906040519182528482015260a435604082015260c435606082015282805260015afa1561034b576000516001600160a01b031680151580610342575b1561030c577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259160209160005260048252604060002085600052825280604060002055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b508281146102c0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b34610135576040366003190112610135576103b561096c565b6024359033600052600360205260406000206103d2838254610998565b905560018060a01b03169081600052600360205260406000208181540190556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b34610135576000366003190112610135576040516001546000908161044c826108b1565b80855291600181169081156104e15750600114610484575b61048084610474818603826108eb565b60405191829182610923565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106104c75750909150810160200161047482610464565b9192600181602092548385880101520191019092916104ae565b60ff191660208087019190915292151560051b850190920192506104749150839050610464565b34610135576000366003190112610135576006546040516001600160a01b039091168152602090f35b34610135576020366003190112610135576001600160a01b0361055261096c565b1660005260056020526020604060002054604051908152f35b34610135576020366003190112610135576001600160a01b0361058c61096c565b1660005260036020526020604060002054604051908152f35b34610135576040366003190112610135576105be61096c565b602435906105d760018060a01b03600654163314610b27565b600254908282018092116106325760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160009360025560018060a01b0316938484526003825260408420818154019055604051908152a3005b634e487b7160e01b600052601160045260246000fd5b346101355760003660031901126101355760206106636109a5565b604051908152f35b3461013557600036600319011261013557602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610135576060366003190112610135576106c261096c565b6106ca610982565b6001600160a01b039091166000818152600460209081526040808320338452825290912054604435937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9291856001820161076b575b50508360005260038252604060002061073a868254610998565b90556001600160a01b03166000818152600383526040908190208054870190555194855293a3602060405160018152f35b61077491610998565b600085815260048452604080822033835285529020558585610720565b34610135576000366003190112610135576020600254604051908152f35b34610135576040366003190112610135576107c861096c565b3360008181526004602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b3461013557600036600319011261013557604051600080548161084b826108b1565b80855291600181169081156104e157506001146108725761048084610474818603826108eb565b80805260208120939250905b8082106108975750909150810160200161047482610464565b91926001816020925483858801015201910190929161087e565b90600182811c921680156108e1575b60208310146108cb57565b634e487b7160e01b600052602260045260246000fd5b91607f16916108c0565b90601f8019910116810190811067ffffffffffffffff82111761090d57604052565b634e487b7160e01b600052604160045260246000fd5b91909160208152825180602083015260005b818110610956575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610935565b600435906001600160a01b038216820361013557565b602435906001600160a01b038216820361013557565b9190820391821161063257565b6000467f0000000000000000000000000000000000000000000000000000000000000000036109f357507f000000000000000000000000000000000000000000000000000000000000000090565b6040518181815493610a04856108b1565b928383526020830195600181169081600014610b085750600114610aaa575b50610a30925003826108eb565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610aa460c0826108eb565b51902090565b808093949250527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610aec575050906020610a309282010138610a23565b6020919350806001915483858801015201910190918392610ad3565b60ff1916875250610a3093151560051b83016020019150389050610a23565b15610b2e57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fdfea26469706673582212207e2a36ee93cbb0bcf2d067042b58be95c03536e02695a0cdafbfd86eb38f7cba64736f6c634300081a0033290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630000000000000000000000002d8cb8dc596dad0e1e34e2042e7ae6df93b11524","recompiledBytecode":"0x60e080604052346104f45760208161110f803803809161001f82856104f9565b8339810103126104f457516001600160a01b038116908190036104f4576040519061004b6040836104f9565b600c82526b2b32b734b1b2902a37b5b2b760a11b6020830152604051906100736040836104f9565b60038252622b2b2b60e91b602083015282516001600160401b03811161041b5761009e60005461051c565b601f81116104a2575b506020601f821160011461043c5781929394600092610431575b50508160011b916000199060031b1c1916176000555b81516001600160401b03811161041b576100f260015461051c565b601f81116103b6575b50602092601f82116001146103515792819293600092610346575b50508160011b916000199060031b1c1916176001555b60126080524660a05260405160009060005491816101498461051c565b91828252602082019460018116908160001461032a57506001146102de575b610174925003826104f9565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a081526101e860c0826104f9565b51902060c052600680546001600160a01b031916339081179091556040519060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a360ff60805116604d81116102c857600a0a806305f5e10002906305f5e1008204036102c8576002548181018091116102c8576000927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855260038352604085208181540190558152a3604051610b989081610557823960805181610685015260a051816109aa015260c051816109d10152f35b634e487b7160e01b600052601160045260246000fd5b50600080805290916000805160206110ef8339815191525b81831061030e57505090602061017492820101610168565b60209193508060019154838588010152019101909183926102f6565b60ff191686525061017492151560051b82016020019050610168565b015190503880610116565b601f198216936001600052806000209160005b86811061039e5750836001959610610385575b505050811b0160015561012c565b015160001960f88460031b161c19169055388080610377565b91926020600181928685015181550194019201610364565b60016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c81019160208410610411575b601f0160051c01905b81811061040557506100fb565b600081556001016103f8565b90915081906103ef565b634e487b7160e01b600052604160045260246000fd5b0151905038806100c1565b601f1982169060008052806000209160005b81811061048a57509583600195969710610471575b505050811b016000556100d7565b015160001960f88460031b161c19169055388080610463565b9192602060018192868b01518155019401920161044e565b600080526000805160206110ef833981519152601f830160051c810191602084106104ea575b601f0160051c01905b8181106104de57506100a7565b600081556001016104d1565b90915081906104c8565b600080fd5b601f909101601f19168101906001600160401b0382119082101761041b57604052565b90600182811c9216801561054c575b602083101461053657565b634e487b7160e01b600052602260045260246000fd5b91607f169161052b56fe6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610829578063095ea7b3146107af57806318160ddd1461079157806323b872dd146106a9578063313ce5671461066b5780633644e5151461064857806340c10f19146105a557806370a082311461056b5780637ecebe00146105315780638da5cb5b1461050857806395d89b4114610428578063a9059cbb1461039c578063d505accf1461018b578063dd62ed3e1461013a5763f2fde38b146100c157600080fd5b34610135576020366003190112610135576100da61096c565b600654906100f2336001600160a01b03841614610b27565b6001600160a01b03166001600160a01b0319919091168117600655337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b600080fd5b346101355760403660031901126101355761015361096c565b61015b610982565b6001600160a01b039182166000908152600460209081526040808320949093168252928352819020549051908152f35b346101355760e0366003190112610135576101a461096c565b6101ac610982565b6044356064359260843560ff8116809103610135574285106103575760806000916020936101d86109a5565b9060018060a01b03169687855260058652604085209889549960018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c0815261025560e0826108eb565b519020604051908682019261190160f01b845260228301526042820152604281526102816062826108eb565b519020906040519182528482015260a435604082015260c435606082015282805260015afa1561034b576000516001600160a01b031680151580610342575b1561030c577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259160209160005260048252604060002085600052825280604060002055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b508281146102c0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b34610135576040366003190112610135576103b561096c565b6024359033600052600360205260406000206103d2838254610998565b905560018060a01b03169081600052600360205260406000208181540190556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b34610135576000366003190112610135576040516001546000908161044c826108b1565b80855291600181169081156104e15750600114610484575b61048084610474818603826108eb565b60405191829182610923565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106104c75750909150810160200161047482610464565b9192600181602092548385880101520191019092916104ae565b60ff191660208087019190915292151560051b850190920192506104749150839050610464565b34610135576000366003190112610135576006546040516001600160a01b039091168152602090f35b34610135576020366003190112610135576001600160a01b0361055261096c565b1660005260056020526020604060002054604051908152f35b34610135576020366003190112610135576001600160a01b0361058c61096c565b1660005260036020526020604060002054604051908152f35b34610135576040366003190112610135576105be61096c565b602435906105d760018060a01b03600654163314610b27565b600254908282018092116106325760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160009360025560018060a01b0316938484526003825260408420818154019055604051908152a3005b634e487b7160e01b600052601160045260246000fd5b346101355760003660031901126101355760206106636109a5565b604051908152f35b3461013557600036600319011261013557602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610135576060366003190112610135576106c261096c565b6106ca610982565b6001600160a01b039091166000818152600460209081526040808320338452825290912054604435937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9291856001820161076b575b50508360005260038252604060002061073a868254610998565b90556001600160a01b03166000818152600383526040908190208054870190555194855293a3602060405160018152f35b61077491610998565b600085815260048452604080822033835285529020558585610720565b34610135576000366003190112610135576020600254604051908152f35b34610135576040366003190112610135576107c861096c565b3360008181526004602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b3461013557600036600319011261013557604051600080548161084b826108b1565b80855291600181169081156104e157506001146108725761048084610474818603826108eb565b80805260208120939250905b8082106108975750909150810160200161047482610464565b91926001816020925483858801015201910190929161087e565b90600182811c921680156108e1575b60208310146108cb57565b634e487b7160e01b600052602260045260246000fd5b91607f16916108c0565b90601f8019910116810190811067ffffffffffffffff82111761090d57604052565b634e487b7160e01b600052604160045260246000fd5b91909160208152825180602083015260005b818110610956575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610935565b600435906001600160a01b038216820361013557565b602435906001600160a01b038216820361013557565b9190820391821161063257565b6000467f0000000000000000000000000000000000000000000000000000000000000000036109f357507f000000000000000000000000000000000000000000000000000000000000000090565b6040518181815493610a04856108b1565b928383526020830195600181169081600014610b085750600114610aaa575b50610a30925003826108eb565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610aa460c0826108eb565b51902090565b808093949250527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610aec575050906020610a309282010138610a23565b6020919350806001915483858801015201910190918392610ad3565b60ff1916875250610a3093151560051b83016020019150389050610a23565b15610b2e57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fdfea26469706673582212207e2a36ee93cbb0bcf2d067042b58be95c03536e02695a0cdafbfd86eb38f7cba64736f6c634300081a0033290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563","sourceMap":"161:303:2:-:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;161:303:2;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;161:303:2;;;;;;-1:-1:-1;;;;;161:303:2;;;;;-1:-1:-1;161:303:2;;:::i;:::-;;;;;;-1:-1:-1;161:303:2;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;-1:-1:-1;;;;;161:303:2;;;;;2116:16:1;161:303:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;2116:16:1;161:303:2;;267:2;2142:20:1;;2192:13;2173:32;;161:303:2;;-1:-1:-1;161:303:2;-1:-1:-1;161:303:2;;;;;;:::i;:::-;;;;;;;;;2116:16:1;161:303:2;;2116:16:1;;161:303:2;2116:16:1;;;161:303:2;;;;;;;;;;;;:::i;:::-;;5789:22:1;;161:303:2;;;5640:295:1;;161:303:2;5672:95:1;161:303:2;;;;;;5833:14:1;161:303:2;;;;2192:13:1;2142:20;161:303:2;;;5912:4:1;2173:32;161:303:2;;;2173:32:1;5640:295;;;;;;:::i;:::-;161:303:2;5613:336:1;;5640:295;2215:51;1045:14:0;161:303:2;;-1:-1:-1;;;;;;161:303:2;285:10;161:303;;;;;;;;;-1:-1:-1;1075:40:0;-1:-1:-1;;1075:40:0;161:303:2;2142:20:1;161:303:2;;;;;;;;;;327:11;161:303;;327:11;161:303;;;;;6220:21:1;161:303:2;;;;;;;;;-1:-1:-1;161:303:2;6436:32:1;161:303:2;;;6220:21:1;161:303:2;;;;;;;;;;;;;;;;;;6436:32:1;161:303:2;;;;;;;;2142:20:1;161:303:2;;;;;2173:32:1;161:303:2;;;;;5640:295:1;161:303:2;;;;;;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;;161:303:2;;;;;-1:-1:-1;;;;;;;;;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;-1:-1:-1;161:303:2;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;-1:-1:-1;161:303:2;;;;;;;;;;2116:16:1;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;;;;;;2116:16:1;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;2116:16:1;161:303:2;;;;;;-1:-1:-1;161:303:2;;;;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;;;;-1:-1:-1;161:303:2;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;;;;;;;;;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;-1:-1:-1;;161:303:2;;;;-1:-1:-1;;;;;161:303:2;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;","linkReferences":{},"cborAuxdata":{"1":{"value":"0xa26469706673582212207e2a36ee93cbb0bcf2d067042b58be95c03536e02695a0cdafbfd86eb38f7cba64736f6c634300081a0033","offset":4282}},"transformations":[{"type":"insert","offset":4367,"reason":"constructorArguments"}],"transformationValues":{"constructorArguments":"0x0000000000000000000000002d8cb8dc596dad0e1e34e2042e7ae6df93b11524"}},"runtimeBytecode":{"onchainBytecode":"0x6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610829578063095ea7b3146107af57806318160ddd1461079157806323b872dd146106a9578063313ce5671461066b5780633644e5151461064857806340c10f19146105a557806370a082311461056b5780637ecebe00146105315780638da5cb5b1461050857806395d89b4114610428578063a9059cbb1461039c578063d505accf1461018b578063dd62ed3e1461013a5763f2fde38b146100c157600080fd5b34610135576020366003190112610135576100da61096c565b600654906100f2336001600160a01b03841614610b27565b6001600160a01b03166001600160a01b0319919091168117600655337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b600080fd5b346101355760403660031901126101355761015361096c565b61015b610982565b6001600160a01b039182166000908152600460209081526040808320949093168252928352819020549051908152f35b346101355760e0366003190112610135576101a461096c565b6101ac610982565b6044356064359260843560ff8116809103610135574285106103575760806000916020936101d86109a5565b9060018060a01b03169687855260058652604085209889549960018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c0815261025560e0826108eb565b519020604051908682019261190160f01b845260228301526042820152604281526102816062826108eb565b519020906040519182528482015260a435604082015260c435606082015282805260015afa1561034b576000516001600160a01b031680151580610342575b1561030c577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259160209160005260048252604060002085600052825280604060002055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b508281146102c0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b34610135576040366003190112610135576103b561096c565b6024359033600052600360205260406000206103d2838254610998565b905560018060a01b03169081600052600360205260406000208181540190556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b34610135576000366003190112610135576040516001546000908161044c826108b1565b80855291600181169081156104e15750600114610484575b61048084610474818603826108eb565b60405191829182610923565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106104c75750909150810160200161047482610464565b9192600181602092548385880101520191019092916104ae565b60ff191660208087019190915292151560051b850190920192506104749150839050610464565b34610135576000366003190112610135576006546040516001600160a01b039091168152602090f35b34610135576020366003190112610135576001600160a01b0361055261096c565b1660005260056020526020604060002054604051908152f35b34610135576020366003190112610135576001600160a01b0361058c61096c565b1660005260036020526020604060002054604051908152f35b34610135576040366003190112610135576105be61096c565b602435906105d760018060a01b03600654163314610b27565b600254908282018092116106325760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160009360025560018060a01b0316938484526003825260408420818154019055604051908152a3005b634e487b7160e01b600052601160045260246000fd5b346101355760003660031901126101355760206106636109a5565b604051908152f35b3461013557600036600319011261013557602060405160ff7f0000000000000000000000000000000000000000000000000000000000000012168152f35b34610135576060366003190112610135576106c261096c565b6106ca610982565b6001600160a01b039091166000818152600460209081526040808320338452825290912054604435937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9291856001820161076b575b50508360005260038252604060002061073a868254610998565b90556001600160a01b03166000818152600383526040908190208054870190555194855293a3602060405160018152f35b61077491610998565b600085815260048452604080822033835285529020558585610720565b34610135576000366003190112610135576020600254604051908152f35b34610135576040366003190112610135576107c861096c565b3360008181526004602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b3461013557600036600319011261013557604051600080548161084b826108b1565b80855291600181169081156104e157506001146108725761048084610474818603826108eb565b80805260208120939250905b8082106108975750909150810160200161047482610464565b91926001816020925483858801015201910190929161087e565b90600182811c921680156108e1575b60208310146108cb57565b634e487b7160e01b600052602260045260246000fd5b91607f16916108c0565b90601f8019910116810190811067ffffffffffffffff82111761090d57604052565b634e487b7160e01b600052604160045260246000fd5b91909160208152825180602083015260005b818110610956575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610935565b600435906001600160a01b038216820361013557565b602435906001600160a01b038216820361013557565b9190820391821161063257565b6000467f0000000000000000000000000000000000000000000000000000000000002105036109f357507f8b6304c6c431ee55629c98b0d8fe9ff3a2fa91d73ef3ade1c6ff07677cbd534890565b6040518181815493610a04856108b1565b928383526020830195600181169081600014610b085750600114610aaa575b50610a30925003826108eb565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610aa460c0826108eb565b51902090565b808093949250527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610aec575050906020610a309282010138610a23565b6020919350806001915483858801015201910190918392610ad3565b60ff1916875250610a3093151560051b83016020019150389050610a23565b15610b2e57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fdfea26469706673582212207e2a36ee93cbb0bcf2d067042b58be95c03536e02695a0cdafbfd86eb38f7cba64736f6c634300081a0033","recompiledBytecode":"0x6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610829578063095ea7b3146107af57806318160ddd1461079157806323b872dd146106a9578063313ce5671461066b5780633644e5151461064857806340c10f19146105a557806370a082311461056b5780637ecebe00146105315780638da5cb5b1461050857806395d89b4114610428578063a9059cbb1461039c578063d505accf1461018b578063dd62ed3e1461013a5763f2fde38b146100c157600080fd5b34610135576020366003190112610135576100da61096c565b600654906100f2336001600160a01b03841614610b27565b6001600160a01b03166001600160a01b0319919091168117600655337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b600080fd5b346101355760403660031901126101355761015361096c565b61015b610982565b6001600160a01b039182166000908152600460209081526040808320949093168252928352819020549051908152f35b346101355760e0366003190112610135576101a461096c565b6101ac610982565b6044356064359260843560ff8116809103610135574285106103575760806000916020936101d86109a5565b9060018060a01b03169687855260058652604085209889549960018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c0815261025560e0826108eb565b519020604051908682019261190160f01b845260228301526042820152604281526102816062826108eb565b519020906040519182528482015260a435604082015260c435606082015282805260015afa1561034b576000516001600160a01b031680151580610342575b1561030c577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259160209160005260048252604060002085600052825280604060002055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b508281146102c0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b34610135576040366003190112610135576103b561096c565b6024359033600052600360205260406000206103d2838254610998565b905560018060a01b03169081600052600360205260406000208181540190556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b34610135576000366003190112610135576040516001546000908161044c826108b1565b80855291600181169081156104e15750600114610484575b61048084610474818603826108eb565b60405191829182610923565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106104c75750909150810160200161047482610464565b9192600181602092548385880101520191019092916104ae565b60ff191660208087019190915292151560051b850190920192506104749150839050610464565b34610135576000366003190112610135576006546040516001600160a01b039091168152602090f35b34610135576020366003190112610135576001600160a01b0361055261096c565b1660005260056020526020604060002054604051908152f35b34610135576020366003190112610135576001600160a01b0361058c61096c565b1660005260036020526020604060002054604051908152f35b34610135576040366003190112610135576105be61096c565b602435906105d760018060a01b03600654163314610b27565b600254908282018092116106325760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160009360025560018060a01b0316938484526003825260408420818154019055604051908152a3005b634e487b7160e01b600052601160045260246000fd5b346101355760003660031901126101355760206106636109a5565b604051908152f35b3461013557600036600319011261013557602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610135576060366003190112610135576106c261096c565b6106ca610982565b6001600160a01b039091166000818152600460209081526040808320338452825290912054604435937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9291856001820161076b575b50508360005260038252604060002061073a868254610998565b90556001600160a01b03166000818152600383526040908190208054870190555194855293a3602060405160018152f35b61077491610998565b600085815260048452604080822033835285529020558585610720565b34610135576000366003190112610135576020600254604051908152f35b34610135576040366003190112610135576107c861096c565b3360008181526004602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b3461013557600036600319011261013557604051600080548161084b826108b1565b80855291600181169081156104e157506001146108725761048084610474818603826108eb565b80805260208120939250905b8082106108975750909150810160200161047482610464565b91926001816020925483858801015201910190929161087e565b90600182811c921680156108e1575b60208310146108cb57565b634e487b7160e01b600052602260045260246000fd5b91607f16916108c0565b90601f8019910116810190811067ffffffffffffffff82111761090d57604052565b634e487b7160e01b600052604160045260246000fd5b91909160208152825180602083015260005b818110610956575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610935565b600435906001600160a01b038216820361013557565b602435906001600160a01b038216820361013557565b9190820391821161063257565b6000467f0000000000000000000000000000000000000000000000000000000000000000036109f357507f000000000000000000000000000000000000000000000000000000000000000090565b6040518181815493610a04856108b1565b928383526020830195600181169081600014610b085750600114610aaa575b50610a30925003826108eb565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610aa460c0826108eb565b51902090565b808093949250527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610aec575050906020610a309282010138610a23565b6020919350806001915483858801015201910190918392610ad3565b60ff1916875250610a3093151560051b83016020019150389050610a23565b15610b2e57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fdfea26469706673582212207e2a36ee93cbb0bcf2d067042b58be95c03536e02695a0cdafbfd86eb38f7cba64736f6c634300081a0033","sourceMap":"161:303:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;778:5:0;161:303:2;;756:44:0;764:10;-1:-1:-1;;;;;161:303:2;;764:19:0;756:44;:::i;:::-;-1:-1:-1;;;;;161:303:2;-1:-1:-1;;;;;;161:303:2;;;;;;778:5:0;161:303:2;764:10:0;1424:42;161:303:2;;1424:42:0;161:303:2;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;4057:15:1;4045:27;;161:303:2;;;;4428:18:1;161:303:2;4428:18:1;;;:::i;:::-;161:303:2;;;;;;;;;;;4873:6:1;161:303:2;;;;;;;;;;;;;;;;4511:449:1;;;;161:303:2;4555:165:1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4511:449:1;;;161:303:2;4511:449:1;;:::i;:::-;161:303:2;4472:514:1;;161:303:2;;4350:658:1;;;;161:303:2;;;;;;;;;;;;;;;4350:658:1;;;;;;:::i;:::-;161:303:2;4319:707:1;;161:303:2;;;;;;;;;;;;;;;;;;;;;;4292:805:1;;;161:303:2;4292:805:1;;;;;161:303:2;4292:805:1;-1:-1:-1;;;;;161:303:2;5120:30:1;;;;:59;;161:303:2;;;;5283:31:1;161:303:2;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;5283:31:1;161:303:2;;;;-1:-1:-1;;;161:303:2;;;;;;;;;;;;-1:-1:-1;;;161:303:2;;;;;;;5120:59:1;5154:25;;;;5120:59;;4292:805;161:303:2;;;;;;;;;;;;-1:-1:-1;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;2774:10:1;;161:303:2;;2764:9:1;161:303:2;;;;;2764:31:1;161:303:2;;;2764:31:1;:::i;:::-;161:303:2;;;;;;;;;;;;2764:9:1;161:303:2;;;;;;;;;;;;;;;;2990:32:1;161:303:2;2774:10:1;2990:32;;161:303:2;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;1056:20:1;161:303:2;;;;;;;:::i;:::-;;;;;1056:20:1;161:303:2;;;1056:20:1;;;;161:303:2;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;1056:20:1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;;;;1056:20:1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;-1:-1:-1;;161:303:2;;;;690:20:0;161:303:2;;;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;-1:-1:-1;;;;;161:303:2;;:::i;:::-;;;;1751:41:1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;-1:-1:-1;;;;;161:303:2;;:::i;:::-;;;;1337:44:1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;;756:44:0;161:303:2;;;;;778:5:0;161:303:2;;764:10:0;:19;756:44;:::i;:::-;6220:21:1;161:303:2;;;;;;;;;;;6436:32:1;161:303:2;;;6220:21:1;161:303:2;;;;;;;;;;;6387:9:1;161:303:2;;;;;;;;;;;;;;;;6436:32:1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;;;1083:31:1;161:303:2;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;;;3225:10:1;161:303:2;;;;;;;;;;;3594:26:1;;161:303:2;;;3287:28:1;;3283:80;;161:303:2;;;;;;3374:9:1;161:303:2;;;;;3374:25:1;161:303:2;;;3374:25:1;:::i;:::-;161:303:2;;-1:-1:-1;;;;;161:303:2;;;;;3374:9:1;161:303:2;;;;;;;;;;;;;;;;;;3594:26:1;161:303:2;;;;;;;3283:80:1;3347:16;;;:::i;:::-;161:303:2;;;;;;;;;;;3225:10:1;161:303:2;;;;;;;3283:80:1;;;;161:303:2;;;;;;-1:-1:-1;;161:303:2;;;;;1304:26:1;161:303:2;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;2561:10:1;161:303:2;;;;;;;;;;;;;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;2606:37:1;;;161:303:2;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;161:303:2;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;161:303:2;;;;;;:::o;:::-;;;;;;;;;;:::o;5327:177:1:-;-1:-1:-1;5410:13:1;5427:16;5410:33;5427:16;;5446:24;;5327:177;:::o;5410:87::-;161:303:2;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5789:22:1;;161:303:2;;;5640:295:1;;161:303:2;5672:95:1;161:303:2;;;;;;5833:14:1;161:303:2;;;;5410:13:1;161:303:2;;;;5912:4:1;161:303:2;;;;;5640:295:1;;;;;;:::i;:::-;161:303:2;5613:336:1;;5327:177;:::o;161:303:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;-1:-1:-1;161:303:2;;;;;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;:::o;:::-;;;-1:-1:-1;;;161:303:2;;;;;;;;;;;;-1:-1:-1;;;161:303:2;;;;;;","linkReferences":{},"cborAuxdata":{"1":{"value":"0xa26469706673582212207e2a36ee93cbb0bcf2d067042b58be95c03536e02695a0cdafbfd86eb38f7cba64736f6c634300081a0033","offset":2915}},"immutableReferences":{"84":[{"start":1669,"length":32}],"98":[{"start":2474,"length":32}],"100":[{"start":2513,"length":32}]},"transformations":[{"id":"84","type":"replace","offset":1669,"reason":"immutable"},{"id":"98","type":"replace","offset":2474,"reason":"immutable"},{"id":"100","type":"replace","offset":2513,"reason":"immutable"}],"transformationValues":{"immutables":{"84":"0x0000000000000000000000000000000000000000000000000000000000000012","98":"0x0000000000000000000000000000000000000000000000000000000000002105","100":"0x8b6304c6c431ee55629c98b0d8fe9ff3a2fa91d73ef3ade1c6ff07677cbd5348"}}},"deployment":{"transactionHash":"0x4e3ce1837c3704662f4a3bdea6edfbae99c08d01c8f07f47cec6ad593dc05b70","blockNumber":"25430182","transactionIndex":"105","deployer":"0xc9C88391e50eEADb43647fAC514fA26f8dFd7E7F"},"sources":{"src/Venice.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity =0.8.26;\n\nimport {ERC20} from \"solmate/src/tokens/ERC20.sol\";\nimport {Owned} from \"solmate/src/auth/Owned.sol\";\n\ncontract Venice is ERC20, Owned {\n\n    constructor(address treasury)\n        ERC20(\"Venice Token\", \"VVV\", 18)\n        Owned(msg.sender)\n    {\n        _mint(treasury, 100_000_000 * 10**decimals);\n    }\n\n    function mint(address to, uint256 amount) external onlyOwner {\n        _mint(to, amount);\n    }\n}"},"dependencies/solmate-6.8.0/src/tokens/ERC20.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)\n/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\n/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.\nabstract contract ERC20 {\n    /*//////////////////////////////////////////////////////////////\n                                 EVENTS\n    //////////////////////////////////////////////////////////////*/\n\n    event Transfer(address indexed from, address indexed to, uint256 amount);\n\n    event Approval(address indexed owner, address indexed spender, uint256 amount);\n\n    /*//////////////////////////////////////////////////////////////\n                            METADATA STORAGE\n    //////////////////////////////////////////////////////////////*/\n\n    string public name;\n\n    string public symbol;\n\n    uint8 public immutable decimals;\n\n    /*//////////////////////////////////////////////////////////////\n                              ERC20 STORAGE\n    //////////////////////////////////////////////////////////////*/\n\n    uint256 public totalSupply;\n\n    mapping(address => uint256) public balanceOf;\n\n    mapping(address => mapping(address => uint256)) public allowance;\n\n    /*//////////////////////////////////////////////////////////////\n                            EIP-2612 STORAGE\n    //////////////////////////////////////////////////////////////*/\n\n    uint256 internal immutable INITIAL_CHAIN_ID;\n\n    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;\n\n    mapping(address => uint256) public nonces;\n\n    /*//////////////////////////////////////////////////////////////\n                               CONSTRUCTOR\n    //////////////////////////////////////////////////////////////*/\n\n    constructor(\n        string memory _name,\n        string memory _symbol,\n        uint8 _decimals\n    ) {\n        name = _name;\n        symbol = _symbol;\n        decimals = _decimals;\n\n        INITIAL_CHAIN_ID = block.chainid;\n        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                               ERC20 LOGIC\n    //////////////////////////////////////////////////////////////*/\n\n    function approve(address spender, uint256 amount) public virtual returns (bool) {\n        allowance[msg.sender][spender] = amount;\n\n        emit Approval(msg.sender, spender, amount);\n\n        return true;\n    }\n\n    function transfer(address to, uint256 amount) public virtual returns (bool) {\n        balanceOf[msg.sender] -= amount;\n\n        // Cannot overflow because the sum of all user\n        // balances can't exceed the max uint256 value.\n        unchecked {\n            balanceOf[to] += amount;\n        }\n\n        emit Transfer(msg.sender, to, amount);\n\n        return true;\n    }\n\n    function transferFrom(\n        address from,\n        address to,\n        uint256 amount\n    ) public virtual returns (bool) {\n        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.\n\n        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;\n\n        balanceOf[from] -= amount;\n\n        // Cannot overflow because the sum of all user\n        // balances can't exceed the max uint256 value.\n        unchecked {\n            balanceOf[to] += amount;\n        }\n\n        emit Transfer(from, to, amount);\n\n        return true;\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                             EIP-2612 LOGIC\n    //////////////////////////////////////////////////////////////*/\n\n    function permit(\n        address owner,\n        address spender,\n        uint256 value,\n        uint256 deadline,\n        uint8 v,\n        bytes32 r,\n        bytes32 s\n    ) public virtual {\n        require(deadline >= block.timestamp, \"PERMIT_DEADLINE_EXPIRED\");\n\n        // Unchecked because the only math done is incrementing\n        // the owner's nonce which cannot realistically overflow.\n        unchecked {\n            address recoveredAddress = ecrecover(\n                keccak256(\n                    abi.encodePacked(\n                        \"\\x19\\x01\",\n                        DOMAIN_SEPARATOR(),\n                        keccak256(\n                            abi.encode(\n                                keccak256(\n                                    \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"\n                                ),\n                                owner,\n                                spender,\n                                value,\n                                nonces[owner]++,\n                                deadline\n                            )\n                        )\n                    )\n                ),\n                v,\n                r,\n                s\n            );\n\n            require(recoveredAddress != address(0) && recoveredAddress == owner, \"INVALID_SIGNER\");\n\n            allowance[recoveredAddress][spender] = value;\n        }\n\n        emit Approval(owner, spender, value);\n    }\n\n    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {\n        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();\n    }\n\n    function computeDomainSeparator() internal view virtual returns (bytes32) {\n        return\n            keccak256(\n                abi.encode(\n                    keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n                    keccak256(bytes(name)),\n                    keccak256(\"1\"),\n                    block.chainid,\n                    address(this)\n                )\n            );\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                        INTERNAL MINT/BURN LOGIC\n    //////////////////////////////////////////////////////////////*/\n\n    function _mint(address to, uint256 amount) internal virtual {\n        totalSupply += amount;\n\n        // Cannot overflow because the sum of all user\n        // balances can't exceed the max uint256 value.\n        unchecked {\n            balanceOf[to] += amount;\n        }\n\n        emit Transfer(address(0), to, amount);\n    }\n\n    function _burn(address from, uint256 amount) internal virtual {\n        balanceOf[from] -= amount;\n\n        // Cannot underflow because a user's balance\n        // will never be larger than the total supply.\n        unchecked {\n            totalSupply -= amount;\n        }\n\n        emit Transfer(from, address(0), amount);\n    }\n}\n"},"dependencies/solmate-6.8.0/src/auth/Owned.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Simple single owner authorization mixin.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)\nabstract contract Owned {\n    /*//////////////////////////////////////////////////////////////\n                                 EVENTS\n    //////////////////////////////////////////////////////////////*/\n\n    event OwnershipTransferred(address indexed user, address indexed newOwner);\n\n    /*//////////////////////////////////////////////////////////////\n                            OWNERSHIP STORAGE\n    //////////////////////////////////////////////////////////////*/\n\n    address public owner;\n\n    modifier onlyOwner() virtual {\n        require(msg.sender == owner, \"UNAUTHORIZED\");\n\n        _;\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                               CONSTRUCTOR\n    //////////////////////////////////////////////////////////////*/\n\n    constructor(address _owner) {\n        owner = _owner;\n\n        emit OwnershipTransferred(address(0), _owner);\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                             OWNERSHIP LOGIC\n    //////////////////////////////////////////////////////////////*/\n\n    function transferOwnership(address newOwner) public virtual onlyOwner {\n        owner = newOwner;\n\n        emit OwnershipTransferred(msg.sender, newOwner);\n    }\n}\n"}},"compilation":{"language":"Solidity","compiler":"solc","compilerVersion":"0.8.26+commit.8a97fa7a","compilerSettings":{"viaIR":true,"metadata":{"bytecodeHash":"ipfs"},"libraries":{},"optimizer":{"runs":200,"enabled":true},"evmVersion":"paris","remappings":[":@openzeppelin-contracts-5.2.0-rc.1/=dependencies/@openzeppelin-contracts-5.2.0-rc.1/",":@openzeppelin-contracts-upgradeable-5.2.0-rc.1/=dependencies/@openzeppelin-contracts-upgradeable-5.2.0-rc.1/",":@openzeppelin-contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.2.0-rc.1/",":@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.2.0-rc.1/",":ds-test/=dependencies/openzeppelin-foundry-upgrades-0.3.6/lib/solidity-stringutils/lib/ds-test/src/",":forge-std-1.9.5/=dependencies/forge-std-1.9.5/src/",":forge-std/=dependencies/forge-std-1.9.5/src/",":openzeppelin-foundry-upgrades-0.3.6/=dependencies/openzeppelin-foundry-upgrades-0.3.6/src/",":openzeppelin-foundry-upgrades/=dependencies/openzeppelin-foundry-upgrades-0.3.6/",":solidity-stringutils/=dependencies/openzeppelin-foundry-upgrades-0.3.6/lib/solidity-stringutils/",":solmate-6.8.0/=dependencies/solmate-6.8.0/src/",":solmate/=dependencies/solmate-6.8.0/"]},"name":"Venice","fullyQualifiedName":"src/Venice.sol:Venice"},"abi":[{"type":"constructor","inputs":[{"name":"treasury","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"name":"Approval","type":"event","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"name":"OwnershipTransferred","type":"event","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"name":"Transfer","type":"event","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"name":"DOMAIN_SEPARATOR","type":"function","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"name":"allowance","type":"function","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"approve","type":"function","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"name":"balanceOf","type":"function","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"decimals","type":"function","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"name":"mint","type":"function","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"name","type":"function","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"name":"nonces","type":"function","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"owner","type":"function","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"name":"permit","type":"function","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"},{"name":"symbol","type":"function","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"name":"totalSupply","type":"function","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"transfer","type":"function","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"name":"transferFrom","type":"function","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"},{"name":"transferOwnership","type":"function","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"treasury","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"src/Venice.sol":"Venice"},"evmVersion":"paris","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":200},"remappings":[":@openzeppelin-contracts-5.2.0-rc.1/=dependencies/@openzeppelin-contracts-5.2.0-rc.1/",":@openzeppelin-contracts-upgradeable-5.2.0-rc.1/=dependencies/@openzeppelin-contracts-upgradeable-5.2.0-rc.1/",":@openzeppelin-contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.2.0-rc.1/",":@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.2.0-rc.1/",":ds-test/=dependencies/openzeppelin-foundry-upgrades-0.3.6/lib/solidity-stringutils/lib/ds-test/src/",":forge-std-1.9.5/=dependencies/forge-std-1.9.5/src/",":forge-std/=dependencies/forge-std-1.9.5/src/",":openzeppelin-foundry-upgrades-0.3.6/=dependencies/openzeppelin-foundry-upgrades-0.3.6/src/",":openzeppelin-foundry-upgrades/=dependencies/openzeppelin-foundry-upgrades-0.3.6/",":solidity-stringutils/=dependencies/openzeppelin-foundry-upgrades-0.3.6/lib/solidity-stringutils/",":solmate-6.8.0/=dependencies/solmate-6.8.0/src/",":solmate/=dependencies/solmate-6.8.0/"],"viaIR":true},"sources":{"dependencies/solmate-6.8.0/src/auth/Owned.sol":{"keccak256":"0xfedb27d14c508342c33eb067c9a02eabcdb0f9dcf93b04ded1001f580d12d0ea","license":"AGPL-3.0-only","urls":["bzz-raw://1ff52bbee698b9cf9e4574615e6550be0887ccf355f6571e23d6f25b332e79b4","dweb:/ipfs/QmVorA2apojVRStzS7h8aFccR3Uv32G6HVtBtFHZrE7YXx"]},"dependencies/solmate-6.8.0/src/tokens/ERC20.sol":{"keccak256":"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10","license":"AGPL-3.0-only","urls":["bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35","dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97"]},"src/Venice.sol":{"keccak256":"0xab791a8985024b1a5d58a8e44365b721b63d636a35cf3e1f021f4ffc9d597871","license":"MIT","urls":["bzz-raw://214f84dbd91ab1fa28456a492e65f91b7ae776fc97a9bfb63192a39cdce112e1","dweb:/ipfs/QmUgVEeiLKBu3e6KeJC7te6Pjr2H2tMeYZD2jwoWUtJWYJ"]}},"version":1},"storageLayout":{"types":{"t_address":{"label":"address","encoding":"inplace","numberOfBytes":"20"},"t_uint256":{"label":"uint256","encoding":"inplace","numberOfBytes":"32"},"t_string_storage":{"label":"string","encoding":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_uint256)":{"key":"t_address","label":"mapping(address => uint256)","value":"t_uint256","encoding":"mapping","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"key":"t_address","label":"mapping(address => mapping(address => uint256))","value":"t_mapping(t_address,t_uint256)","encoding":"mapping","numberOfBytes":"32"}},"storage":[{"slot":"0","type":"t_string_storage","astId":80,"label":"name","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"1","type":"t_string_storage","astId":82,"label":"symbol","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"2","type":"t_uint256","astId":86,"label":"totalSupply","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"3","type":"t_mapping(t_address,t_uint256)","astId":90,"label":"balanceOf","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"4","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))","astId":96,"label":"allowance","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"5","type":"t_mapping(t_address,t_uint256)","astId":104,"label":"nonces","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"6","type":"t_address","astId":10,"label":"owner","offset":0,"contract":"src/Venice.sol:Venice"}]},"transientStorageLayout":null,"userdoc":{"kind":"user","methods":{},"version":1},"devdoc":{"kind":"dev","methods":{},"version":1},"sourceIds":{"src/Venice.sol":{"id":2},"dependencies/solmate-6.8.0/src/auth/Owned.sol":{"id":0},"dependencies/solmate-6.8.0/src/tokens/ERC20.sol":{"id":1}},"additionalInput":null,"stdJsonInput":{"sources":{"src/Venice.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity =0.8.26;\n\nimport {ERC20} from \"solmate/src/tokens/ERC20.sol\";\nimport {Owned} from \"solmate/src/auth/Owned.sol\";\n\ncontract Venice is ERC20, Owned {\n\n    constructor(address treasury)\n        ERC20(\"Venice Token\", \"VVV\", 18)\n        Owned(msg.sender)\n    {\n        _mint(treasury, 100_000_000 * 10**decimals);\n    }\n\n    function mint(address to, uint256 amount) external onlyOwner {\n        _mint(to, amount);\n    }\n}"},"dependencies/solmate-6.8.0/src/auth/Owned.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Simple single owner authorization mixin.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)\nabstract contract Owned {\n    /*//////////////////////////////////////////////////////////////\n                                 EVENTS\n    //////////////////////////////////////////////////////////////*/\n\n    event OwnershipTransferred(address indexed user, address indexed newOwner);\n\n    /*//////////////////////////////////////////////////////////////\n                            OWNERSHIP STORAGE\n    //////////////////////////////////////////////////////////////*/\n\n    address public owner;\n\n    modifier onlyOwner() virtual {\n        require(msg.sender == owner, \"UNAUTHORIZED\");\n\n        _;\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                               CONSTRUCTOR\n    //////////////////////////////////////////////////////////////*/\n\n    constructor(address _owner) {\n        owner = _owner;\n\n        emit OwnershipTransferred(address(0), _owner);\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                             OWNERSHIP LOGIC\n    //////////////////////////////////////////////////////////////*/\n\n    function transferOwnership(address newOwner) public virtual onlyOwner {\n        owner = newOwner;\n\n        emit OwnershipTransferred(msg.sender, newOwner);\n    }\n}\n"},"dependencies/solmate-6.8.0/src/tokens/ERC20.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)\n/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\n/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.\nabstract contract ERC20 {\n    /*//////////////////////////////////////////////////////////////\n                                 EVENTS\n    //////////////////////////////////////////////////////////////*/\n\n    event Transfer(address indexed from, address indexed to, uint256 amount);\n\n    event Approval(address indexed owner, address indexed spender, uint256 amount);\n\n    /*//////////////////////////////////////////////////////////////\n                            METADATA STORAGE\n    //////////////////////////////////////////////////////////////*/\n\n    string public name;\n\n    string public symbol;\n\n    uint8 public immutable decimals;\n\n    /*//////////////////////////////////////////////////////////////\n                              ERC20 STORAGE\n    //////////////////////////////////////////////////////////////*/\n\n    uint256 public totalSupply;\n\n    mapping(address => uint256) public balanceOf;\n\n    mapping(address => mapping(address => uint256)) public allowance;\n\n    /*//////////////////////////////////////////////////////////////\n                            EIP-2612 STORAGE\n    //////////////////////////////////////////////////////////////*/\n\n    uint256 internal immutable INITIAL_CHAIN_ID;\n\n    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;\n\n    mapping(address => uint256) public nonces;\n\n    /*//////////////////////////////////////////////////////////////\n                               CONSTRUCTOR\n    //////////////////////////////////////////////////////////////*/\n\n    constructor(\n        string memory _name,\n        string memory _symbol,\n        uint8 _decimals\n    ) {\n        name = _name;\n        symbol = _symbol;\n        decimals = _decimals;\n\n        INITIAL_CHAIN_ID = block.chainid;\n        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                               ERC20 LOGIC\n    //////////////////////////////////////////////////////////////*/\n\n    function approve(address spender, uint256 amount) public virtual returns (bool) {\n        allowance[msg.sender][spender] = amount;\n\n        emit Approval(msg.sender, spender, amount);\n\n        return true;\n    }\n\n    function transfer(address to, uint256 amount) public virtual returns (bool) {\n        balanceOf[msg.sender] -= amount;\n\n        // Cannot overflow because the sum of all user\n        // balances can't exceed the max uint256 value.\n        unchecked {\n            balanceOf[to] += amount;\n        }\n\n        emit Transfer(msg.sender, to, amount);\n\n        return true;\n    }\n\n    function transferFrom(\n        address from,\n        address to,\n        uint256 amount\n    ) public virtual returns (bool) {\n        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.\n\n        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;\n\n        balanceOf[from] -= amount;\n\n        // Cannot overflow because the sum of all user\n        // balances can't exceed the max uint256 value.\n        unchecked {\n            balanceOf[to] += amount;\n        }\n\n        emit Transfer(from, to, amount);\n\n        return true;\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                             EIP-2612 LOGIC\n    //////////////////////////////////////////////////////////////*/\n\n    function permit(\n        address owner,\n        address spender,\n        uint256 value,\n        uint256 deadline,\n        uint8 v,\n        bytes32 r,\n        bytes32 s\n    ) public virtual {\n        require(deadline >= block.timestamp, \"PERMIT_DEADLINE_EXPIRED\");\n\n        // Unchecked because the only math done is incrementing\n        // the owner's nonce which cannot realistically overflow.\n        unchecked {\n            address recoveredAddress = ecrecover(\n                keccak256(\n                    abi.encodePacked(\n                        \"\\x19\\x01\",\n                        DOMAIN_SEPARATOR(),\n                        keccak256(\n                            abi.encode(\n                                keccak256(\n                                    \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"\n                                ),\n                                owner,\n                                spender,\n                                value,\n                                nonces[owner]++,\n                                deadline\n                            )\n                        )\n                    )\n                ),\n                v,\n                r,\n                s\n            );\n\n            require(recoveredAddress != address(0) && recoveredAddress == owner, \"INVALID_SIGNER\");\n\n            allowance[recoveredAddress][spender] = value;\n        }\n\n        emit Approval(owner, spender, value);\n    }\n\n    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {\n        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();\n    }\n\n    function computeDomainSeparator() internal view virtual returns (bytes32) {\n        return\n            keccak256(\n                abi.encode(\n                    keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n                    keccak256(bytes(name)),\n                    keccak256(\"1\"),\n                    block.chainid,\n                    address(this)\n                )\n            );\n    }\n\n    /*//////////////////////////////////////////////////////////////\n                        INTERNAL MINT/BURN LOGIC\n    //////////////////////////////////////////////////////////////*/\n\n    function _mint(address to, uint256 amount) internal virtual {\n        totalSupply += amount;\n\n        // Cannot overflow because the sum of all user\n        // balances can't exceed the max uint256 value.\n        unchecked {\n            balanceOf[to] += amount;\n        }\n\n        emit Transfer(address(0), to, amount);\n    }\n\n    function _burn(address from, uint256 amount) internal virtual {\n        balanceOf[from] -= amount;\n\n        // Cannot underflow because a user's balance\n        // will never be larger than the total supply.\n        unchecked {\n            totalSupply -= amount;\n        }\n\n        emit Transfer(from, address(0), amount);\n    }\n}\n"}},"language":"Solidity","settings":{"viaIR":true,"metadata":{"bytecodeHash":"ipfs"},"libraries":{},"optimizer":{"runs":200,"enabled":true},"evmVersion":"paris","remappings":[":@openzeppelin-contracts-5.2.0-rc.1/=dependencies/@openzeppelin-contracts-5.2.0-rc.1/",":@openzeppelin-contracts-upgradeable-5.2.0-rc.1/=dependencies/@openzeppelin-contracts-upgradeable-5.2.0-rc.1/",":@openzeppelin-contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.2.0-rc.1/",":@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.2.0-rc.1/",":ds-test/=dependencies/openzeppelin-foundry-upgrades-0.3.6/lib/solidity-stringutils/lib/ds-test/src/",":forge-std-1.9.5/=dependencies/forge-std-1.9.5/src/",":forge-std/=dependencies/forge-std-1.9.5/src/",":openzeppelin-foundry-upgrades-0.3.6/=dependencies/openzeppelin-foundry-upgrades-0.3.6/src/",":openzeppelin-foundry-upgrades/=dependencies/openzeppelin-foundry-upgrades-0.3.6/",":solidity-stringutils/=dependencies/openzeppelin-foundry-upgrades-0.3.6/lib/solidity-stringutils/",":solmate-6.8.0/=dependencies/solmate-6.8.0/src/",":solmate/=dependencies/solmate-6.8.0/"]}},"stdJsonOutput":{"sources":{"src/Venice.sol":{"id":2},"dependencies/solmate-6.8.0/src/auth/Owned.sol":{"id":0},"dependencies/solmate-6.8.0/src/tokens/ERC20.sol":{"id":1}},"contracts":{"src/Venice.sol":{"Venice":{"abi":[{"type":"constructor","inputs":[{"name":"treasury","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"name":"Approval","type":"event","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"name":"OwnershipTransferred","type":"event","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"name":"Transfer","type":"event","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"name":"DOMAIN_SEPARATOR","type":"function","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"name":"allowance","type":"function","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"approve","type":"function","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"name":"balanceOf","type":"function","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"decimals","type":"function","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"name":"mint","type":"function","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"name","type":"function","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"name":"nonces","type":"function","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"owner","type":"function","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"name":"permit","type":"function","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"},{"name":"symbol","type":"function","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"name":"totalSupply","type":"function","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"name":"transfer","type":"function","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"name":"transferFrom","type":"function","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"},{"name":"transferOwnership","type":"function","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Venice.sol\":\"Venice\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts-5.2.0-rc.1/=dependencies/@openzeppelin-contracts-5.2.0-rc.1/\",\":@openzeppelin-contracts-upgradeable-5.2.0-rc.1/=dependencies/@openzeppelin-contracts-upgradeable-5.2.0-rc.1/\",\":@openzeppelin-contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.2.0-rc.1/\",\":@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.2.0-rc.1/\",\":ds-test/=dependencies/openzeppelin-foundry-upgrades-0.3.6/lib/solidity-stringutils/lib/ds-test/src/\",\":forge-std-1.9.5/=dependencies/forge-std-1.9.5/src/\",\":forge-std/=dependencies/forge-std-1.9.5/src/\",\":openzeppelin-foundry-upgrades-0.3.6/=dependencies/openzeppelin-foundry-upgrades-0.3.6/src/\",\":openzeppelin-foundry-upgrades/=dependencies/openzeppelin-foundry-upgrades-0.3.6/\",\":solidity-stringutils/=dependencies/openzeppelin-foundry-upgrades-0.3.6/lib/solidity-stringutils/\",\":solmate-6.8.0/=dependencies/solmate-6.8.0/src/\",\":solmate/=dependencies/solmate-6.8.0/\"],\"viaIR\":true},\"sources\":{\"dependencies/solmate-6.8.0/src/auth/Owned.sol\":{\"keccak256\":\"0xfedb27d14c508342c33eb067c9a02eabcdb0f9dcf93b04ded1001f580d12d0ea\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1ff52bbee698b9cf9e4574615e6550be0887ccf355f6571e23d6f25b332e79b4\",\"dweb:/ipfs/QmVorA2apojVRStzS7h8aFccR3Uv32G6HVtBtFHZrE7YXx\"]},\"dependencies/solmate-6.8.0/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"src/Venice.sol\":{\"keccak256\":\"0xab791a8985024b1a5d58a8e44365b721b63d636a35cf3e1f021f4ffc9d597871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://214f84dbd91ab1fa28456a492e65f91b7ae776fc97a9bfb63192a39cdce112e1\",\"dweb:/ipfs/QmUgVEeiLKBu3e6KeJC7te6Pjr2H2tMeYZD2jwoWUtJWYJ\"]}},\"version\":1}","userdoc":{"kind":"user","methods":{},"version":1},"devdoc":{"kind":"dev","methods":{},"version":1},"storageLayout":{"types":{"t_address":{"label":"address","encoding":"inplace","numberOfBytes":"20"},"t_uint256":{"label":"uint256","encoding":"inplace","numberOfBytes":"32"},"t_string_storage":{"label":"string","encoding":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_uint256)":{"key":"t_address","label":"mapping(address => uint256)","value":"t_uint256","encoding":"mapping","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"key":"t_address","label":"mapping(address => mapping(address => uint256))","value":"t_mapping(t_address,t_uint256)","encoding":"mapping","numberOfBytes":"32"}},"storage":[{"slot":"0","type":"t_string_storage","astId":80,"label":"name","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"1","type":"t_string_storage","astId":82,"label":"symbol","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"2","type":"t_uint256","astId":86,"label":"totalSupply","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"3","type":"t_mapping(t_address,t_uint256)","astId":90,"label":"balanceOf","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"4","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))","astId":96,"label":"allowance","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"5","type":"t_mapping(t_address,t_uint256)","astId":104,"label":"nonces","offset":0,"contract":"src/Venice.sol:Venice"},{"slot":"6","type":"t_address","astId":10,"label":"owner","offset":0,"contract":"src/Venice.sol:Venice"}]},"transientStorageLayout":null,"evm":{"bytecode":{"object":"60e080604052346104f45760208161110f803803809161001f82856104f9565b8339810103126104f457516001600160a01b038116908190036104f4576040519061004b6040836104f9565b600c82526b2b32b734b1b2902a37b5b2b760a11b6020830152604051906100736040836104f9565b60038252622b2b2b60e91b602083015282516001600160401b03811161041b5761009e60005461051c565b601f81116104a2575b506020601f821160011461043c5781929394600092610431575b50508160011b916000199060031b1c1916176000555b81516001600160401b03811161041b576100f260015461051c565b601f81116103b6575b50602092601f82116001146103515792819293600092610346575b50508160011b916000199060031b1c1916176001555b60126080524660a05260405160009060005491816101498461051c565b91828252602082019460018116908160001461032a57506001146102de575b610174925003826104f9565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a081526101e860c0826104f9565b51902060c052600680546001600160a01b031916339081179091556040519060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a360ff60805116604d81116102c857600a0a806305f5e10002906305f5e1008204036102c8576002548181018091116102c8576000927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855260038352604085208181540190558152a3604051610b989081610557823960805181610685015260a051816109aa015260c051816109d10152f35b634e487b7160e01b600052601160045260246000fd5b50600080805290916000805160206110ef8339815191525b81831061030e57505090602061017492820101610168565b60209193508060019154838588010152019101909183926102f6565b60ff191686525061017492151560051b82016020019050610168565b015190503880610116565b601f198216936001600052806000209160005b86811061039e5750836001959610610385575b505050811b0160015561012c565b015160001960f88460031b161c19169055388080610377565b91926020600181928685015181550194019201610364565b60016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c81019160208410610411575b601f0160051c01905b81811061040557506100fb565b600081556001016103f8565b90915081906103ef565b634e487b7160e01b600052604160045260246000fd5b0151905038806100c1565b601f1982169060008052806000209160005b81811061048a57509583600195969710610471575b505050811b016000556100d7565b015160001960f88460031b161c19169055388080610463565b9192602060018192868b01518155019401920161044e565b600080526000805160206110ef833981519152601f830160051c810191602084106104ea575b601f0160051c01905b8181106104de57506100a7565b600081556001016104d1565b90915081906104c8565b600080fd5b601f909101601f19168101906001600160401b0382119082101761041b57604052565b90600182811c9216801561054c575b602083101461053657565b634e487b7160e01b600052602260045260246000fd5b91607f169161052b56fe6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610829578063095ea7b3146107af57806318160ddd1461079157806323b872dd146106a9578063313ce5671461066b5780633644e5151461064857806340c10f19146105a557806370a082311461056b5780637ecebe00146105315780638da5cb5b1461050857806395d89b4114610428578063a9059cbb1461039c578063d505accf1461018b578063dd62ed3e1461013a5763f2fde38b146100c157600080fd5b34610135576020366003190112610135576100da61096c565b600654906100f2336001600160a01b03841614610b27565b6001600160a01b03166001600160a01b0319919091168117600655337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b600080fd5b346101355760403660031901126101355761015361096c565b61015b610982565b6001600160a01b039182166000908152600460209081526040808320949093168252928352819020549051908152f35b346101355760e0366003190112610135576101a461096c565b6101ac610982565b6044356064359260843560ff8116809103610135574285106103575760806000916020936101d86109a5565b9060018060a01b03169687855260058652604085209889549960018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c0815261025560e0826108eb565b519020604051908682019261190160f01b845260228301526042820152604281526102816062826108eb565b519020906040519182528482015260a435604082015260c435606082015282805260015afa1561034b576000516001600160a01b031680151580610342575b1561030c577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259160209160005260048252604060002085600052825280604060002055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b508281146102c0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b34610135576040366003190112610135576103b561096c565b6024359033600052600360205260406000206103d2838254610998565b905560018060a01b03169081600052600360205260406000208181540190556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b34610135576000366003190112610135576040516001546000908161044c826108b1565b80855291600181169081156104e15750600114610484575b61048084610474818603826108eb565b60405191829182610923565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106104c75750909150810160200161047482610464565b9192600181602092548385880101520191019092916104ae565b60ff191660208087019190915292151560051b850190920192506104749150839050610464565b34610135576000366003190112610135576006546040516001600160a01b039091168152602090f35b34610135576020366003190112610135576001600160a01b0361055261096c565b1660005260056020526020604060002054604051908152f35b34610135576020366003190112610135576001600160a01b0361058c61096c565b1660005260036020526020604060002054604051908152f35b34610135576040366003190112610135576105be61096c565b602435906105d760018060a01b03600654163314610b27565b600254908282018092116106325760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160009360025560018060a01b0316938484526003825260408420818154019055604051908152a3005b634e487b7160e01b600052601160045260246000fd5b346101355760003660031901126101355760206106636109a5565b604051908152f35b3461013557600036600319011261013557602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610135576060366003190112610135576106c261096c565b6106ca610982565b6001600160a01b039091166000818152600460209081526040808320338452825290912054604435937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9291856001820161076b575b50508360005260038252604060002061073a868254610998565b90556001600160a01b03166000818152600383526040908190208054870190555194855293a3602060405160018152f35b61077491610998565b600085815260048452604080822033835285529020558585610720565b34610135576000366003190112610135576020600254604051908152f35b34610135576040366003190112610135576107c861096c565b3360008181526004602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b3461013557600036600319011261013557604051600080548161084b826108b1565b80855291600181169081156104e157506001146108725761048084610474818603826108eb565b80805260208120939250905b8082106108975750909150810160200161047482610464565b91926001816020925483858801015201910190929161087e565b90600182811c921680156108e1575b60208310146108cb57565b634e487b7160e01b600052602260045260246000fd5b91607f16916108c0565b90601f8019910116810190811067ffffffffffffffff82111761090d57604052565b634e487b7160e01b600052604160045260246000fd5b91909160208152825180602083015260005b818110610956575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610935565b600435906001600160a01b038216820361013557565b602435906001600160a01b038216820361013557565b9190820391821161063257565b6000467f0000000000000000000000000000000000000000000000000000000000000000036109f357507f000000000000000000000000000000000000000000000000000000000000000090565b6040518181815493610a04856108b1565b928383526020830195600181169081600014610b085750600114610aaa575b50610a30925003826108eb565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610aa460c0826108eb565b51902090565b808093949250527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610aec575050906020610a309282010138610a23565b6020919350806001915483858801015201910190918392610ad3565b60ff1916875250610a3093151560051b83016020019150389050610a23565b15610b2e57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fdfea26469706673582212207e2a36ee93cbb0bcf2d067042b58be95c03536e02695a0cdafbfd86eb38f7cba64736f6c634300081a0033290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563","sourceMap":"161:303:2:-:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;161:303:2;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;161:303:2;;;;;;-1:-1:-1;;;;;161:303:2;;;;;-1:-1:-1;161:303:2;;:::i;:::-;;;;;;-1:-1:-1;161:303:2;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;-1:-1:-1;;;;;161:303:2;;;;;2116:16:1;161:303:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;2116:16:1;161:303:2;;267:2;2142:20:1;;2192:13;2173:32;;161:303:2;;-1:-1:-1;161:303:2;-1:-1:-1;161:303:2;;;;;;:::i;:::-;;;;;;;;;2116:16:1;161:303:2;;2116:16:1;;161:303:2;2116:16:1;;;161:303:2;;;;;;;;;;;;:::i;:::-;;5789:22:1;;161:303:2;;;5640:295:1;;161:303:2;5672:95:1;161:303:2;;;;;;5833:14:1;161:303:2;;;;2192:13:1;2142:20;161:303:2;;;5912:4:1;2173:32;161:303:2;;;2173:32:1;5640:295;;;;;;:::i;:::-;161:303:2;5613:336:1;;5640:295;2215:51;1045:14:0;161:303:2;;-1:-1:-1;;;;;;161:303:2;285:10;161:303;;;;;;;;;-1:-1:-1;1075:40:0;-1:-1:-1;;1075:40:0;161:303:2;2142:20:1;161:303:2;;;;;;;;;;327:11;161:303;;327:11;161:303;;;;;6220:21:1;161:303:2;;;;;;;;;-1:-1:-1;161:303:2;6436:32:1;161:303:2;;;6220:21:1;161:303:2;;;;;;;;;;;;;;;;;;6436:32:1;161:303:2;;;;;;;;2142:20:1;161:303:2;;;;;2173:32:1;161:303:2;;;;;5640:295:1;161:303:2;;;;;;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;;161:303:2;;;;;-1:-1:-1;;;;;;;;;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;-1:-1:-1;161:303:2;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;-1:-1:-1;161:303:2;;;;;;;;;;2116:16:1;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2116:16:1;161:303:2;;;;;;;;;;;;;;;;2116:16:1;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;2116:16:1;161:303:2;;;;;;-1:-1:-1;161:303:2;;;;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;;;;-1:-1:-1;161:303:2;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;;;;;;;;;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;-1:-1:-1;;161:303:2;;;;-1:-1:-1;;;;;161:303:2;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610829578063095ea7b3146107af57806318160ddd1461079157806323b872dd146106a9578063313ce5671461066b5780633644e5151461064857806340c10f19146105a557806370a082311461056b5780637ecebe00146105315780638da5cb5b1461050857806395d89b4114610428578063a9059cbb1461039c578063d505accf1461018b578063dd62ed3e1461013a5763f2fde38b146100c157600080fd5b34610135576020366003190112610135576100da61096c565b600654906100f2336001600160a01b03841614610b27565b6001600160a01b03166001600160a01b0319919091168117600655337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b600080fd5b346101355760403660031901126101355761015361096c565b61015b610982565b6001600160a01b039182166000908152600460209081526040808320949093168252928352819020549051908152f35b346101355760e0366003190112610135576101a461096c565b6101ac610982565b6044356064359260843560ff8116809103610135574285106103575760806000916020936101d86109a5565b9060018060a01b03169687855260058652604085209889549960018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c0815261025560e0826108eb565b519020604051908682019261190160f01b845260228301526042820152604281526102816062826108eb565b519020906040519182528482015260a435604082015260c435606082015282805260015afa1561034b576000516001600160a01b031680151580610342575b1561030c577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259160209160005260048252604060002085600052825280604060002055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b508281146102c0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b34610135576040366003190112610135576103b561096c565b6024359033600052600360205260406000206103d2838254610998565b905560018060a01b03169081600052600360205260406000208181540190556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b34610135576000366003190112610135576040516001546000908161044c826108b1565b80855291600181169081156104e15750600114610484575b61048084610474818603826108eb565b60405191829182610923565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106104c75750909150810160200161047482610464565b9192600181602092548385880101520191019092916104ae565b60ff191660208087019190915292151560051b850190920192506104749150839050610464565b34610135576000366003190112610135576006546040516001600160a01b039091168152602090f35b34610135576020366003190112610135576001600160a01b0361055261096c565b1660005260056020526020604060002054604051908152f35b34610135576020366003190112610135576001600160a01b0361058c61096c565b1660005260036020526020604060002054604051908152f35b34610135576040366003190112610135576105be61096c565b602435906105d760018060a01b03600654163314610b27565b600254908282018092116106325760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160009360025560018060a01b0316938484526003825260408420818154019055604051908152a3005b634e487b7160e01b600052601160045260246000fd5b346101355760003660031901126101355760206106636109a5565b604051908152f35b3461013557600036600319011261013557602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610135576060366003190112610135576106c261096c565b6106ca610982565b6001600160a01b039091166000818152600460209081526040808320338452825290912054604435937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9291856001820161076b575b50508360005260038252604060002061073a868254610998565b90556001600160a01b03166000818152600383526040908190208054870190555194855293a3602060405160018152f35b61077491610998565b600085815260048452604080822033835285529020558585610720565b34610135576000366003190112610135576020600254604051908152f35b34610135576040366003190112610135576107c861096c565b3360008181526004602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b3461013557600036600319011261013557604051600080548161084b826108b1565b80855291600181169081156104e157506001146108725761048084610474818603826108eb565b80805260208120939250905b8082106108975750909150810160200161047482610464565b91926001816020925483858801015201910190929161087e565b90600182811c921680156108e1575b60208310146108cb57565b634e487b7160e01b600052602260045260246000fd5b91607f16916108c0565b90601f8019910116810190811067ffffffffffffffff82111761090d57604052565b634e487b7160e01b600052604160045260246000fd5b91909160208152825180602083015260005b818110610956575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610935565b600435906001600160a01b038216820361013557565b602435906001600160a01b038216820361013557565b9190820391821161063257565b6000467f0000000000000000000000000000000000000000000000000000000000000000036109f357507f000000000000000000000000000000000000000000000000000000000000000090565b6040518181815493610a04856108b1565b928383526020830195600181169081600014610b085750600114610aaa575b50610a30925003826108eb565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610aa460c0826108eb565b51902090565b808093949250527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610aec575050906020610a309282010138610a23565b6020919350806001915483858801015201910190918392610ad3565b60ff1916875250610a3093151560051b83016020019150389050610a23565b15610b2e57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fdfea26469706673582212207e2a36ee93cbb0bcf2d067042b58be95c03536e02695a0cdafbfd86eb38f7cba64736f6c634300081a0033","sourceMap":"161:303:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;778:5:0;161:303:2;;756:44:0;764:10;-1:-1:-1;;;;;161:303:2;;764:19:0;756:44;:::i;:::-;-1:-1:-1;;;;;161:303:2;-1:-1:-1;;;;;;161:303:2;;;;;;778:5:0;161:303:2;764:10:0;1424:42;161:303:2;;1424:42:0;161:303:2;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;4057:15:1;4045:27;;161:303:2;;;;4428:18:1;161:303:2;4428:18:1;;;:::i;:::-;161:303:2;;;;;;;;;;;4873:6:1;161:303:2;;;;;;;;;;;;;;;;4511:449:1;;;;161:303:2;4555:165:1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4511:449:1;;;161:303:2;4511:449:1;;:::i;:::-;161:303:2;4472:514:1;;161:303:2;;4350:658:1;;;;161:303:2;;;;;;;;;;;;;;;4350:658:1;;;;;;:::i;:::-;161:303:2;4319:707:1;;161:303:2;;;;;;;;;;;;;;;;;;;;;;4292:805:1;;;161:303:2;4292:805:1;;;;;161:303:2;4292:805:1;-1:-1:-1;;;;;161:303:2;5120:30:1;;;;:59;;161:303:2;;;;5283:31:1;161:303:2;;;;;;;;;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;5283:31:1;161:303:2;;;;-1:-1:-1;;;161:303:2;;;;;;;;;;;;-1:-1:-1;;;161:303:2;;;;;;;5120:59:1;5154:25;;;;5120:59;;4292:805;161:303:2;;;;;;;;;;;;-1:-1:-1;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;2774:10:1;;161:303:2;;2764:9:1;161:303:2;;;;;2764:31:1;161:303:2;;;2764:31:1;:::i;:::-;161:303:2;;;;;;;;;;;;2764:9:1;161:303:2;;;;;;;;;;;;;;;;2990:32:1;161:303:2;2774:10:1;2990:32;;161:303:2;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;1056:20:1;161:303:2;;;;;;;:::i;:::-;;;;;1056:20:1;161:303:2;;;1056:20:1;;;;161:303:2;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;1056:20:1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;;;;1056:20:1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;;;;;;;;;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;-1:-1:-1;;161:303:2;;;;690:20:0;161:303:2;;;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;-1:-1:-1;;;;;161:303:2;;:::i;:::-;;;;1751:41:1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;-1:-1:-1;;;;;161:303:2;;:::i;:::-;;;;1337:44:1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;;756:44:0;161:303:2;;;;;778:5:0;161:303:2;;764:10:0;:19;756:44;:::i;:::-;6220:21:1;161:303:2;;;;;;;;;;;6436:32:1;161:303:2;;;6220:21:1;161:303:2;;;;;;;;;;;6387:9:1;161:303:2;;;;;;;;;;;;;;;;6436:32:1;161:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;;;1083:31:1;161:303:2;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;;;3225:10:1;161:303:2;;;;;;;;;;;3594:26:1;;161:303:2;;;3287:28:1;;3283:80;;161:303:2;;;;;;3374:9:1;161:303:2;;;;;3374:25:1;161:303:2;;;3374:25:1;:::i;:::-;161:303:2;;-1:-1:-1;;;;;161:303:2;;;;;3374:9:1;161:303:2;;;;;;;;;;;;;;;;;;3594:26:1;161:303:2;;;;;;;3283:80:1;3347:16;;;:::i;:::-;161:303:2;;;;;;;;;;;3225:10:1;161:303:2;;;;;;;3283:80:1;;;;161:303:2;;;;;;-1:-1:-1;;161:303:2;;;;;1304:26:1;161:303:2;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;:::i;:::-;2561:10:1;161:303:2;;;;;;;;;;;;;-1:-1:-1;;;;;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;2606:37:1;;;161:303:2;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;161:303:2;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;161:303:2;;;;;-1:-1:-1;161:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;161:303:2;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;161:303:2;;;;;;:::o;:::-;;;;;;;;;;:::o;5327:177:1:-;-1:-1:-1;5410:13:1;5427:16;5410:33;5427:16;;5446:24;;5327:177;:::o;5410:87::-;161:303:2;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5789:22:1;;161:303:2;;;5640:295:1;;161:303:2;5672:95:1;161:303:2;;;;;;5833:14:1;161:303:2;;;;5410:13:1;161:303:2;;;;5912:4:1;161:303:2;;;;;5640:295:1;;;;;;:::i;:::-;161:303:2;5613:336:1;;5327:177;:::o;161:303:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;161:303:2;;;-1:-1:-1;161:303:2;;;;;;;;;;;-1:-1:-1;161:303:2;;-1:-1:-1;161:303:2;;;;;;:::o;:::-;;;-1:-1:-1;;;161:303:2;;;;;;;;;;;;-1:-1:-1;;;161:303:2;;;;;;","linkReferences":{},"immutableReferences":{"84":[{"start":1669,"length":32}],"98":[{"start":2474,"length":32}],"100":[{"start":2513,"length":32}]}}}}}}},"signatures":{"function":[{"signature":"allowance(address,address)","signatureHash4":"0xdd62ed3e","signatureHash32":"0xdd62ed3e90e97b3d417db9c0c7522647811bafca5afc6694f143588d255fdfb4"},{"signature":"approve(address,uint256)","signatureHash4":"0x095ea7b3","signatureHash32":"0x095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba"},{"signature":"balanceOf(address)","signatureHash4":"0x70a08231","signatureHash32":"0x70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be"},{"signature":"decimals()","signatureHash4":"0x313ce567","signatureHash32":"0x313ce567add4d438edf58b94ff345d7d38c45b17dfc0f947988d7819dca364f9"},{"signature":"DOMAIN_SEPARATOR()","signatureHash4":"0x3644e515","signatureHash32":"0x3644e5157256d68e3eeedd2ead302507a9c4ffaff665547d2c3623a1e9e7edf4"},{"signature":"mint(address,uint256)","signatureHash4":"0x40c10f19","signatureHash32":"0x40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842"},{"signature":"name()","signatureHash4":"0x06fdde03","signatureHash32":"0x06fdde0383f15d582d1a74511486c9ddf862a882fb7904b3d9fe9b8b8e58a796"},{"signature":"nonces(address)","signatureHash4":"0x7ecebe00","signatureHash32":"0x7ecebe00bc8d5df94a191da8e29b79e67a22b668e14b756a81ef2f5fa215cb0c"},{"signature":"owner()","signatureHash4":"0x8da5cb5b","signatureHash32":"0x8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d"},{"signature":"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)","signatureHash4":"0xd505accf","signatureHash32":"0xd505accfee7b46ac3ce97322c21f328b64073d188137e16f7ef87f8de076b51c"},{"signature":"symbol()","signatureHash4":"0x95d89b41","signatureHash32":"0x95d89b41e2f5f391a79ec54e9d87c79d6e777c63e32c28da95b4e9e4a79250ec"},{"signature":"totalSupply()","signatureHash4":"0x18160ddd","signatureHash32":"0x18160ddd7f15c72528c2f94fd8dfe3c8d5aa26e2c50c7d81f4bc7bee8d4b7932"},{"signature":"transfer(address,uint256)","signatureHash4":"0xa9059cbb","signatureHash32":"0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b"},{"signature":"transferFrom(address,address,uint256)","signatureHash4":"0x23b872dd","signatureHash32":"0x23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b"},{"signature":"transferOwnership(address)","signatureHash4":"0xf2fde38b","signatureHash32":"0xf2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557"}],"event":[{"signature":"Approval(address,address,uint256)","signatureHash4":"0x8c5be1e5","signatureHash32":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"},{"signature":"OwnershipTransferred(address,address)","signatureHash4":"0x8be0079c","signatureHash32":"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0"},{"signature":"Transfer(address,address,uint256)","signatureHash4":"0xddf252ad","signatureHash32":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"error":[]},"proxyResolution":{"isProxy":false,"proxyType":null,"implementations":[]},"match":"exact_match","chainId":"8453","address":"0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf"}