{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"BASIS_POINTS_DIVISOR","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_SPREAD_BASIS_POINTS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"PRICE_PRECISION","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"forceUpdatePrice","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getMaxPrice","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMinPrice","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPrice","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_maximise","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPriceInfo","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"currentPrice","type":"uint256","internalType":"uint256"},{"name":"cachedPrice","type":"uint256","internalType":"uint256"},{"name":"maxPrice","type":"uint256","internalType":"uint256"},{"name":"minPrice","type":"uint256","internalType":"uint256"},{"name":"spread","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"gov","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_usdcAddress","type":"address","internalType":"address"},{"name":"_usdcPriceFeed","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isKeeper","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lastPrice","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"maxPriceChangeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"priceStalenesThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"setKeeper","inputs":[{"name":"_keeper","type":"address","internalType":"address"},{"name":"_isActive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxPriceChangeBps","inputs":[{"name":"_maxPriceChangeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceStalenessThreshold","inputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpreadBasisPoints","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_spreadBasisPoints","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpreadBasisPointsForMultiple","inputs":[{"name":"_tokens","type":"address[]","internalType":"address[]"},{"name":"_spreadBasisPoints","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUSDCAddress","inputs":[{"name":"_usdcAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUSDCPriceFeed","inputs":[{"name":"_usdcPriceFeed","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spreadBasisPoints","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"updatePrice","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdcAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"KeeperSet","inputs":[{"name":"keeper","type":"address","indexed":true,"internalType":"address"},{"name":"isActive","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PriceUpdate","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"oldPrice","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newPrice","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SpreadUpdate","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"spreadBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"Forbidden","inputs":[]},{"type":"error","name":"InvalidAddress","inputs":[]},{"type":"error","name":"InvalidChainlinkPrice","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"MaxChangeTooHigh","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"PriceChangeTooLarge","inputs":[]},{"type":"error","name":"SpreadTooHigh","inputs":[]},{"type":"error","name":"StalePrice","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60a080604052346100c257306080525f5160206114155f395f51905f525460ff8160401c166100b3576002600160401b03196001600160401b03821601610060575b60405161134e90816100c782396080518181816107eb01526108bb0152f35b6001600160401b0319166001600160401b039081175f5160206114155f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610041565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816302d4545714610d11575080630957aed914610cf6578063126082cf14610cda57806312d43a5114610cb3578063485cc95514610afa5780634915a85814610a7b5780634f1ef2861461083f57806352d1902d146107d95780635d42fb6b14610750578063697cd71a146107335780636ba42aaa146106f657806376d69760146106dd57806381a612d6146106ba57806383daeb47146106775780638edbf436146105d957806395082d25146105b257806396e85ced1461055f5780639b889380146104e5578063a27ea386146104ad578063aaf5bfc31461044e578063ad3cb1cc146103f0578063b3b8a994146103d3578063c9e0c1061461027b578063d1b9e85314610207578063e124e6d2146101dc578063ed0df72b146101815763f5a6ba2e14610145575f80fd5b3461017d57602036600319011261017d576001600160a01b03610166610d34565b165f526006602052602060405f2054604051908152f35b5f80fd5b3461017d57602036600319011261017d5761019a610d34565b5f546001600160a01b031633036101cd57600480546001600160a01b0319166001600160a01b0392909216919091179055005b631dd2188d60e31b5f5260045ffd5b3461017d57602036600319011261017d5760206101ff6101fa610d34565b610f3f565b604051908152f35b3461017d5761021536610d9c565b5f549091906001600160a01b031633036101cd5760207f8dd62d4e1f60b96148552898e743aa2b571686baa26f4f1b647565dc3996c1a79160018060a01b031692835f526007825260405f209015159060ff1981541660ff8316179055604051908152a2005b3461017d57604036600319011261017d5760043567ffffffffffffffff811161017d576102ac903690600401610dcb565b60243567ffffffffffffffff811161017d576102cc903690600401610dcb565b5f549092906001600160a01b031633036101cd5782810361039c575f5b8181106102f257005b60c86102ff828686610f07565b351161038d57806103136001928686610f07565b35828060a01b0361032d61032884878b610f07565b610f2b565b165f52600560205260405f2055610348610328828589610f07565b7fdc57d8716d6b33bf807c6d4f1dd2addbf67960c73ada97819316dc745dfa11796020610376848989610f07565b3592604051938452858060a01b031692a2016102e9565b639821c0c960e01b5f5260045ffd5b60405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b3461017d575f36600319011261017d576020600354604051908152f35b3461017d575f36600319011261017d57604080519061040f8183610d4a565b600582526020820191640352e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b3461017d57602036600319011261017d57610467610d34565b5f546001600160a01b031633036101cd576001600160a01b0316801561049e576001600160601b0360a01b60015416176001555f80f35b63e6c4247b60e01b5f5260045ffd5b3461017d57602036600319011261017d576001600160a01b036104ce610d34565b165f526005602052602060405f2054604051908152f35b3461017d57604036600319011261017d576104fe610d34565b5f5460243591906001600160a01b031633036101cd5760c8821161038d5760207fdc57d8716d6b33bf807c6d4f1dd2addbf67960c73ada97819316dc745dfa11799160018060a01b031692835f52600582528060405f2055604051908152a2005b3461017d57602036600319011261017d57610578610d34565b335f52600760205260ff60405f205416158061059e575b6101cd576101ff602091610e79565b505f546001600160a01b031633141561058f565b3461017d575f36600319011261017d5760206040516c0c9f2c9cd04674edea400000008152f35b3461017d57602036600319011261017d576105f2610d34565b6001546001600160a01b038281169116810361063557505060a0610614610fbc565b5f8180805b6040519485526020850152604084015260608301526080820152f35b8161064160a0936110d2565b91805f52600660205260405f2054905f52600560205260405f2054916106718461066b81846111a3565b926111e3565b91610619565b3461017d57602036600319011261017d575f54600435906001600160a01b031633036101cd576107d081116106ab57600255005b63165376f560e21b5f5260045ffd5b3461017d57602036600319011261017d5760206101ff6106d8610d34565b610e3e565b3461017d5760206101ff6106f036610d9c565b90610dfc565b3461017d57602036600319011261017d576001600160a01b03610717610d34565b165f526007602052602060ff60405f2054166040519015158152f35b3461017d575f36600319011261017d576020600254604051908152f35b3461017d57604036600319011261017d57610769610d34565b5f5460243591906001600160a01b031633036101cd576001600160a01b03165f818152600660209081526040918290208054908590558251908152908101939093524290830152907f8647dab5101cbe18afb171756e9753802f9d66725bf2346b079b8b1a275e011690606090a2005b3461017d575f36600319011261017d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036108305760206040515f5160206112d95f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b604036600319011261017d57610853610d34565b6024359067ffffffffffffffff821161017d573660238301121561017d5781600401359061088082610d80565b9161088e6040519384610d4a565b8083526020830193366024838301011161017d57815f926024602093018737840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610a59575b50610830575f546001600160a01b031633036101cd576040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa5f9181610a25575b5061093e5784634c9c8ce360e01b5f5260045260245ffd5b805f5160206112d95f395f51905f52869203610a135750823b15610a01575f5160206112d95f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28251156109e8575f80916109de945190845af43d156109e0573d916109c283610d80565b926109d06040519485610d4a565b83523d5f602085013e61127a565b005b60609161127a565b505050346109f257005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011610a51575b81610a4160209383610d4a565b8101031261017d57519086610926565b3d9150610a34565b5f5160206112d95f395f51905f52546001600160a01b031614159050846108e6565b3461017d57602036600319011261017d575f54600435906001600160a01b031633036101cd5780151580610aed575b15610ab457600355005b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081d1a1c995cda1bdb19607a1b6044820152606490fd5b5062093a80811115610aaa565b3461017d57604036600319011261017d57610b13610d34565b6024356001600160a01b0381169081900361017d575f5160206112f95f395f51905f52549060ff8260401c16159167ffffffffffffffff811680159081610cab575b6001149081610ca1575b159081610c98575b50610c895767ffffffffffffffff1981166001175f5160206112f95f395f51905f525582610c5d575b505f5160206112f95f395f51905f52549260ff8460401c1615610c4e576001600160a01b0316801561049e576001600160601b0360a01b60015416176001556001600160601b0360a01b6004541617600455336001600160601b0360a01b5f5416175f556101f4600255610e10600355610c0657005b68ff000000000000000019165f5160206112f95f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b631afcd79f60e31b5f5260045ffd5b68ffffffffffffffffff191668010000000000000001175f5160206112f95f395f51905f525583610b90565b63f92ee8a960e01b5f5260045ffd5b90501585610b67565b303b159150610b5f565b849150610b55565b3461017d575f36600319011261017d575f546040516001600160a01b039091168152602090f35b3461017d575f36600319011261017d5760206040516127108152f35b3461017d575f36600319011261017d57602060405160c88152f35b3461017d575f36600319011261017d576001546001600160a01b03168152602090f35b600435906001600160a01b038216820361017d57565b90601f8019910116810190811067ffffffffffffffff821117610d6c57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff8111610d6c57601f01601f191660200190565b604090600319011261017d576004356001600160a01b038116810361017d5790602435801515810361017d5790565b9181601f8401121561017d5782359167ffffffffffffffff831161017d576020808501948460051b01011161017d57565b6001549091906001600160a01b03808416911614610e345781610e21610e31936110d2565b90610e2c8282611135565b61121b565b90565b5050610e31610fbc565b6001546001600160a01b03828116911614610e705780610e60610e31926110d2565b90610e6b8282611135565b6111e3565b50610e31610fbc565b6001546001600160a01b0382811691168114610e3457805f5260066020527f8647dab5101cbe18afb171756e9753802f9d66725bf2346b079b8b1a275e0116610f0160405f2054610ed3610ecc866110d2565b8096611135565b835f5260066020528460405f2055604051918291864291846040919493926060820195825260208201520152565b0390a290565b9190811015610f175760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361017d5790565b6001546001600160a01b03828116911614610e705780610f61610e31926110d2565b90610f6c8282611135565b6111a3565b519069ffffffffffffffffffff8216820361017d57565b91908203918211610f9557565b634e487b7160e01b5f52601160045260245ffd5b81810292918115918404141715610f9557565b60048054604051633fabe5a360e21b81529160a09183919082906001600160a01b03165afa9081156110c7575f915f925f925f92611071575b505f8413156110625782156110535769ffffffffffffffffffff809116911610611053576110239042610f88565b600354106110535769021e19e0c9bab240000081029080820469021e19e0c9bab24000001490151715610f955790565b630cd5fa0760e11b5f5260045ffd5b638002905d60e01b5f5260045ffd5b935050505060a0813d60a0116110bf575b8161108f60a09383610d4a565b8101031261017d576110a081610f71565b60208201516110b6608060608501519401610f71565b9092915f610ff5565b3d9150611082565b6040513d5f823e3d90fd5b60405163adcc40cb60e01b815290602090829060049082906001600160a01b03165afa9081156110c7575f91611106575090565b90506020813d60201161112d575b8161112160209383610d4a565b8101031261017d575190565b3d9150611114565b6001600160a01b03165f9081526006602052604090205490811561119f5761117861271091838082115f1461118f5761116d91610f88565b925b60025490610fa9565b041061118057565b63a8eb64ed60e01b5f5260045ffd5b9061119991610f88565b9261116f565b5050565b6001600160a01b03165f9081526005602052604090205480156111df5761271001908161271011610f9557612710916111db91610fa9565b0490565b5090565b6001600160a01b03165f9081526005602052604090205480156111df5761271003906127108211610f9557612710916111db91610fa9565b6001600160a01b03165f9081526005602052604090205490918115611275571561125a5761271001908161271011610f9557612710916111db91610fa9565b61271003906127108211610f9557612710916111db91610fa9565b505090565b9061129e575080511561128f57602081519101fd5b63d6bda27560e01b5f5260045ffd5b815115806112cf575b6112af575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156112a756fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212205d5d343b024f3d2a4428357d90310f8c1e2d2cdab4ceae563c23d4b89c1c9db864736f6c634300081e0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00","sourceMap":"523:11759:7:-:0;;;;;;;1171:4:36;1163:13;;-1:-1:-1;;;;;;;;;;;523:11759:7;;;;;;7894:76:35;;-1:-1:-1;;;;;;;;;;;523:11759:7;;7983:34:35;7979:146;;-1:-1:-1;523:11759:7;;;;;;;;1163:13:36;523:11759:7;;;;;;;;;;;7979:146:35;-1:-1:-1;;;;;;523:11759:7;-1:-1:-1;;;;;523:11759:7;;;-1:-1:-1;;;;;;;;;;;523:11759:7;;;8085:29:35;;523:11759:7;;8085:29:35;7979:146;;;;7894:76;7936:23;;;-1:-1:-1;7936:23:35;;-1:-1:-1;7936:23:35;523:11759:7;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816302d4545714610d11575080630957aed914610cf6578063126082cf14610cda57806312d43a5114610cb3578063485cc95514610afa5780634915a85814610a7b5780634f1ef2861461083f57806352d1902d146107d95780635d42fb6b14610750578063697cd71a146107335780636ba42aaa146106f657806376d69760146106dd57806381a612d6146106ba57806383daeb47146106775780638edbf436146105d957806395082d25146105b257806396e85ced1461055f5780639b889380146104e5578063a27ea386146104ad578063aaf5bfc31461044e578063ad3cb1cc146103f0578063b3b8a994146103d3578063c9e0c1061461027b578063d1b9e85314610207578063e124e6d2146101dc578063ed0df72b146101815763f5a6ba2e14610145575f80fd5b3461017d57602036600319011261017d576001600160a01b03610166610d34565b165f526006602052602060405f2054604051908152f35b5f80fd5b3461017d57602036600319011261017d5761019a610d34565b5f546001600160a01b031633036101cd57600480546001600160a01b0319166001600160a01b0392909216919091179055005b631dd2188d60e31b5f5260045ffd5b3461017d57602036600319011261017d5760206101ff6101fa610d34565b610f3f565b604051908152f35b3461017d5761021536610d9c565b5f549091906001600160a01b031633036101cd5760207f8dd62d4e1f60b96148552898e743aa2b571686baa26f4f1b647565dc3996c1a79160018060a01b031692835f526007825260405f209015159060ff1981541660ff8316179055604051908152a2005b3461017d57604036600319011261017d5760043567ffffffffffffffff811161017d576102ac903690600401610dcb565b60243567ffffffffffffffff811161017d576102cc903690600401610dcb565b5f549092906001600160a01b031633036101cd5782810361039c575f5b8181106102f257005b60c86102ff828686610f07565b351161038d57806103136001928686610f07565b35828060a01b0361032d61032884878b610f07565b610f2b565b165f52600560205260405f2055610348610328828589610f07565b7fdc57d8716d6b33bf807c6d4f1dd2addbf67960c73ada97819316dc745dfa11796020610376848989610f07565b3592604051938452858060a01b031692a2016102e9565b639821c0c960e01b5f5260045ffd5b60405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b3461017d575f36600319011261017d576020600354604051908152f35b3461017d575f36600319011261017d57604080519061040f8183610d4a565b600582526020820191640352e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b3461017d57602036600319011261017d57610467610d34565b5f546001600160a01b031633036101cd576001600160a01b0316801561049e576001600160601b0360a01b60015416176001555f80f35b63e6c4247b60e01b5f5260045ffd5b3461017d57602036600319011261017d576001600160a01b036104ce610d34565b165f526005602052602060405f2054604051908152f35b3461017d57604036600319011261017d576104fe610d34565b5f5460243591906001600160a01b031633036101cd5760c8821161038d5760207fdc57d8716d6b33bf807c6d4f1dd2addbf67960c73ada97819316dc745dfa11799160018060a01b031692835f52600582528060405f2055604051908152a2005b3461017d57602036600319011261017d57610578610d34565b335f52600760205260ff60405f205416158061059e575b6101cd576101ff602091610e79565b505f546001600160a01b031633141561058f565b3461017d575f36600319011261017d5760206040516c0c9f2c9cd04674edea400000008152f35b3461017d57602036600319011261017d576105f2610d34565b6001546001600160a01b038281169116810361063557505060a0610614610fbc565b5f8180805b6040519485526020850152604084015260608301526080820152f35b8161064160a0936110d2565b91805f52600660205260405f2054905f52600560205260405f2054916106718461066b81846111a3565b926111e3565b91610619565b3461017d57602036600319011261017d575f54600435906001600160a01b031633036101cd576107d081116106ab57600255005b63165376f560e21b5f5260045ffd5b3461017d57602036600319011261017d5760206101ff6106d8610d34565b610e3e565b3461017d5760206101ff6106f036610d9c565b90610dfc565b3461017d57602036600319011261017d576001600160a01b03610717610d34565b165f526007602052602060ff60405f2054166040519015158152f35b3461017d575f36600319011261017d576020600254604051908152f35b3461017d57604036600319011261017d57610769610d34565b5f5460243591906001600160a01b031633036101cd576001600160a01b03165f818152600660209081526040918290208054908590558251908152908101939093524290830152907f8647dab5101cbe18afb171756e9753802f9d66725bf2346b079b8b1a275e011690606090a2005b3461017d575f36600319011261017d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036108305760206040515f5160206112d95f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b604036600319011261017d57610853610d34565b6024359067ffffffffffffffff821161017d573660238301121561017d5781600401359061088082610d80565b9161088e6040519384610d4a565b8083526020830193366024838301011161017d57815f926024602093018737840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610a59575b50610830575f546001600160a01b031633036101cd576040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa5f9181610a25575b5061093e5784634c9c8ce360e01b5f5260045260245ffd5b805f5160206112d95f395f51905f52869203610a135750823b15610a01575f5160206112d95f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28251156109e8575f80916109de945190845af43d156109e0573d916109c283610d80565b926109d06040519485610d4a565b83523d5f602085013e61127a565b005b60609161127a565b505050346109f257005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011610a51575b81610a4160209383610d4a565b8101031261017d57519086610926565b3d9150610a34565b5f5160206112d95f395f51905f52546001600160a01b031614159050846108e6565b3461017d57602036600319011261017d575f54600435906001600160a01b031633036101cd5780151580610aed575b15610ab457600355005b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081d1a1c995cda1bdb19607a1b6044820152606490fd5b5062093a80811115610aaa565b3461017d57604036600319011261017d57610b13610d34565b6024356001600160a01b0381169081900361017d575f5160206112f95f395f51905f52549060ff8260401c16159167ffffffffffffffff811680159081610cab575b6001149081610ca1575b159081610c98575b50610c895767ffffffffffffffff1981166001175f5160206112f95f395f51905f525582610c5d575b505f5160206112f95f395f51905f52549260ff8460401c1615610c4e576001600160a01b0316801561049e576001600160601b0360a01b60015416176001556001600160601b0360a01b6004541617600455336001600160601b0360a01b5f5416175f556101f4600255610e10600355610c0657005b68ff000000000000000019165f5160206112f95f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b631afcd79f60e31b5f5260045ffd5b68ffffffffffffffffff191668010000000000000001175f5160206112f95f395f51905f525583610b90565b63f92ee8a960e01b5f5260045ffd5b90501585610b67565b303b159150610b5f565b849150610b55565b3461017d575f36600319011261017d575f546040516001600160a01b039091168152602090f35b3461017d575f36600319011261017d5760206040516127108152f35b3461017d575f36600319011261017d57602060405160c88152f35b3461017d575f36600319011261017d576001546001600160a01b03168152602090f35b600435906001600160a01b038216820361017d57565b90601f8019910116810190811067ffffffffffffffff821117610d6c57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff8111610d6c57601f01601f191660200190565b604090600319011261017d576004356001600160a01b038116810361017d5790602435801515810361017d5790565b9181601f8401121561017d5782359167ffffffffffffffff831161017d576020808501948460051b01011161017d57565b6001549091906001600160a01b03808416911614610e345781610e21610e31936110d2565b90610e2c8282611135565b61121b565b90565b5050610e31610fbc565b6001546001600160a01b03828116911614610e705780610e60610e31926110d2565b90610e6b8282611135565b6111e3565b50610e31610fbc565b6001546001600160a01b0382811691168114610e3457805f5260066020527f8647dab5101cbe18afb171756e9753802f9d66725bf2346b079b8b1a275e0116610f0160405f2054610ed3610ecc866110d2565b8096611135565b835f5260066020528460405f2055604051918291864291846040919493926060820195825260208201520152565b0390a290565b9190811015610f175760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361017d5790565b6001546001600160a01b03828116911614610e705780610f61610e31926110d2565b90610f6c8282611135565b6111a3565b519069ffffffffffffffffffff8216820361017d57565b91908203918211610f9557565b634e487b7160e01b5f52601160045260245ffd5b81810292918115918404141715610f9557565b60048054604051633fabe5a360e21b81529160a09183919082906001600160a01b03165afa9081156110c7575f915f925f925f92611071575b505f8413156110625782156110535769ffffffffffffffffffff809116911610611053576110239042610f88565b600354106110535769021e19e0c9bab240000081029080820469021e19e0c9bab24000001490151715610f955790565b630cd5fa0760e11b5f5260045ffd5b638002905d60e01b5f5260045ffd5b935050505060a0813d60a0116110bf575b8161108f60a09383610d4a565b8101031261017d576110a081610f71565b60208201516110b6608060608501519401610f71565b9092915f610ff5565b3d9150611082565b6040513d5f823e3d90fd5b60405163adcc40cb60e01b815290602090829060049082906001600160a01b03165afa9081156110c7575f91611106575090565b90506020813d60201161112d575b8161112160209383610d4a565b8101031261017d575190565b3d9150611114565b6001600160a01b03165f9081526006602052604090205490811561119f5761117861271091838082115f1461118f5761116d91610f88565b925b60025490610fa9565b041061118057565b63a8eb64ed60e01b5f5260045ffd5b9061119991610f88565b9261116f565b5050565b6001600160a01b03165f9081526005602052604090205480156111df5761271001908161271011610f9557612710916111db91610fa9565b0490565b5090565b6001600160a01b03165f9081526005602052604090205480156111df5761271003906127108211610f9557612710916111db91610fa9565b6001600160a01b03165f9081526005602052604090205490918115611275571561125a5761271001908161271011610f9557612710916111db91610fa9565b61271003906127108211610f9557612710916111db91610fa9565b505090565b9061129e575080511561128f57602081519101fd5b63d6bda27560e01b5f5260045ffd5b815115806112cf575b6112af575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156112a756fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212205d5d343b024f3d2a4428357d90310f8c1e2d2cdab4ceae563c23d4b89c1c9db864736f6c634300081e0033","sourceMap":"523:11759:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;-1:-1:-1;;;;;523:11759:7;;:::i;:::-;;;;1565:44;523:11759;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;:::i;:::-;;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;523:11759;;;-1:-1:-1;;;;;;523:11759:7;-1:-1:-1;;;;;523:11759:7;;;;;;;;;;;1958:41;1988:11;;;523:11759;1988:11;523:11759;;1988:11;523:11759;;;;;;-1:-1:-1;;523:11759:7;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;523:11759;3602:29;523:11759;;;;;;;;;;;3558:8;523:11759;;;;;;;;;;;;;;;;;;;;;;;;;3602:29;523:11759;;;;;;;-1:-1:-1;;523:11759:7;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;5118:43;;;523:11759;;;5211:18;;;;;;523:11759;5231:3;1095;5254:21;;;;;:::i;:::-;523:11759;5254:47;5250:75;;5371:21;;523:11759;5371:21;;;;:::i;:::-;523:11759;;;;;;5357:10;;;;;;:::i;:::-;;:::i;:::-;523:11759;;;5339:17;523:11759;;;;;;5424:10;;;;;;:::i;:::-;5411:47;523:11759;5436:21;;;;;:::i;:::-;523:11759;;;;;;;;;;;;;5411:47;;523:11759;5196:13;;5250:75;4667:15;;;523:11759;5310:15;523:11759;;5310:15;523:11759;;;-1:-1:-1;;;523:11759:7;;;;;;;;;;;;-1:-1:-1;;;523:11759:7;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;1253:37;523:11759;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;523:11759:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;:::i;:::-;;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;-1:-1:-1;;;;;523:11759:7;3008:26;;3004:55;;-1:-1:-1;;;;;523:11759:7;;3069:26;523:11759;;;3069:26;523:11759;;;;3004:55;2370:16;;;523:11759;3043:16;523:11759;;3043:16;523:11759;;;;;;-1:-1:-1;;523:11759:7;;;;-1:-1:-1;;;;;523:11759:7;;:::i;:::-;;;;1476:52;523:11759;;;;;;;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;1095:3;4614:44;;4610:72;;523:11759;4753:40;523:11759;;;;;;;;;;;4692:17;523:11759;;;;;;;;;;;;4753:40;523:11759;;;;;;;-1:-1:-1;;523:11759:7;;;;;;:::i;:::-;2073:10;523:11759;;2064:8;523:11759;;;;;;;;2063:21;:42;;;523:11759;2059:66;;5626:547;523:11759;5626:547;;:::i;2063:42::-;-1:-1:-1;523:11759:7;;-1:-1:-1;;;;;523:11759:7;2073:10;2088:17;;2063:42;;523:11759;;;;;;-1:-1:-1;;523:11759:7;;;;;;;973:8;523:11759;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;:::i;:::-;;;-1:-1:-1;;;;;523:11759:7;;;;;10646:21;;;;10703:15;;523:11759;10703:15;;:::i;:::-;523:11759;10770:23;;;10642:544;523:11759;;;;;;;;;;;;;;;;;;;;;;10642:544;10931:20;;523:11759;10931:20;;:::i;:::-;523:11759;;;;10979:9;523:11759;;;;;;;;;11019:17;523:11759;;;;;;11069:40;11134:41;11069:40;;;;;:::i;:::-;11134:41;;:::i;:::-;10642:544;;;523:11759;;;;;;-1:-1:-1;;523:11759:7;;;;;;;;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;3881:4;3860:25;;3856:56;;3935:38;523:11759;;3856:56;3894:18;;;523:11759;3894:18;523:11759;;3894:18;523:11759;;;;;;-1:-1:-1;;523:11759:7;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;523:11759:7;;;;-1:-1:-1;;;;;523:11759:7;;:::i;:::-;;;;1646:40;523:11759;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;1190:32;523:11759;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;-1:-1:-1;;;;;523:11759:7;;;;;6420:9;523:11759;;;;;;;;;;;;;;;;;;;;;;;;;;;6526:15;523:11759;;;;;6488:54;;523:11759;;6488:54;523:11759;;;;;;;-1:-1:-1;;523:11759:7;;;;5090:6:36;-1:-1:-1;;;;;523:11759:7;5081:4:36;5073:23;5069:145;;523:11759:7;;;-1:-1:-1;;;;;;;;;;;523:11759:7;;;5069:145:36;4844:29;;;523:11759:7;5174:29:36;523:11759:7;;5174:29:36;523:11759:7;;;-1:-1:-1;;523:11759:7;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4667:6:36;523:11759:7;4658:4:36;4650:23;;;:120;;;;523:11759:7;4633:251:36;;;523:11759:7;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;523:11759;;-1:-1:-1;;;6131:52:36;;-1:-1:-1;;;;;523:11759:7;;;;;;;;;6131:52:36;;523:11759:7;;6131:52:36;;;523:11759:7;-1:-1:-1;6127:437:36;;1805:47:48;;;;523:11759:7;6493:60:36;523:11759:7;;;;6493:60:36;6127:437;6225:40;-1:-1:-1;;;;;;;;;;;6225:40:36;;;6221:120;;1748:29:48;;;:34;1744:119;;-1:-1:-1;;;;;;;;;;;523:11759:7;;-1:-1:-1;;;;;;523:11759:7;;;;;2407:36:48;-1:-1:-1;;2407:36:48;523:11759:7;;2458:15:48;:11;;523:11759:7;4065:25:55;;4107:55;4065:25;;;;;;523:11759:7;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;4107:55:55;:::i;:::-;523:11759:7;;;;4107:55:55;:::i;2454:148:48:-;6163:9;;;;6159:70;;523:11759:7;6159:70:48;6199:19;;;523:11759:7;6199:19:48;523:11759:7;;6199:19:48;1744:119;1805:47;;;523:11759:7;1805:47:48;523:11759:7;;;;1805:47:48;6221:120:36;6292:34;;;523:11759:7;6292:34:36;523:11759:7;;;;6292:34:36;6131:52;;;;523:11759:7;6131:52:36;;523:11759:7;6131:52:36;;;;;;523:11759:7;6131:52:36;;;:::i;:::-;;;523:11759:7;;;;;6131:52:36;;;;;;;-1:-1:-1;6131:52:36;;4650:120;-1:-1:-1;;;;;;;;;;;523:11759:7;-1:-1:-1;;;;;523:11759:7;4728:42:36;;;-1:-1:-1;4650:120:36;;;523:11759:7;;;;;;-1:-1:-1;;523:11759:7;;;;;;;;;-1:-1:-1;;;;;523:11759:7;1962:10;:17;1958:41;;4223:14;;;:38;;;523:11759;;;;4293:35;523:11759;;;;;-1:-1:-1;;;523:11759:7;;;;;;;;;;;;-1:-1:-1;;;523:11759:7;;;;;;;4223:38;4241:20;4255:6;4241:20;;;4223:38;;523:11759;;;;;;-1:-1:-1;;523:11759:7;;;;;;:::i;:::-;;;-1:-1:-1;;;;;523:11759:7;;;;;;;;-1:-1:-1;;;;;;;;;;;523:11759:7;;;;;;;4301:16:35;523:11759:7;;;;4724:16:35;;:34;;;;523:11759:7;4803:1:35;4788:16;:50;;;;523:11759:7;4853:13:35;:30;;;;523:11759:7;4849:91:35;;;-1:-1:-1;;523:11759:7;;4803:1:35;523:11759:7;-1:-1:-1;;;;;;;;;;;523:11759:7;;4977:67:35;;523:11759:7;;-1:-1:-1;;;;;;;;;;;523:11759:7;;;;;;;7148:18:35;7144:73;;-1:-1:-1;;;;;523:11759:7;2335:26;;2331:55;;-1:-1:-1;;;;;523:11759:7;;4803:1:35;523:11759:7;;;4803:1:35;523:11759:7;-1:-1:-1;;;;;523:11759:7;;;;;;;;2501:10;-1:-1:-1;;;;;523:11759:7;;;;;;;;2541:3;2521:23;523:11759;2604:4;2579:29;523:11759;5064:101:35;;523:11759:7;5064:101:35;523:11759:7;;;-1:-1:-1;;;;;;;;;;;523:11759:7;5140:14:35;523:11759:7;;;4803:1:35;523:11759:7;;5140:14:35;523:11759:7;7144:73:35;7189:17;;;523:11759:7;7189:17:35;523:11759:7;;7189:17:35;4977:67;-1:-1:-1;;523:11759:7;;;-1:-1:-1;;;;;;;;;;;523:11759:7;4977:67:35;;;4849:91;4906:23;;;523:11759:7;4906:23:35;523:11759:7;;4906:23:35;4853:30;4870:13;;;4853:30;;;4788:50;4816:4;4808:25;:30;;-1:-1:-1;4788:50:35;;4724:34;;;-1:-1:-1;4724:34:35;;523:11759:7;;;;;;-1:-1:-1;;523:11759:7;;;;;;;;-1:-1:-1;;;;;523:11759:7;;;;;;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;;1034:5;523:11759;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;;1095:3;523:11759;;;;;;;;;-1:-1:-1;;523:11759:7;;;;;;-1:-1:-1;;;;;523:11759:7;;;;;;;;;;-1:-1:-1;;;;;523:11759:7;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;523:11759:7;;;;;-1:-1:-1;523:11759:7;;;;;;;;;-1:-1:-1;;523:11759:7;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;523:11759:7;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7372:411::-;523:11759;;7372:411;;;-1:-1:-1;;;;;523:11759:7;;;;;7468:21;7464:74;;7576:20;;7734:42;7576:20;;:::i;:::-;7674:9;;;;;:::i;:::-;7734:42;:::i;:::-;7372:411;:::o;7464:74::-;7512:15;;;;:::i;11725:378::-;523:11759;;-1:-1:-1;;;;;523:11759:7;;;;;11808:21;11804:139;;11972:20;;12058:38;11972:20;;:::i;:::-;12031:9;;;;;:::i;:::-;12058:38;:::i;11804:139::-;11917:15;;;:::i;5626:547::-;523:11759;;-1:-1:-1;;;;;523:11759:7;;;;;5715:21;;5711:74;;523:11759;-1:-1:-1;523:11759:7;5822:9;523:11759;;6076:56;;523:11759;-1:-1:-1;523:11759:7;;5966:8;5868:20;;;:::i;:::-;5966:8;;;:::i;:::-;523:11759;-1:-1:-1;523:11759:7;5822:9;523:11759;;;;-1:-1:-1;523:11759:7;;;;6116:15;;;;;6076:56;;523:11759;;;;;;;;;;;;;;;;;;6076:56;;;;5626:547;:::o;523:11759::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;523:11759:7;;;;;;;:::o;11270:377::-;523:11759;;-1:-1:-1;;;;;523:11759:7;;;;;11353:21;11349:139;;11517:20;;11603:37;11517:20;;:::i;:::-;11576:9;;;;;:::i;:::-;11603:37;:::i;523:11759::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8130:703::-;8368:13;523:11759;;;;-1:-1:-1;;;8368:31:7;;523:11759;8368:31;;523:11759;;8368:13;523:11759;;-1:-1:-1;;;;;523:11759:7;8368:31;;;;;;;-1:-1:-1;;;;;;;8368:31:7;;;8130:703;8455:10;-1:-1:-1;8455:10:7;;;8451:46;;8577:14;;8573:39;;523:11759;;;;;;8626:25;8622:50;;8686:27;:15;;:27;:::i;:::-;8716:22;523:11759;-1:-1:-1;8682:77:7;;8802:4;523:11759;;;;;;8802:4;523:11759;;;;;;;8130:703;:::o;8682:77::-;8600:12;;;-1:-1:-1;8747:12:7;8368:13;-1:-1:-1;8747:12:7;8451:46;8474:23;;;-1:-1:-1;8474:23:7;8368:13;-1:-1:-1;8474:23:7;8368:31;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;523:11759;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8368:31;;;;;;;;;-1:-1:-1;8368:31:7;;;523:11759;;;-1:-1:-1;523:11759:7;;;;;7861:124;523:11759;;-1:-1:-1;;;7947:31:7;;523:11759;7947:31;;523:11759;;7947:31;;523:11759;;-1:-1:-1;;;;;523:11759:7;7947:31;;;;;;;-1:-1:-1;7947:31:7;;;7940:38;7861:124;:::o;7947:31::-;;;;;;;;;;;;;;;;;:::i;:::-;;;523:11759;;;;;7861:124;:::o;7947:31::-;;;-1:-1:-1;7947:31:7;;9825:539;-1:-1:-1;;;;;523:11759:7;-1:-1:-1;523:11759:7;;;9932:9;523:11759;;;;;;;10017:13;;10013:50;;10234:28;1034:5;10140:66;:20;;;;:66;:20;;;10163;;;:::i;:::-;10140:66;;10245:17;523:11759;10234:28;;:::i;:::-;523:11759;-1:-1:-1;10304:53:7;;9825:539::o;10304:53::-;10336:21;;;-1:-1:-1;10336:21:7;;-1:-1:-1;10336:21:7;10140:66;10186:20;;;;:::i;:::-;10140:66;;;10013:50;10046:7;;:::o;9058:683::-;-1:-1:-1;;;;;523:11759:7;;;;;9220:17;523:11759;;;;;;9331:11;;9327:59;;1034:5;523:11759;;;1034:5;523:11759;;;1034:5;9496:44;;;;:::i;:::-;523:11759;9058:683;:::o;9327:59::-;9358:17;;:::o;9058:683::-;-1:-1:-1;;;;;523:11759:7;;;;;9220:17;523:11759;;;;;;9331:11;;9327:59;;1034:5;523:11759;;1034:5;523:11759;;;;1034:5;9657:44;;;;:::i;9058:683::-;-1:-1:-1;;;;;523:11759:7;;;;;9220:17;523:11759;;;;;;9058:683;;9331:11;;9327:59;;9404:331;;;1034:5;523:11759;;;1034:5;523:11759;;;1034:5;9496:44;;;;:::i;9404:331::-;1034:5;523:11759;;1034:5;523:11759;;;;1034:5;9657:44;;;;:::i;9327:59::-;9358:17;;;:::o;4437:582:55:-;;4609:8;;-1:-1:-1;523:11759:7;;5690:21:55;:17;;5815:105;;;;;;5686:301;5957:19;;;5710:1;5957:19;;5710:1;5957:19;4605:408;523:11759:7;;4857:22:55;:49;;;4605:408;4853:119;;4985:17;;:::o;4853:119::-;-1:-1:-1;;;4878:1:55;4933:24;;;-1:-1:-1;;;;;523:11759:7;;;;4933:24:55;523:11759:7;;;4933:24:55;4857:49;4883:18;;;:23;4857:49;","linkReferences":{},"immutableReferences":{"47404":[{"start":2027,"length":32},{"start":2235,"length":32}]}},"methodIdentifiers":{"BASIS_POINTS_DIVISOR()":"126082cf","MAX_SPREAD_BASIS_POINTS()":"0957aed9","PRICE_PRECISION()":"95082d25","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","forceUpdatePrice(address,uint256)":"5d42fb6b","getMaxPrice(address)":"e124e6d2","getMinPrice(address)":"81a612d6","getPrice(address,bool)":"76d69760","getPriceInfo(address)":"8edbf436","gov()":"12d43a51","initialize(address,address)":"485cc955","isKeeper(address)":"6ba42aaa","lastPrice(address)":"f5a6ba2e","maxPriceChangeBps()":"697cd71a","priceStalenesThreshold()":"b3b8a994","proxiableUUID()":"52d1902d","setKeeper(address,bool)":"d1b9e853","setMaxPriceChangeBps(uint256)":"83daeb47","setPriceStalenessThreshold(uint256)":"4915a858","setSpreadBasisPoints(address,uint256)":"9b889380","setSpreadBasisPointsForMultiple(address[],uint256[])":"c9e0c106","setUSDCAddress(address)":"aaf5bfc3","setUSDCPriceFeed(address)":"ed0df72b","spreadBasisPoints(address)":"a27ea386","updatePrice(address)":"96e85ced","upgradeToAndCall(address,bytes)":"4f1ef286","usdcAddress()":"02d45457"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Forbidden\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidChainlinkPrice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxChangeTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PriceChangeTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpreadTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StalePrice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"keeper\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"name\":\"KeeperSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"PriceUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"spreadBps\",\"type\":\"uint256\"}],\"name\":\"SpreadUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASIS_POINTS_DIVISOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_SPREAD_BASIS_POINTS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRICE_PRECISION\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"forceUpdatePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getMaxPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getMinPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_maximise\",\"type\":\"bool\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getPriceInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cachedPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"spread\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gov\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_usdcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_usdcPriceFeed\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isKeeper\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"lastPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxPriceChangeBps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"priceStalenesThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_keeper\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isActive\",\"type\":\"bool\"}],\"name\":\"setKeeper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxPriceChangeBps\",\"type\":\"uint256\"}],\"name\":\"setMaxPriceChangeBps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"setPriceStalenessThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_spreadBasisPoints\",\"type\":\"uint256\"}],\"name\":\"setSpreadBasisPoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_tokens\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_spreadBasisPoints\",\"type\":\"uint256[]\"}],\"name\":\"setSpreadBasisPointsForMultiple\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_usdcAddress\",\"type\":\"address\"}],\"name\":\"setUSDCAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_usdcPriceFeed\",\"type\":\"address\"}],\"name\":\"setUSDCPriceFeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"spreadBasisPoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"updatePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"usdcAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"UUPS\\u53ef\\u5347\\u7ea7\\u5408\\u7ea6\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"forceUpdatePrice(address,uint256)\":{\"params\":{\"_price\":\"\\u65b0\\u4ef7\\u683c\",\"_token\":\"\\u4ee3\\u5e01\\u5730\\u5740\"}},\"getPrice(address,bool)\":{\"params\":{\"_maximise\":\"true=\\u6700\\u5927\\u4ef7\\u683c\\uff08\\u4e0a\\u6d6e\\u4ef7\\u5dee\\uff0c\\u5bf9\\u534f\\u8bae\\u6709\\u5229\\uff09, false=\\u6700\\u5c0f\\u4ef7\\u683c\\uff08\\u4e0b\\u538b\\u4ef7\\u5dee\\uff0c\\u5bf9\\u534f\\u8bae\\u6709\\u5229\\uff09\",\"_token\":\"\\u4ee3\\u5e01\\u5730\\u5740\"},\"returns\":{\"_0\":\"\\u4ef7\\u683c\\uff0830\\u4f4d\\u7cbe\\u5ea6\\uff09 \\u4f7f\\u7528\\u573a\\u666f\\uff1a - \\u6dfb\\u52a0\\u6d41\\u52a8\\u6027\\u65f6AUM\\u8ba1\\u7b97\\uff1a_maximise=true\\uff08\\u9ad8\\u4f30AUM\\uff0c\\u7528\\u6237\\u83b7\\u5f97\\u8f83\\u5c11LP\\uff09 - \\u79fb\\u9664\\u6d41\\u52a8\\u6027\\u65f6AUM\\u8ba1\\u7b97\\uff1a_maximise=false\\uff08\\u4f4e\\u4f30AUM\\uff0c\\u7528\\u6237\\u83b7\\u5f97\\u8f83\\u5c11\\u4ee3\\u5e01\\uff09 - buyUSDY\\u65f6\\uff08\\u7528\\u6237\\u5356\\u4ee3\\u5e01\\uff09\\uff1a_maximise=false\\uff08\\u4f4e\\u4f30\\u7528\\u6237\\u4ee3\\u5e01\\u4ef7\\u503c\\uff09 - sellUSDY\\u65f6\\uff08\\u7528\\u6237\\u4e70\\u4ee3\\u5e01\\uff09\\uff1a_maximise=true\\uff08\\u9ad8\\u4f30\\u9700\\u652f\\u4ed8\\u7684\\u4ee3\\u5e01\\u4ef7\\u503c\\uff09 - swap\\u65f6tokenIn\\uff1a_maximise=false\\uff08\\u4f4e\\u4f30\\u8f93\\u5165\\uff09 - swap\\u65f6tokenOut\\uff1a_maximise=true\\uff08\\u9ad8\\u4f30\\u8f93\\u51fa\\uff09\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"setKeeper(address,bool)\":{\"params\":{\"_isActive\":\"\\u662f\\u5426\\u6fc0\\u6d3b\",\"_keeper\":\"keeper\\u5730\\u5740\"}},\"setMaxPriceChangeBps(uint256)\":{\"params\":{\"_maxPriceChangeBps\":\"\\u6700\\u5927\\u53d8\\u52a8\\uff08\\u57fa\\u70b9\\uff09\"}},\"setPriceStalenessThreshold(uint256)\":{\"params\":{\"_threshold\":\"\\u9608\\u503c\\uff08\\u79d2\\uff09\\uff0c\\u4f8b\\u5982\\uff1a3600 = 1\\u5c0f\\u65f6\\uff0c86400 = 24\\u5c0f\\u65f6\"}},\"setSpreadBasisPoints(address,uint256)\":{\"params\":{\"_spreadBasisPoints\":\"\\u4ef7\\u5dee\\uff08\\u57fa\\u70b9\\uff09\\u4f8b\\u5982\\uff1a10 = 0.1%, 100 = 1%\",\"_token\":\"\\u4ee3\\u5e01\\u5730\\u5740\"}},\"setSpreadBasisPointsForMultiple(address[],uint256[])\":{\"params\":{\"_spreadBasisPoints\":\"\\u4ef7\\u5dee\\u6570\\u7ec4\",\"_tokens\":\"\\u4ee3\\u5e01\\u5730\\u5740\\u6570\\u7ec4\"}},\"setUSDCAddress(address)\":{\"params\":{\"_usdcAddress\":\"USDC\\u5730\\u5740\"}},\"setUSDCPriceFeed(address)\":{\"params\":{\"_usdcPriceFeed\":\"USDC\\u4ef7\\u683cFeed\\u5730\\u5740\"}},\"updatePrice(address)\":{\"params\":{\"_token\":\"\\u4ee3\\u5e01\\u5730\\u5740\"},\"returns\":{\"_0\":\"\\u66f4\\u65b0\\u540e\\u7684\\u4ef7\\u683c\"}},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"\\u9884\\u7559\\u5b58\\u50a8\\u7a7a\\u95f4\\uff0c\\u7528\\u4e8e\\u672a\\u6765\\u5347\\u7ea7\\u65f6\\u6dfb\\u52a0\\u65b0\\u7684\\u72b6\\u6001\\u53d8\\u91cf 50\\u4e2aslot = 50 * 32 bytes = 1600 bytes\"}},\"title\":\"YTPriceFeed\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"forceUpdatePrice(address,uint256)\":{\"notice\":\"\\u5f3a\\u5236\\u66f4\\u65b0\\u4ef7\\u683c\\uff08\\u7d27\\u6025\\u60c5\\u51b5\\uff09\"},\"getMaxPrice(address)\":{\"notice\":\"\\u83b7\\u53d6\\u6700\\u5927\\u4ef7\\u683c\\uff08\\u4e0a\\u6d6e\\u4ef7\\u5dee\\uff09\"},\"getMinPrice(address)\":{\"notice\":\"\\u83b7\\u53d6\\u6700\\u5c0f\\u4ef7\\u683c\\uff08\\u4e0b\\u538b\\u4ef7\\u5dee\\uff09\"},\"getPrice(address,bool)\":{\"notice\":\"\\u83b7\\u53d6YT\\u4ee3\\u5e01\\u4ef7\\u683c\\uff08\\u5e26\\u6ce2\\u52a8\\u4fdd\\u62a4\\u548c\\u4ef7\\u5dee\\uff09\"},\"getPriceInfo(address)\":{\"notice\":\"\\u83b7\\u53d6\\u4ef7\\u683c\\u8be6\\u7ec6\\u4fe1\\u606f\"},\"initialize(address,address)\":{\"notice\":\"\\u521d\\u59cb\\u5316\\u5408\\u7ea6\"},\"setKeeper(address,bool)\":{\"notice\":\"\\u8bbe\\u7f6ekeeper\\u6743\\u9650\"},\"setMaxPriceChangeBps(uint256)\":{\"notice\":\"\\u8bbe\\u7f6e\\u6700\\u5927\\u4ef7\\u683c\\u53d8\\u52a8\\u767e\\u5206\\u6bd4\"},\"setPriceStalenessThreshold(uint256)\":{\"notice\":\"\\u8bbe\\u7f6e\\u4ef7\\u683c\\u8fc7\\u671f\\u9608\\u503c\"},\"setSpreadBasisPoints(address,uint256)\":{\"notice\":\"\\u8bbe\\u7f6e\\u4ee3\\u5e01\\u4ef7\\u5dee\"},\"setSpreadBasisPointsForMultiple(address[],uint256[])\":{\"notice\":\"\\u6279\\u91cf\\u8bbe\\u7f6e\\u4ee3\\u5e01\\u4ef7\\u5dee\"},\"setUSDCAddress(address)\":{\"notice\":\"\\u8bbe\\u7f6eUSDC\\u5730\\u5740\"},\"setUSDCPriceFeed(address)\":{\"notice\":\"\\u8bbe\\u7f6eUSDC\\u4ef7\\u683cFeed\"},\"updatePrice(address)\":{\"notice\":\"\\u66f4\\u65b0\\u5e76\\u7f13\\u5b58\\u4ee3\\u5e01\\u4ef7\\u683c\\uff08keeper\\u8c03\\u7528\\uff09\"}},\"notice\":\"\\u4ef7\\u683c\\u8bfb\\u53d6\\u5668\\uff0c\\u76f4\\u63a5\\u4eceYT\\u5408\\u7ea6\\u8bfb\\u53d6\\u4ef7\\u683c\\u53d8\\u91cf\\uff08\\u5e26\\u4fdd\\u62a4\\u673a\\u5236\\u548c\\u4ef7\\u5dee\\uff09\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ytLp/core/YTPriceFeed.sol\":\"YTPriceFeed\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@eth-optimism/=node_modules/@chainlink/contracts/node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=node_modules/solady/\"],\"viaIR\":true},\"sources\":{\"contracts/interfaces/IYTAssetVault.sol\":{\"keccak256\":\"0xb0a83f0d960d0739bc31898eb3e04d817984a708c53c8b0eaa38c10cf79ce503\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2036d1b7de81fb909e5af2842d97e5a5a55a9b43f1023ec3642c521c592d0f6e\",\"dweb:/ipfs/Qma3adh7SavnDX84zoyizeSQ7bS1NeihWCcnzqEw4rT9nE\"]},\"contracts/ytLp/core/YTPriceFeed.sol\":{\"keccak256\":\"0x5c6c6bf7f428e94fb4052c42d9f74c03aacfd7e089a878ecbb42a0d85a4264c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d836ecfbd83bb37ea865f688e67d27513f0be517ae995ebb2c58830c86d91452\",\"dweb:/ipfs/QmaxXWNH8yH2QaMpCKxov38uUuYnwrAA2C5jtcRhjMry8E\"]},\"node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x257a8d28fa83d3d942547c8e129ef465e4b5f3f31171e7be4739a4c98da6b4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d39e11b1dc7b9b8ccdabbc9be442ab7cda4a81c748f57e316dcb1bcb4a28bf9\",\"dweb:/ipfs/QmaG6vz6W6iEUBsbHSBob5mdcitYxWjoygxREHpsJHfWrS\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"Forbidden"},{"inputs":[],"type":"error","name":"InvalidAddress"},{"inputs":[],"type":"error","name":"InvalidChainlinkPrice"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"MaxChangeTooHigh"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"PriceChangeTooLarge"},{"inputs":[],"type":"error","name":"SpreadTooHigh"},{"inputs":[],"type":"error","name":"StalePrice"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"keeper","type":"address","indexed":true},{"internalType":"bool","name":"isActive","type":"bool","indexed":false}],"type":"event","name":"KeeperSet","anonymous":false},{"inputs":[{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"uint256","name":"oldPrice","type":"uint256","indexed":false},{"internalType":"uint256","name":"newPrice","type":"uint256","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"PriceUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"uint256","name":"spreadBps","type":"uint256","indexed":false}],"type":"event","name":"SpreadUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASIS_POINTS_DIVISOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_SPREAD_BASIS_POINTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRICE_PRECISION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"forceUpdatePrice"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"getMaxPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"getMinPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"bool","name":"_maximise","type":"bool"}],"stateMutability":"view","type":"function","name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"getPriceInfo","outputs":[{"internalType":"uint256","name":"currentPrice","type":"uint256"},{"internalType":"uint256","name":"cachedPrice","type":"uint256"},{"internalType":"uint256","name":"maxPrice","type":"uint256"},{"internalType":"uint256","name":"minPrice","type":"uint256"},{"internalType":"uint256","name":"spread","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_usdcAddress","type":"address"},{"internalType":"address","name":"_usdcPriceFeed","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"isKeeper","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"lastPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxPriceChangeBps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"priceStalenesThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_keeper","type":"address"},{"internalType":"bool","name":"_isActive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setKeeper"},{"inputs":[{"internalType":"uint256","name":"_maxPriceChangeBps","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxPriceChangeBps"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setPriceStalenessThreshold"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_spreadBasisPoints","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setSpreadBasisPoints"},{"inputs":[{"internalType":"address[]","name":"_tokens","type":"address[]"},{"internalType":"uint256[]","name":"_spreadBasisPoints","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"setSpreadBasisPointsForMultiple"},{"inputs":[{"internalType":"address","name":"_usdcAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setUSDCAddress"},{"inputs":[{"internalType":"address","name":"_usdcPriceFeed","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setUSDCPriceFeed"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"spreadBasisPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updatePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[],"stateMutability":"view","type":"function","name":"usdcAddress","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"forceUpdatePrice(address,uint256)":{"params":{"_price":"新价格","_token":"代币地址"}},"getPrice(address,bool)":{"params":{"_maximise":"true=最大价格(上浮价差,对协议有利), false=最小价格(下压价差,对协议有利)","_token":"代币地址"},"returns":{"_0":"价格(30位精度) 使用场景: - 添加流动性时AUM计算:_maximise=true(高估AUM,用户获得较少LP) - 移除流动性时AUM计算:_maximise=false(低估AUM,用户获得较少代币) - buyUSDY时(用户卖代币):_maximise=false(低估用户代币价值) - sellUSDY时(用户买代币):_maximise=true(高估需支付的代币价值) - swap时tokenIn:_maximise=false(低估输入) - swap时tokenOut:_maximise=true(高估输出)"}},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"setKeeper(address,bool)":{"params":{"_isActive":"是否激活","_keeper":"keeper地址"}},"setMaxPriceChangeBps(uint256)":{"params":{"_maxPriceChangeBps":"最大变动(基点)"}},"setPriceStalenessThreshold(uint256)":{"params":{"_threshold":"阈值(秒),例如:3600 = 1小时,86400 = 24小时"}},"setSpreadBasisPoints(address,uint256)":{"params":{"_spreadBasisPoints":"价差(基点)例如:10 = 0.1%, 100 = 1%","_token":"代币地址"}},"setSpreadBasisPointsForMultiple(address[],uint256[])":{"params":{"_spreadBasisPoints":"价差数组","_tokens":"代币地址数组"}},"setUSDCAddress(address)":{"params":{"_usdcAddress":"USDC地址"}},"setUSDCPriceFeed(address)":{"params":{"_usdcPriceFeed":"USDC价格Feed地址"}},"updatePrice(address)":{"params":{"_token":"代币地址"},"returns":{"_0":"更新后的价格"}},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"forceUpdatePrice(address,uint256)":{"notice":"强制更新价格(紧急情况)"},"getMaxPrice(address)":{"notice":"获取最大价格(上浮价差)"},"getMinPrice(address)":{"notice":"获取最小价格(下压价差)"},"getPrice(address,bool)":{"notice":"获取YT代币价格(带波动保护和价差)"},"getPriceInfo(address)":{"notice":"获取价格详细信息"},"initialize(address,address)":{"notice":"初始化合约"},"setKeeper(address,bool)":{"notice":"设置keeper权限"},"setMaxPriceChangeBps(uint256)":{"notice":"设置最大价格变动百分比"},"setPriceStalenessThreshold(uint256)":{"notice":"设置价格过期阈值"},"setSpreadBasisPoints(address,uint256)":{"notice":"设置代币价差"},"setSpreadBasisPointsForMultiple(address[],uint256[])":{"notice":"批量设置代币价差"},"setUSDCAddress(address)":{"notice":"设置USDC地址"},"setUSDCPriceFeed(address)":{"notice":"设置USDC价格Feed"},"updatePrice(address)":{"notice":"更新并缓存代币价格(keeper调用)"}},"version":1}},"settings":{"remappings":["@arbitrum/=node_modules/@arbitrum/","@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@eth-optimism/=node_modules/@chainlink/contracts/node_modules/@eth-optimism/","@offchainlabs/=node_modules/@offchainlabs/","@openzeppelin/=node_modules/@openzeppelin/","@scroll-tech/=node_modules/@scroll-tech/","@zksync/=node_modules/@zksync/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","solady/=node_modules/solady/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/ytLp/core/YTPriceFeed.sol":"YTPriceFeed"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"contracts/interfaces/IYTAssetVault.sol":{"keccak256":"0xb0a83f0d960d0739bc31898eb3e04d817984a708c53c8b0eaa38c10cf79ce503","urls":["bzz-raw://2036d1b7de81fb909e5af2842d97e5a5a55a9b43f1023ec3642c521c592d0f6e","dweb:/ipfs/Qma3adh7SavnDX84zoyizeSQ7bS1NeihWCcnzqEw4rT9nE"],"license":"MIT"},"contracts/ytLp/core/YTPriceFeed.sol":{"keccak256":"0x5c6c6bf7f428e94fb4052c42d9f74c03aacfd7e089a878ecbb42a0d85a4264c3","urls":["bzz-raw://d836ecfbd83bb37ea865f688e67d27513f0be517ae995ebb2c58830c86d91452","dweb:/ipfs/QmaxXWNH8yH2QaMpCKxov38uUuYnwrAA2C5jtcRhjMry8E"],"license":"MIT"},"node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol":{"keccak256":"0x257a8d28fa83d3d942547c8e129ef465e4b5f3f31171e7be4739a4c98da6b4f0","urls":["bzz-raw://6d39e11b1dc7b9b8ccdabbc9be442ab7cda4a81c748f57e316dcb1bcb4a28bf9","dweb:/ipfs/QmaG6vz6W6iEUBsbHSBob5mdcitYxWjoygxREHpsJHfWrS"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05","urls":["bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08","dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63","urls":["bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec","dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5","urls":["bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c","dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b","urls":["bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422","dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618","urls":["bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a","dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b","urls":["bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d","dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0","urls":["bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f","dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"}},"version":1},"id":7}