0 txs
0 calls
constructor
No constructor.
functions
ADDRESS_PROVIDER
viewfunction ADDRESS_PROVIDER() view returns (address)
addressExecutionLogic
viewfunction addressExecutionLogic() view returns (address)
addressPositionManager
viewfunction addressPositionManager() view returns (address)
addressStakingPool
viewfunction addressStakingPool() view returns (address)
getKeeperNetworkFee
viewfunction getKeeperNetworkFee(address account, uint8 paymentType) view returns (uint256)
getRegularTradingFeeTier
viewfunction getRegularTradingFeeTier(uint256 pairIndex) view returns (tuple)
getTradingFeeTier
viewfunction getTradingFeeTier(uint256 pairIndex, uint8 tier) view returns (tuple)
keeperNetworkFee
viewfunction keeperNetworkFee(address, uint8) view returns (uint256)
maxReferralsRatio
viewfunction maxReferralsRatio() view returns (uint256)
pledgeAddress
viewfunction pledgeAddress() view returns (address)
pool
viewfunction pool() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
referralFee
viewfunction referralFee(address) view returns (uint256)
stakingTradingFee
viewfunction stakingTradingFee() view returns (uint256)
tradingFeeTiers
viewfunction tradingFeeTiers(uint256, uint8) view returns (uint256 makerFee, uint256 takerFee)
treasuryFee
viewfunction treasuryFee() view returns (uint256)
userTradingFee
viewfunction userTradingFee(address) view returns (uint256)
claimKeeperNetworkFee
nonpayablefunction claimKeeperNetworkFee(uint8 paymentType) returns (uint256)
claimReferralFee
nonpayablefunction claimReferralFee() returns (uint256)
claimStakingTradingFee
nonpayablefunction claimStakingTradingFee() returns (uint256)
claimTreasuryFee
nonpayablefunction claimTreasuryFee() returns (uint256)
claimUserTradingFee
nonpayablefunction claimUserTradingFee() returns (uint256)
distributeNetworkFee
nonpayablefunction distributeNetworkFee(address keeper, uint8 paymentType, uint256 networkFeeAmount)
distributeTradingFee
nonpayablefunction distributeTradingFee(tuple pair, address account, address keeper, uint256 sizeDelta, uint256 tradingFee, uint256 vipFeeRate, uint256 referralsRatio, uint256 referralUserRatio, address referralOwner) returns (uint256 lpAmount, uint256 vipDiscountAmount)
initialize
nonpayablefunction initialize(address addressesProvider, address _pool, address _pledgeAddress)
updateExecutionLogicAddress
nonpayablefunction updateExecutionLogicAddress(address newAddress)
updateMaxReferralsRatio
nonpayablefunction updateMaxReferralsRatio(uint256 newRatio)
updatePositionManagerAddress
nonpayablefunction updatePositionManagerAddress(address newAddress)
updateStakingPoolAddress
nonpayablefunction updateStakingPoolAddress(address newAddress)
updateTradingFeeTier
nonpayablefunction updateTradingFeeTier(uint256 pairIndex, uint8 tier, tuple tierFee)
updateTradingFeeTiers
nonpayablefunction updateTradingFeeTiers(uint256 pairIndex, uint8[] tiers, tuple[] tierFees)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
ClaimedDistributorTradingFee
event ClaimedDistributorTradingFee(address account, address claimToken, uint256 amount)
ClaimedKeeperNetworkFee
event ClaimedKeeperNetworkFee(address account, address claimToken, uint256 amount)
ClaimedReferralsTradingFee
event ClaimedReferralsTradingFee(address account, address claimToken, uint256 amount)
ClaimedStakingTradingFee
event ClaimedStakingTradingFee(address account, address claimToken, uint256 amount)
ClaimedUserTradingFee
event ClaimedUserTradingFee(address account, address claimToken, uint256 amount)
DistributeTradingFee
event DistributeTradingFee(address account, uint256 pairIndex, uint256 sizeDelta, uint256 tradingFee, uint256 vipDiscountAmount, uint256 vipFeeRate, uint256 referralsAmount, uint256 referralUserAmount, address referralOwner, uint256 lpAmount, uint256 keeperAmount, uint256 stakingAmount, uint256 distributorAmount)
Initialized
event Initialized(uint8 version)
UpdatedPositionManagerAddress
event UpdatedPositionManagerAddress(address sender, address oldAddress, address newAddress)
UpdatedStakingPoolAddress
event UpdatedStakingPoolAddress(address sender, address oldAddress, address newAddress)
UpdatedTradingFeeTier
event UpdatedTradingFeeTier(address sender, uint8 tier, uint256 oldTakerFee, uint256 oldMakerFee, uint256 newTakerFee, uint256 newMakerFee)
UpdateExecutionLogicAddress
event UpdateExecutionLogicAddress(address sender, address oldAddress, address newAddress)
UpdateMaxReferralsRatio
event UpdateMaxReferralsRatio(uint256 oldRatio, uint256 newRatio)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a0806040523461003157306080526128c490816100378239608051818181610ec901528181610ff8015261134f0152f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081630573e0e21461215b575080630675efbe146120665780630bc65d4f14611ec057806316f0115b14611e975780631848effa14611e6e5780632174981c14611e3557806321cd875e14611ccc57806322bb50d714611bfd57806325cdb61d146116ff5780632cc712b3146115f55780633659cfe61461132a5780634c30e65a1461130c5780634f1ef28614610f7a57806352d1902d14610eb65780636b6596b314610dac5780636f39866f14610ca557806371d3cd8814610c6c5780638010da5214610c13578063827ec6d314610bea57806395d1e402146104b0578063a900e5e214610b70578063ba600978146108fc578063bba295a1146108d3578063bf64d29b146107d2578063c0c53b8b1461065b578063c43633c314610506578063cc32d176146104e8578063cf81a380146104b0578063d1260a36146102b3578063d1c9b4e11461028a578063e0a937be14610261578063ea396695146102195763fe7f7e561461018c57600080fd5b34610216576060366003190112610216576101a5612177565b60243560038110156102125760a1546001600160a01b0390811633148015610205575b6101d190612626565b816101da578380f35b6101ef92168352609e60205260408320612287565b6101fc604435825461268b565b90553880808380f35b5060a254811633146101c8565b8280fd5b80fd5b503461021657604036600319011261021657604080916102376121a8565b6004358252609860205260ff83832091168252602052206001815491015482519182526020820152f35b503461021657806003193601126102165760a2546040516001600160a01b039091168152602090f35b503461021657806003193601126102165760a0546040516001600160a01b039091168152602090f35b503461021657602036600319011261021657600435906003821015610216576102da6125d0565b338152609e6020526102ef8260408320612287565b5490809282610352575b604080513381526001600160a01b03861660208281019190915291810185905284907f6aa4ca42750cc93fe27622293e126efa4d3b256f3297705edbceefd755a9e2009080606081015b0390a160018055604051908152f35b338252609e602052816103688260408320612287565b5560018103610406575060a3546001600160a01b0316803b156104025781809160446040518094819363ad38fba560e01b83523360048401528860248401525af180156103f7576103e3575b50507f6aa4ca42750cc93fe27622293e126efa4d3b256f3297705edbceefd755a9e200816020935b93506102f9565b6103ed82916121b8565b61021657806103b4565b6040513d84823e3d90fd5b5080fd5b600214610439575b507f6aa4ca42750cc93fe27622293e126efa4d3b256f3297705edbceefd755a9e200816020936103dc565b609f5460a3546001600160a01b03918216945016803b1561040257604051630d172a0160e01b81526001600160a01b0385166004820152336024820152604481018490529082908290606490829084905af180156103f75761049c575b5061040e565b6104a682916121b8565b6102165780610496565b5034610216576104df60209160406104c736612258565b6001600160a01b039091168352609e85529120612287565b54604051908152f35b50346102165780600319360112610216576020609c54604051908152f35b503461021657602080600319360112610402576004610523612177565b60975460405162435da560e01b81526001600160a01b03949093909182918591829088165afa9283156106235784938291879161062e575b50602460405180978193637be53ca160e01b8352336004840152165afa8015610623577fa9d6579d26018662fc5c25b6cb8f6f34284f341badecf783561fdddadf2e25bc946105b29287926105f6575b505061252a565b60a180548284166001600160a01b031982161790915560408051338152939091166001600160a01b0390811660208501529091169082015280606081015b0390a180f35b6106159250803d1061061c575b61060d818361221a565b810190612512565b38806105ab565b503d610603565b6040513d87823e3d90fd5b61064e9150823d8411610654575b610646818361221a565b8101906124f3565b3861055b565b503d61063c565b5034610216576060366003190112610216576001600160a01b036004358181169081900361021257602435918083168093036107ce57610699612192565b84549360ff8560081c1615948580966107c1575b80156107aa575b1561074e5760ff19811660011787558561073d575b506bffffffffffffffffffffffff60a01b938460975416176097558360a354161760a3551690609f541617609f556302faf0806099556107065780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff1916610101178655386106c9565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156106b45750600160ff8216146106b4565b50600160ff8216106106ad565b8380fd5b50346102165780600319360112610216576107eb6125d0565b338152609b6020526040812080549081610853575b609f54604080513381526001600160a01b039092166020808401919091529082018490529083907fadb5518026fc9d2ea14ec99aef6fea15d3b9379f4f83ba7cb9e7c4563722ed65908060608101610343565b82905560a354609f546001600160a01b0391821691849116823b1561040257604051630d172a0160e01b81526001600160a01b0391909116600482015233602482015260448101849052918290606490829084905af180156108c85715610800576108be83916121b8565b6104025781610800565b6040513d85823e3d90fd5b5034610216578060031936011261021657609f546040516001600160a01b039091168152602090f35b50346102165760603660031901126102165760043560249182359167ffffffffffffffff8084116102125736602385011215610212578360040135610940816122b5565b9461094e604051968761221a565b818652602091878388019160051b83010191368311610b4f578801905b828210610b53575050506044359182116107ce57366023830112156107ce57816004013591610999836122b5565b926109a7604051948561221a565b808452878385019160061b83010191368311610b4f578801905b828210610b1f57505060975460405162435da560e01b81526001600160a01b0392509083908290600490829086165afa908115610b14579083918791610af7575b508860405180948193637be53ca160e01b8352336004840152165afa9081156106235790610a37918691610ada575b5061252a565b8451825103610a975750825b8451811015610a9357610a6f60ff610a5b8388612566565b5116610a678385612566565b519085612698565b6000198114610a8057600101610a43565b634e487b7160e01b845260116004528584fd5b8380f35b606490601a876040519262461bcd60e51b845260048401528201527f696e636f6e73697374656e7420706172616d73206c656e6774680000000000006044820152fd5b610af19150833d851161061c5761060d818361221a565b38610a31565b610b0e9150823d841161065457610646818361221a565b38610a02565b6040513d88823e3d90fd5b604082360312610b4f57836040918251610b38816121e2565b8435815282850135838201528152019101906109c1565b8680fd5b813560ff81168103610b6c57815290830190830161096b565b8780fd5b503461021657602036600319011261021657604081610be69260208351610b96816121e2565b82815201526004358152609860205281812081805260205220600160405191610bbe836121e2565b8054835201546020820152604051918291829190916020806040830194805184520151910152565b0390f35b503461021657806003193601126102165760a1546040516001600160a01b039091168152602090f35b5034610216576040366003190112610216576040610be691610c336121a8565b8160208451610c41816121e2565b82815201526004358252609860205260ff8383209116825260205220600160405191610bbe836121e2565b5034610216576020366003190112610216576020906040906001600160a01b03610c94612177565b168152609b83522054604051908152f35b5034610216576020806003193601126104025760975460405162435da560e01b81526001600160a01b0392600480359391929183918391829088165afa80156106235782918691610d8f575b50602460405180968193637be53ca160e01b8352336004840152165afa918215610d8457610d496040937f8d8643d813dcbbbd5de899ec82d8777633c5e4a670a9b891a8267f3473bf72d9958791610d6d575061252a565b610d596305f5e100821115612590565b60995491816099558351928352820152a180f35b610af19150843d861161061c5761060d818361221a565b6040513d86823e3d90fd5b610da69150823d841161065457610646818361221a565b38610cf1565b503461021657602080600319360112610402576004610dc9612177565b60975460405162435da560e01b81526001600160a01b03949093909182918591829088165afa92831561062357849382918791610e99575b50602460405180978193637be53ca160e01b8352336004840152165afa8015610623577f734c9070a2efc9930a9111780922ea17a5b38c45d3346b0d1e6b748d39f8b6dd94610e579287926105f657505061252a565b60a080548284166001600160a01b031982161790915560408051338152939091166001600160a01b0390811660208501529091169082015280606081016105f0565b610eb09150823d841161065457610646818361221a565b38610e01565b50346102165780600319360112610216577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610f0f57602060405160008051602061286f8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b50604036600319011261021657610f8f612177565b9060249182359267ffffffffffffffff8411610212573660238501121561021257836004013593610fbf8561223c565b610fcc604051918261221a565b8581526020958682019236858383010111610b4f57818792868a93018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690611026308314156122cd565b61104360008051602061286f83398151915292828454161461232e565b6004888260975416604051928380926334cc866d60e21b82525afa9081156113015790829189916112e4575b501633036112aa577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110b45750505050506110b191925061238f565b80f35b85929394969516906040516352d1902d60e01b81528881600481865afa87918161127b575b506111395760405162461bcd60e51b8152600481018a9052602e818a01527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b97949691929395970361122657506111508261238f565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8680a28483511580159061121e575b61118d575b505050505080f35b8061120a956040519561119f876121fe565b602787527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c86880152660819985a5b195960ca1b60408801525190845af4903d15611215573d6111ee8161223c565b906111fc604051928361221a565b81528681943d92013e61241f565b503880808084611185565b6060925061241f565b506001611180565b8360296084926040519262461bcd60e51b845260048401528201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152fd5b9091508981813d83116112a3575b611293818361221a565b81010312610b6c575190386110d9565b503d611289565b60405162461bcd60e51b81526004810189905260138187015272556e617574686f72697a65642061636365737360681b6044820152606490fd5b6112fb91508a3d8c1161065457610646818361221a565b3861106f565b6040513d8a823e3d90fd5b50346102165780600319360112610216576020609954604051908152f35b50346102165760208060031936011261040257611345612177565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811661137c308214156122cd565b61139960008051602061286f83398151915291838354161461232e565b6004848360975416604051928380926334cc866d60e21b82525afa8015610b1457839187916115d8575b5016330361159d57604051908482019282841067ffffffffffffffff851117611589578360405286835260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143541660001461142757505050506110b1915061238f565b8492939416906040516352d1902d60e01b81528681600481865afa889181611556575b506114ab5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95939495036114ff576114bd8261238f565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8680a2848351158015906114f85761118d57505050505080f35b5080611180565b60405162461bcd60e51b815260048101849052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d8311611582575b61156e818361221a565b8101031261157e5751903861144a565b8880fd5b503d611564565b634e487b7160e01b87526041600452602487fd5b60405162461bcd60e51b8152600481018590526013602482015272556e617574686f72697a65642061636365737360681b6044820152606490fd5b6115ef9150863d881161065457610646818361221a565b386113c3565b503461021657602080600319360112610402576004611612612177565b60975460405162435da560e01b81526001600160a01b03949093909182918591829088165afa928315610623578493829187916116e2575b50602460405180978193637be53ca160e01b8352336004840152165afa8015610623577fdcf17aa007ac050510781011bad8797bb05d421828e58d838454feac9527da94946116a09287926105f657505061252a565b60a280548284166001600160a01b031982161790915560408051338152939091166001600160a01b0390811660208501529091169082015280606081016105f0565b6116f99150823d841161065457610646818361221a565b3861164a565b5034610216573660031901610260811261040257610160136102165760405167ffffffffffffffff90610160810182811182821017611be95760405260043581526024356001600160a01b03811681036107ce576020820152611760612192565b60408201526064356001600160a01b03811681036107ce57606082015260843580151581036107ce57608082015260a43560a082015260c43560c082015260e43560e0820152610104356101008201526101243561012082015261014435610140820152610164356001600160a01b03811681036107ce5761018435916001600160a01b0383168303611be557610244356001600160a01b0381168103611be15760a1546001600160a01b031633148015611bcd575b61181f90612626565b60018060a01b0360a354169460c08351602460405180998193630da67fe760e01b835260048301525afa958615611bc2578796611b2c575b50506118696101e4356101a4356127c5565b806101c43511600014611b2457611883906101c435612668565b935b6001600160a01b0384168752609b6020526040872080546118a790879061268b565b90556118b6856101c435612668565b87918291906001600160a01b038516611a63575b6118d58951836127c5565b9860018060a01b0360a354168b8851823b156104025760448d91836040519586948593633a336ee160e01b8552600485015260248401525af18015611a5857937f2010f5b06b4d0c707f75e20f6e3c0006b18c57b28b38bd7ac4931afa617962b19997936101a09997938d979360409f97611a30575b506119af92918f6119936020848361196c6119aa956119aa980151896127c5565b9c8d9660018060a01b03168152609b84522061198986825461268b565b90550151856127c5565b998a946119a286609a5461268b565b609a55612668565b612668565b956119bc87609c5461268b565b609c55518c519760018060a01b0316885260208801526101a4358c8801526101c43560608801528960808801526101e43560a088015260c087015260e086015260018060a01b031661010085015287610120850152610140840152610160830152610180820152a182519182526020820152f35b916119aa61199360206119aa949a611a4b6119af98976121b8565b9a9450505050919261194b565b6040513d8e823e3d90fd5b9150915060995490611b0361020435838110600014611b1857611aad611a8a825b876127c5565b948592610224359080821015611b105750905b80821015611b0957505b866127c5565b9460018060a01b0389168c52609b60205260408c20611acd87825461268b565b90558b611afc6040611adf8986612668565b6001600160a01b038b168452609d6020529220805490929061268b565b9055612668565b906118ca565b9050611aa7565b905090611a9d565b611aad611a8a85611a84565b508593611885565b9091955060c0813d60c011611bba575b81611b4960c0938361221a565b81010312610b4f576040519160c0830190811183821017611ba6579060a0916040528051835260208101516020840152604081015160408401526060810151606084015260808101516080840152015160a0820152933880611857565b634e487b7160e01b88526041600452602488fd5b3d9150611b3c565b6040513d89823e3d90fd5b5060a2546001600160a01b03163314611816565b8580fd5b8480fd5b634e487b7160e01b84526041600452602484fd5b503461021657608036600319011261021657611c176121a8565b604036604319011261040257604051611c2f816121e2565b60443581526020916064358383015260018060a01b039260048185609754166040519283809262435da560e01b82525afa8015610b145782918791611caf575b50602460405180978193637be53ca160e01b8352336004840152165afa8015610623576110b194611ca79287926105f657505061252a565b600435612698565b611cc69150823d841161065457610646818361221a565b38611c6f565b503461021657806003193601126102165760a0546001600160a01b03919082163303611dfe57609a549081611d57575b50609f5460408051338152939091166001600160a01b0316602080850191909152908301829052917f7cbfce450d86d072cc64cb36b59987e581a167970f24d146cffd16a5f77388389080606081015b0390a1604051908152f35b80609a558260a3541683609f5416813b1561021257604051630d172a0160e01b81526001600160a01b0391909116600482015233602482015260448101849052919081908390606490829084905af1908115611df257506020937f7cbfce450d86d072cc64cb36b59987e581a167970f24d146cffd16a5f7738838928492611de3575b50935050611cfc565b611dec906121b8565b38611dda565b604051903d90823e3d90fd5b60405162461bcd60e51b815260206004820152600f60248201526e1bdb9b1e54dd185ada5b99d41bdbdb608a1b6044820152606490fd5b5034610216576020366003190112610216576020906040906001600160a01b03611e5d612177565b168152609d83522054604051908152f35b50346102165780600319360112610216576097546040516001600160a01b039091168152602090f35b503461021657806003193601126102165760a3546040516001600160a01b039091168152602090f35b503461021657806003193601126102165760975460405162435da560e01b8152602092916001600160a01b03919084908290600490829086165afa9081156108c857829185918591612049575b50602460405180948193637be53ca160e01b8352336004840152165afa9081156108c85790611f42918491612032575061252a565b609c54809281611f99575b50609f5460408051338152939091166001600160a01b031660208401528201527f7cd2f922719d2da6fc255044198ec1783ebcd6de966c8a4c06091f869ab148cb908060608101611d4c565b809150609c558160a3541682609f5416813b1561021257604051630d172a0160e01b81526001600160a01b0391909116600482015233602482015260448101859052919081908390606490829084905af1908115611df257509183917f7cd2f922719d2da6fc255044198ec1783ebcd6de966c8a4c06091f869ab148cb93612023575b5091611f4d565b61202c906121b8565b3861201c565b610af19150853d871161061c5761060d818361221a565b6120609150823d841161065457610646818361221a565b38611f0d565b503461021657806003193601126102165761207f6125d0565b338152609d60205260408120805490816120e7575b609f54604080513381526001600160a01b039092166020808401919091529082018490529083907fc2b7adbcbc6d7a657fcc30667c4479d265333a3c03367c99baa0d85465ce4b17908060608101610343565b82905560a354609f546001600160a01b0391821691849116823b1561040257604051630d172a0160e01b81526001600160a01b0391909116600482015233602482015260448101849052918290606490829084905af180156108c857602093501561209457612155906121b8565b38612094565b905034610402578160031936011261040257602090609a548152f35b600435906001600160a01b038216820361218d57565b600080fd5b604435906001600160a01b038216820361218d57565b6024359060ff8216820361218d57565b67ffffffffffffffff81116121cc57604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176121cc57604052565b6060810190811067ffffffffffffffff8211176121cc57604052565b90601f8019910116810190811067ffffffffffffffff8211176121cc57604052565b67ffffffffffffffff81116121cc57601f01601f191660200190565b604090600319011261218d576004356001600160a01b038116810361218d5790602435600381101561218d5790565b90600381101561229f57600052602052604060002090565b634e487b7160e01b600052602160045260246000fd5b67ffffffffffffffff81116121cc5760051b60200190565b156122d457565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561233557565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156123c45760008051602061286f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b919290156124815750815115612433575090565b3b1561243c5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156124945750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106124da575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506124b7565b9081602091031261218d57516001600160a01b038116810361218d5790565b9081602091031261218d5751801515810361218d5790565b1561253157565b60405162461bcd60e51b815260206004820152600d60248201526c37b7363ca837b7b620b236b4b760991b6044820152606490fd5b805182101561257a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561259757565b60405162461bcd60e51b815260206004820152601160248201527065786365656473206d617820726174696f60781b6044820152606490fd5b6002600154146125e1576002600155565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b1561262d57565b60405162461bcd60e51b815260206004820152601360248201527237b7363ca837b9b4ba34b7b726b0b730b3b2b960691b6044820152606490fd5b9190820391821161267557565b634e487b7160e01b600052601160045260246000fd5b9190820180921161267557565b9160c0917f9564e72dadfc5abb312797f4bc3d066d92c545d38d07904a5272fff0d1f793bb936000818152602093609885526040808320838052865261270b8660ff8386209784516126e9816121e2565b60018a549a8b835201549384910152169687159182156127a3575b5050612590565b8383526098865280832085845286528080842092600182519461272d866121e2565b805486520154908885019182528686526098895282862088875289526001898488209280518455015191015551925193858152609888528181208782528852600182822001549581526098885281812087825288522054948151963388528701528501526060840152608083015260a0820152a1565b858a015111159150816127b9575b503880612704565b905083511115386127b1565b9060001981830981830291828083109203918083039214612861576305f5e1009082821115612824577facbe0e98f503f8881186e60dbb7f727bf36b7213ee9f5a78c767074b22e90e21940990828211900360f81b910360081c170290565b60405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606490fd5b50506305f5e1009150049056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212204fca3890ac148a0b778e0d98242dacc6910035676ca0af21fcded9f11420001c64736f6c63430008130033