0 txs
57.3k calls
constructor
No constructor.
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getCodeOf
viewfunction getCodeOf(address trader) view returns (bytes32 code, address codeRecipient, uint256 tier, uint256 discountRate, uint256 rebateRate)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isFeeDistributorUser
viewfunction isFeeDistributorUser(address addr) view returns (bool)
lpRewardRatio
viewfunction lpRewardRatio() view returns (uint256)
mux3Facet
viewfunction mux3Facet() view returns (address)
orderBook
viewfunction orderBook() view returns (address)
referralManager
viewfunction referralManager() view returns (address)
referralTiers
viewfunction referralTiers() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
unclaimedVeReward
viewfunction unclaimedVeReward(address) view returns (uint256)
weth
viewfunction weth() view returns (address)
claimVeReward
nonpayablefunction claimVeReward(address tokenAddress)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address mux3Facet_, address orderBook_, address referralManager_, address referralTiers_, address weth_)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setFeeRatio
nonpayablefunction setFeeRatio(uint256 lpRewardRatio_)
setReferralManager
nonpayablefunction setReferralManager(address referralManager_)
updateLiquidityFees
nonpayablefunction updateLiquidityFees(address lp, address poolAddress, address tokenAddress, uint256 rawAmount, bool isUnwrapWeth)
updatePositionFees
nonpayablefunction updatePositionFees(address trader, address[] tokenAddresses, uint256[] rawAmounts, address[] backedPools, uint256[] allocations, bool isUnwrapWeth)
events
ClaimVeReward
event ClaimVeReward(address indexed tokenAddress, uint256 rawAmount)
FeeDistributedAsDiscount
event FeeDistributedAsDiscount(address indexed tokenAddress, address indexed trader, uint256 rawAmount)
FeeDistributedAsRebate
event FeeDistributedAsRebate(address indexed tokenAddress, address indexed trader, uint256 rawAmount)
FeeDistributedToLP
event FeeDistributedToLP(address indexed tokenAddress, address indexed poolAddress, uint256 rawAmount)
FeeDistributedToVe
event FeeDistributedToVe(address indexed tokenAddress, uint256 rawAmount)
Initialized
event Initialized(uint8 version)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SetFeeRatio
event SetFeeRatio(uint256 lpRewardRatio, uint256 placeHolder1, uint256 placeHolder2, uint256 placeHolder3)
SetReferralManager
event SetReferralManager(address indexed referralManager)
errors
InvalidAddress
error InvalidAddress(address addr)
creation bytecode
0x60808060405234601557612650908161001a8239f35b5f80fdfe60806040526004361015610022575b3615610018575f80fd5b610020611674565b005b5f3560e01c806301ffc9a7146101a15780630e1c34381461019c5780631459457a1461019757806319f4ff2f14610192578063248a9ca31461018d5780632ccd9623146101885780632f2ff15d1461018357806336568abe1461017e5780633fc8cef31461017957806359f9c98a146101745780635b5e09261461016f578063651ea0541461016a57806370ea4ab914610165578063776af5ba14610160578063829adfe61461015b5780639010d07c1461015657806391d1485414610151578063a217fddf1461014c578063abc4bf9814610147578063c5f3a4c414610142578063ca15c8731461013d578063d547741f14610138578063e5825e6e146101335763f8ca87f10361000e57610c88565b610b4f565b610b0e565b610ae4565b610a33565b6109f8565b6109de565b61098c565b610947565b61091f565b6108f7565b6108a9565b610881565b6107d3565b61064e565b61060f565b610579565b61048e565b610466565b610429565b61037f565b610266565b610235565b346102115760203660031901126102115760043563ffffffff60e01b811680910361021157602090635a05180f60e01b81149081156101e6575b506040519015158152f35b637965db0b60e01b811491508115610200575b505f6101db565b6301ffc9a760e01b1490505f6101f9565b5f80fd5b6001600160a01b0381160361021157565b6004359061023382610215565b565b3461021157602036600319011261021157602061025c60043561025781610215565b610ca5565b6040519015158152f35b346102115760a03660031901126102115760043561028381610215565b6102f760243561029281610215565b60443561029e81610215565b606435906102ab82610215565b608435926102b884610215565b5f54956102dd60ff600889901c161580988199610371575b8115610351575b50610d94565b866102ee600160ff195f5416175f55565b61033a57610df7565b6102fd57005b61030b61ff00195f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b61034c61010061ff00195f5416175f55565b610df7565b303b15915081610363575b505f6102d7565b60ff1660011490505f61035c565b600160ff82161091506102d0565b346102115760203660031901126102115760043561039b6118b7565b670de0b6b3a764000081116103ed576080817f09c5f6887766ca1cd034f97591c117014f1d5c93b445a5a2386d72190f8ba41c9260cd556040519081525f60208201525f60408201525f6060820152a1005b60405162461bcd60e51b815260206004820152601460248201527353756d206f6620616c6c20726174696f203e203160601b6044820152606490fd5b346102115760203660031901126102115760206104546004355f526065602052600160405f20015490565b604051908152f35b5f91031261021157565b34610211575f3660031901126102115760ca546040516001600160a01b039091168152602090f35b346102115760403660031901126102115761002060243561050a6004356104b483610215565b6104d26104cd825f526065602052600160405f20015490565b61197a565b5f8181526065602090815260408083206001600160a01b038716845290915290205460ff161561050f575f52609760205260405f2090565b611d47565b5f8181526065602090815260408083206001600160a01b03871684529091529020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a45f52609760205260405f2090565b346102115760403660031901126102115760043560243561059981610215565b336001600160a01b038216036105b257610020916119bd565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b34610211575f3660031901126102115760ce546040516001600160a01b039091168152602090f35b8015150361021157565b60a4359061023382610637565b346102115760a03660031901126102115761002060043561066e81610215565b60243561067a81610215565b60443561068681610215565b606435916084359361069785610637565b6106a86106a333610ca5565b610f22565b610f6d565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176106e357604052565b6106ad565b6040519061023360c0836106c1565b67ffffffffffffffff81116106e35760051b60200190565b9080601f83011215610211578135610726816106f7565b9261073460405194856106c1565b81845260208085019260051b82010192831161021157602001905b82821061075c5750505090565b60208091833561076b81610215565b81520191019061074f565b9080601f8301121561021157813561078d816106f7565b9261079b60405194856106c1565b81845260208085019260051b82010192831161021157602001905b8282106107c35750505090565b81358152602091820191016107b6565b346102115760c0366003190112610211576107ec610226565b60243567ffffffffffffffff81116102115761080c90369060040161070f565b9060443567ffffffffffffffff81116102115761082d903690600401610776565b9160643567ffffffffffffffff81116102115761084e90369060040161070f565b6084359367ffffffffffffffff851161021157610872610020953690600401610776565b9261087b610641565b94610fdb565b34610211575f3660031901126102115760c9546040516001600160a01b039091168152602090f35b346102115760203660031901126102115760a06108d06004356108cb81610215565b611393565b92604092919251948552600180871b03166020850152604084015260608301526080820152f35b34610211575f3660031901126102115760cf546040516001600160a01b039091168152602090f35b34610211575f3660031901126102115760cb546040516001600160a01b039091168152602090f35b34610211576040366003190112610211576020610973600435602435905f526097835260405f20611f6f565b905460405160039290921b1c6001600160a01b03168152f35b3461021157604036600319011261021157602060ff6109d26024356004356109b382610215565b5f526065845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610211575f3660031901126102115760206040515f8152f35b3461021157602036600319011261021157600435610a1581610215565b60018060a01b03165f5260cc602052602060405f2054604051908152f35b3461021157602036600319011261021157600435610a5081610215565b610a586118b7565b6001600160a01b03168015610a9f5760ca80546001600160a01b031916821790557f57202bce87a87010e83825477a341d777f701216d3e2a3b4642c72d9e8a931985f80a2005b60405162461bcd60e51b815260206004820152601860248201527f496e76616c696420726566657272616c206d616e6167657200000000000000006044820152606490fd5b34610211576020366003190112610211576004355f526097602052602060405f2054604051908152f35b3461021157604036600319011261021157610020602435600435610b3182610215565b610b4a6104cd825f526065602052600160405f20015490565b6119bd565b3461021157602036600319011261021157600435610b6c81610215565b335f9081525f5160206125fb5f395f51905f52602052604090205460ff168015610c51575b15610c16576001600160a01b0381165f81815260cc602052604081205491927fde975f2f96a46c59c25e271db267b548456fcd54af0230370ae8ba3ff6000b1892610c11929091610c0090610be7843389611c5d565b6001600160a01b03165f90815260cc6020526040902090565b556040519081529081906020820190565b0390a2005b60405162461bcd60e51b815260206004820152601360248201527220b236b4b71037b91026b0b4b73a30b4b732b960691b6044820152606490fd5b50335f9081527f74ac16253630c3523dd1832af9ae131e94f47875b251195873041bb02876d5f7602052604090205460ff16610b91565b34610211575f36600319011261021157602060cd54604051908152f35b60c9546001600160a01b0382811691168114610d8d5760cf546001600160a01b03168114610d8d5760c95460405163292979d160e11b81526004810192909252602090829060249082906001600160a01b03165afa908115610d88575f91610d59575b50610d53576001600160a01b03165f9081527fb9d57379755cfdce5093104cda7709269f023b7215c12928b7f75365bffab82a602052604090205460ff16610d4e575f90565b600190565b50600190565b610d7b915060203d602011610d81575b610d7381836106c1565b8101906116b3565b5f610d08565b503d610d69565b6112fa565b5050600190565b15610d9b57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9193929060ff5f5460081c1615610ec957610ea694610e4f610e6c92610e899560018060a01b03166001600160601b0360a01b60c954161760c95560018060a01b03166001600160601b0360a01b60cf54161760cf55565b60018060a01b03166001600160601b0360a01b60ca54161760ca55565b60018060a01b03166001600160601b0360a01b60cb54161760cb55565b60018060a01b03166001600160601b0360a01b60ce54161760ce55565b610eaf336116c8565b610eb83361178e565b610233670de0b6b3a764000060cd55565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15610f2957565b606460405162461bcd60e51b815260206004820152602060248201527f4e6f7420612076616c696420666565206469737472696275746f7220757365726044820152fd5b9391938315610fd4576040519360c085019585871067ffffffffffffffff8811176106e3576102339660405260018060a01b0316855260208501525f604085015260018060a01b0316606084015260018060a01b03166080830152151560a0820152611a56565b5050505050565b906102339594939291610ff06106a333610ca5565b611185565b15610ffc57565b60405162461bcd60e51b815260206004820152602860248201527f746f6b656e41646472657373657320616e6420726177416d6f756e7473206d696044820152671cdb585d18da195960c21b6064820152608490fd5b1561105957565b60405162461bcd60e51b815260206004820152602660248201527f6261636b6564506f6f6c7320616e6420616c6c6f636174696f6e73206d69736d604482015265185d18da195960d21b6064820152608490fd5b634e487b7160e01b5f52603260045260245ffd5b80518210156110d55760209160051b010190565b6110ad565b634e487b7160e01b5f52601160045260245ffd5b90600282018092116110fc57565b6110da565b90600182018092116110fc57565b919082018092116110fc57565b906509184e72a0008202918083046509184e72a00014901517156110fc57565b600181901b91906001600160ff1b038116036110fc57565b818102929181159184041417156110fc57565b8115611171570490565b634e487b7160e01b5f52601260045260245ffd5b9591909294956111988451835114610ff5565b6111a58651865114611052565b5f96875b86518910156111d1576111c96001916111c28b8a6110c1565b519061110f565b9801976111a9565b919396909294975081156112da57955f979497965b85518810156112cf576112096111fc89886110c1565b516001600160a01b031690565b95611214898b6110c1565b51925f5b83518110156112be57808a8a6112508961124b6112448661123e6111fc60019a8e6110c1565b966110c1565b518b611154565b611167565b80156112b6576112b0926112a3916112786112696106e8565b6001600160a01b039095168552565b6020840152600160408401526001600160a01b038d1660608401526001600160a01b03166080830152565b89151560a0820152611a56565b01611218565b5050506112b0565b5060019099019890965091506111e6565b509650505050505050565b5050505050509050565b9190826040910312610211576020825192015190565b6040513d5f823e3d90fd5b90816020910312610211575161131a81610215565b90565b90816020910312610211575190565b519067ffffffffffffffff8216820361021157565b919082608091031261021157815160ff8116810361021157916113666020820161132c565b9161131a60606113786040850161132c565b930161132c565b908160209103126102115761131a9061132c565b60ca545f92839291839081906113bf906113b3906001600160a01b031681565b6001600160a01b031690565b6040805163d69fd7b960e01b81526001600160a01b0387166004820152969193919087602481875afa968715610d88575f97611642575b5086978715155f1461162f57505060405163aa12222960e01b8152600481018790529391506020905083602481855afa928315610d8857611476936020915f91611602575b5060cb54909690611456906113b3906001600160a01b031681565b6040518080978194632ababa6560e01b8352600483019190602083019252565b03915afa928315610d88575f936115cf575b50604051632ef3ac9d60e01b815260048101849052929360808480602481015b0381865afa938415610d88575f905f9561157c575b50611511916114e267ffffffffffffffff6114db816020951661111c565b971661111c565b945b60405163038ae7e360e11b81526001600160a01b0390921660048301529092839190829081906024820190565b03915afa8015610d885767ffffffffffffffff915f9161154d575b5016806115365750565b9261154461154a929461111c565b9061110f565b91565b61156f915060203d602011611575575b61156781836106c1565b81019061137f565b5f61152c565b503d61155d565b67ffffffffffffffff955060209150916114e2866114db6115b76115119660803d6080116115c8575b6115af81836106c1565b810190611341565b9b92509050955050505050916114bd565b503d6115a5565b6114a893506115f59060203d6020116115fb575b6115ed81836106c1565b81019061131d565b92611488565b503d6115e3565b6116229150823d8411611628575b61161a81836106c1565b810190611305565b5f61143b565b503d611610565b93602091959397509561151192966114e4565b61166591975060403d60401161166d575b61165d81836106c1565b8101906112e4565b50955f6113f6565b503d611653565b60ce546001600160a01b0316330361168857565b606460405162461bcd60e51b81526020600482015260046024820152630ae8aa8960e31b6044820152fd5b90816020910312610211575161131a81610637565b6001600160a01b0381165f9081525f5160206125fb5f395f51905f526020526040902054611728919060ff161561172b575b5f805260976020527f683723e34a772b6e4f2c919bba7fa32ed8ea11a8325f54da7db716e9d9dd98c7611d47565b50565b6001600160a01b0381165f9081525f5160206125fb5f395f51905f5260205260409020805460ff19166001179055336001600160a01b0382165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a46116fa565b6001600160a01b0381165f9081527f74ac16253630c3523dd1832af9ae131e94f47875b251195873041bb02876d5f76020526040902054611728919060ff1615611821575b7f339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab955f5260976020527f9304b5a35b68b0202f26b3c8f073c9750e6d72da88e709144bf02926cfb84cbb611d47565b6001600160a01b0381165f9081527f74ac16253630c3523dd1832af9ae131e94f47875b251195873041bb02876d5f760205260409020805460ff19166001179055336001600160a01b0382167f339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab957f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a46117d3565b335f9081525f5160206125fb5f395f51905f52602052604090205460ff16156118dc57565b61197661193261195e6118ee33612142565b6119506118fa5f6121dc565b60116040519586946017602087017f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081520190611d5a565b7001034b99036b4b9b9b4b733903937b6329607d1b81520190611d5a565b03601f1981018352826106c1565b60405162461bcd60e51b815291829160048301611d6c565b0390fd5b5f81815260656020908152604080832033845290915290205460ff161561199e5750565b61193261195e611976926119506118fa6119b733612142565b926121dc565b9061172891805f52606560205260ff6119e98360405f209060018060a01b03165f5260205260405f2090565b5416611a00575b5f52609760205260405f20611d96565b5f8181526065602090815260408083206001600160a01b03861680855292528220805460ff19169055339183907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a46119f0565b606081018051610233929190611b5890611a78906001600160a01b0316611393565b935094919050611a9e611a9060208801968751611154565b670de0b6b3a7640000900490565b82516001600160a01b0316939091908415611c55575b611a90611acd918415159687611c15575b508851611154565b926001600160a01b0382168015611c0d575b938095611b53958a868415159384611bc7575b86516001600160a01b03169384148481611bbd575b5015611b5f5750915050611b4c9450611b2192915061110f565b8851611b3e906001600160a01b031692516001600160a01b031690565b60a08a015115155b926123d3565b8451611da9565b611da9565b9052611db6565b90919293949550611b96575b505050611b7a575b5050611b4c565b8751611b8f92906001600160a01b031661234a565b5f83611b73565b8151611bb59390611b469060a0906001600160a01b0316940151151590565b5f8985611b6b565b905015155f611b07565b825187516040518881526001600160a01b039182169291909116907fcf338af1a23f128b0030ecde7a4178534683a1213c315e5e4db586ac9ba6bb8290602090a3611af2565b5f9450611adf565b8a516040518781526001600160a01b03909116907ff238a1a3c51c244c3b9ea692ae7066acf69e67264abc14fb42f0373b758a925190602090a35f611ac5565b5f9250611ab4565b91611d11915f806102339560405194602086019463a9059cbb60e01b865260018060a01b03166024870152604486015260448552611c9c6064866106c1565b60018060a01b03169260405194611cb46040876106c1565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af13d15611d3f573d91611cf583611f84565b92611d0360405194856106c1565b83523d5f602085013e612569565b8051908115918215611d25575b5050611fa0565b611d3892506020809183010191016116b3565b5f80611d1e565b606091612569565b61131a916001600160a01b03169061201c565b805191908290602001825e015f815290565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b61131a916001600160a01b03169061229a565b919082039182116110fc57565b60208101611dcb611a90825160cd5490611154565b80611e4c575b611ddb9151611da9565b9081611de5575050565b80517ff9eedb4f9f1c1a7e1b3f8e86feb446eb72f1738525ddac6e66d89bc3080ab64691611e4791611e1f906001600160a01b0316610be7565b611e2a85825461110f565b9055516040519384526001600160a01b0316929081906020820190565b0390a2565b8251611e6f9082906001600160a01b031660cf546001600160a01b031690612394565b60cf54611e86906113b3906001600160a01b031681565b6080840180519193916001600160a01b031685516001600160a01b031690853b156102115760405163729119c360e01b81526001600160a01b0391821660048201529116602482015260448101849052935f908590606490829084905af1938415610d8857611ddb94611f55575b508451611f12906001600160a01b031691516001600160a01b031690565b6040518481526001600160a01b0391821692909116907f3243be88b6c84be560d878c9f24301ff38d0787471d689cecf34eb6e55b93a6c90602090a39150611dd1565b80611f635f611f69936106c1565b8061045c565b5f611ef4565b80548210156110d5575f5260205f2001905f90565b67ffffffffffffffff81116106e357601f01601f191660200190565b15611fa757565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b916120189183549060031b91821b915f19901b19161790565b9055565b6001810190825f528160205260405f2054155f14612084578054680100000000000000008110156106e35761207161205b826001879401855584611f6f565b819391549060031b91821b915f19901b19161790565b905554915f5260205260405f2055600190565b5050505f90565b9061209582611f84565b6120a260405191826106c1565b82815280926120b3601f1991611f84565b0190602036910137565b8051156110d55760200190565b8051600110156110d55760210190565b9081518110156110d5570160200190565b80156110fc575f190190565b156120fe57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b61215461214f60286110ee565b61208b565b906030612160836120bd565b53607861216c836120ca565b5361217f61217a601461113c565b611101565b905b600182116121945761131a9150156120f7565b600f811660108110156110d5576121d6916121d0916f181899199a1a9b1b9c1cb0b131b232b360811b901a6121c985876120da565b5360041c90565b916120eb565b90612181565b6121e961214f60406110ee565b9060306121f5836120bd565b536078612201836120ca565b5361220f61217a602061113c565b905b600182116122245761131a9150156120f7565b600f811660108110156110d557612259916121d0916f181899199a1a9b1b9c1cb0b131b232b360811b901a6121c985876120da565b90612211565b80548015612286575f1901906122758282611f6f565b8154905f199060031b1b1916905555565b634e487b7160e01b5f52603160045260245ffd5b6001810191805f528260205260405f2054928315155f14612342575f1984018481116110fc5783545f198101949085116110fc575f9585836122e8946122f598036122fb575b50505061225f565b905f5260205260405f2090565b55600190565b61232b6123259161231c6123126123399588611f6f565b90549060031b1c90565b92839187611f6f565b90611fff565b85905f5260205260405f2090565b555f80806122e0565b505050505f90565b60ce546001600160a01b039182169392911683148061238c575b156123835760ce5461172893506001600160a01b03918216911661243d565b61023392611c5d565b506001612364565b60ce546001600160a01b03918216939291168314806123cc57156123835760ce5461172893506001600160a01b03918216911661243d565b505f612364565b60ce546001600160a01b039182169491168414908161240d575b50156123835760ce5461172893506001600160a01b03918216911661243d565b90505f6123ed565b1561241d5750565b634726455360e11b5f9081526001600160a01b0391909116600452602490fd5b612452826001600160a01b0381161515612415565b8215612084576001600160a01b031691823b1561021157604051632e1a7d4d60e01b8152600481018290525f8160248183885af18015610d8857612555575b505f808080848661c350f161254d57823b1561021157604051630d0e30db60e41b8152925f8460048185855af1928315610d885761250994602094612539575b5060405163a9059cbb60e01b81526001600160a01b0390911660048201526024810192909252909283919082905f9082906044820190565b03925af18015610d885761251c57505f90565b6125349060203d602011610d8157610d7381836106c1565b505f90565b80611f635f612547936106c1565b5f6124d1565b505050600190565b80611f635f612563936106c1565b5f612491565b919290156125cb575081511561257d575090565b3b156125865790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156125de5750805190602001fd5b60405162461bcd60e51b81529081906119769060048301611d6c56feffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1ba2646970667358221220d0901f6c4bcde74304757e9f21d1e3254a59d27b525ad3d84e58ec41fbbabf3964736f6c634300081c0033