0 txs
10 calls
constructor
constructor()
functions
allowedOperators
viewfunction allowedOperators(address) view returns (bool)
bribeManager
viewfunction bribeManager() view returns (address)
listaToken
viewfunction listaToken() view returns (address)
listaVote
viewfunction listaVote() view returns (address)
lpProxy
viewfunction lpProxy() view returns (address)
masterListapie
viewfunction masterListapie() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
rewardDistributor
viewfunction rewardDistributor() view returns (address)
usdtStablePoolHelper
viewfunction usdtStablePoolHelper() view returns (address)
v2liquidityPoolHelper
viewfunction v2liquidityPoolHelper() view returns (address)
veLista
viewfunction veLista() view returns (address)
veListaDistributor
viewfunction veListaDistributor() view returns (address)
votingIncentive
viewfunction votingIncentive() view returns (address)
wBNB
viewfunction wBNB() view returns (address)
batchClaimVotingRewards
nonpayablefunction batchClaimVotingRewards(tuple[] _claimParams, address[] _rewarders)
batchHarvestDistributors
nonpayablefunction batchHarvestDistributors(address[] _distributors, bool[] _isharvest)
castVote
nonpayablefunction castVote(uint16[] _distributorIds, uint256[] _weights)
config
nonpayablefunction config(address _masterListapie, address _v2liquidityPoolHelper, address _lpProxy)
depositUSDTFor
nonpayablefunction depositUSDTFor(address _for, address _distributor, uint256 _amount, bool _harvest, uint256 _minLpAmount)
depositUSDTStableFor
nonpayablefunction depositUSDTStableFor(address _for, uint256 _amount)
depositV2LPFor
nonpayablefunction depositV2LPFor(address _for, address _distributor, uint256 _amount, bool _harvest)
disableAutoLock
nonpayablefunction disableAutoLock()
enableAutoLock
nonpayablefunction enableAutoLock()
harvestUSDTStableDistributor
nonpayablefunction harvestUSDTStableDistributor(address[] _distributors, bool[] _isharvest)
harvestVeListaRewards
nonpayablefunction harvestVeListaRewards(uint16 _toWeek)
increaseLockAmount
nonpayablefunction increaseLockAmount(uint256 _amount)
initialize
nonpayablefunction initialize(address _listaTokenAddress, address _veListaAddress, address _veListaDistributor)
initiateLockVeLista
nonpayablefunction initiateLockVeLista(uint256 _amount, uint16 _week, bool _autoLock)
queueStuckVotingRewards
nonpayablefunction queueStuckVotingRewards(address[] _tokens, uint256[] _amounts, address _rewarder)
renounceOwnership
nonpayablefunction renounceOwnership()
setAllowedOperator
nonpayablefunction setAllowedOperator(address _operator, bool _status)
setBribeManager
nonpayablefunction setBribeManager(address _bribeManager, address _wBNB, address _votingIncentive)
setDelegate
nonpayablefunction setDelegate(address _delegateContract, address _delegate)
setListaVote
nonpayablefunction setListaVote(address _listaVote)
setRewardDistributor
nonpayablefunction setRewardDistributor(address _rewardDistributor)
setUSDTStablePoolHelper
nonpayablefunction setUSDTStablePoolHelper(address _usdtStablePoolHelper)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawFromUSDTPoolFor
nonpayablefunction withdrawFromUSDTPoolFor(address _for, address _distributor, uint256 _amount, uint256 _minLisUSDAmount, uint256 _minUsdtAmount, bool _harvest)
withdrawFromUSDTStablePoolFor
nonpayablefunction withdrawFromUSDTStablePoolFor(address _for, uint256 _amount, uint256 _minLisUSDOutAmount)
withdrawV2LPFor
nonpayablefunction withdrawV2LPFor(address _for, address _distributor, uint256 _amount, bool _harvest)
events
allowedOperatorSet
event allowedOperatorSet(address newAllowedOperator, bool status)
bribeManagerSet
event bribeManagerSet(address indexed bribeManager, address wbnb, address votingIncentive)
ConfigurationUpdated
event ConfigurationUpdated(address masterListapie, address v2liquidityPoolHelper, address lpProxy)
DepositUSDTFor
event DepositUSDTFor(address indexed user, address indexed distributor, uint256 amount)
DepositUSDTStableFor
event DepositUSDTStableFor(address indexed user, address indexed depositContract, uint256 amount)
IncreaseLockAmount
event IncreaseLockAmount(address indexed user, uint256 amount)
Initialized
event Initialized(uint8 version)
ListaVoteAddressUpdated
event ListaVoteAddressUpdated(address indexed listavote)
NewV2Deposit
event NewV2Deposit(address indexed _user, address indexed _distributor, uint256 _amount, address indexed _receptToken, uint256 _receptAmount)
NewV2Withdraw
event NewV2Withdraw(address indexed _user, address indexed _distributor, uint256 _amount, address indexed _receptToken, uint256 _receptAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
rewardDistributorSet
event rewardDistributorSet(address newRewardDistributor)
RewardProcessed
event RewardProcessed(address indexed rewardToken, uint256 indexed rewardAmount, address indexed rewarder)
Stake
event Stake(address indexed user, uint256 amount, uint16 week, bool autoLock)
Unpaused
event Unpaused(address account)
USDTStablePoolHelperUpdated
event USDTStablePoolHelperUpdated(address indexed usdtStablePoolHelper)
VeListaLockInitiated
event VeListaLockInitiated(uint256 amount, uint16 week, bool autoLock)
VotingRewardsClaimed
event VotingRewardsClaimed(uint16 distributorId, uint16 week, address[] rewards)
WithdrawFromUSDTPoolFor
event WithdrawFromUSDTPoolFor(address indexed user, address indexed distributor, address indexed receiptToken, uint256 amount)
WithdrawFromUSDTStablePoolFor
event WithdrawFromUSDTStablePoolFor(address indexed user, address indexed withdrawContract, uint256 amount)
errors
amountMismatch
error amountMismatch()
ArrayLengthMismatch
error ArrayLengthMismatch()
InsufficientTokenBalance
error InsufficientTokenBalance()
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
NotAllowedOperator
error NotAllowedOperator()
OnlyUSDTStablePoolHelper
error OnlyUSDTStablePoolHelper()
OnlyV2LiquidityPoolHelper
error OnlyV2LiquidityPoolHelper()
WithdrawAmountExceedDepositBalance
error WithdrawAmountExceedDepositBalance()
creation bytecode
0x608060405234801562000010575f80fd5b506200001b62000021565b620000df565b5f54610100900460ff16156200008d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614620000dd575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61525480620000ed5f395ff3fe608060405260043610610299575f3560e01c8063863243cd11610160578063bc2bda1e116100c9578063d8fd36e511610083578063ec5bb70e11610060578063ec5bb70e14610749578063f19c62d514610768578063f2fde38b1461078757005b8063d8fd36e5146106f7578063e2a578cd14610716578063e867b94e1461073557005b8063c58f94ff116100b1578063c58f94ff1461069a578063cbe0ee50146106b9578063d02eb3f4146106d857005b8063bc2bda1e1461065c578063c0c53b8b1461067b57005b8063a6674f881161011a578063acc2166a11610102578063acc2166a146105ff578063b1e86d7a1461061e578063b268432b1461063d57005b8063a6674f88146105b2578063aaef0f27146105e057005b80638afc7cb3116101485780638afc7cb3146105575780638da5cb5b14610576578063a1809b951461059357005b8063863243cd14610519578063873361111461053857005b806345046b06116102025780635c975abb116101bc5780636e7d18ca116101a45780636e7d18ca146104c7578063715018a6146104e65780638362ac09146104fa57005b80635c975abb146104855780636abc85d2146104a857005b80634f993528116101ea5780634f9935281461042857806350290fe8146104475780635c8738491461046657005b806345046b06146103ea578063455b74611461040957005b8063375e2b47116102535780633fdc24cd1161023b5780633fdc24cd1461038d578063403f4447146103ac578063426b49d7146103cb57005b8063375e2b471461035a57806337aa9e211461036e57005b80632c216a6b116102815780632c216a6b146102fd578063358108851461031c5780633709a8051461033b57005b806305305db2146102a25780630fac34dc146102de57005b366102a057005b005b3480156102ad575f80fd5b5060ce546102c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102e9575f80fd5b506102a06102f8366004614412565b6107a6565b348015610308575f80fd5b5060cb546102c1906001600160a01b031681565b348015610327575f80fd5b5060d0546102c1906001600160a01b031681565b348015610346575f80fd5b506102a06103553660046145b3565b610bb4565b348015610365575f80fd5b506102a0610c21565b348015610379575f80fd5b506102a0610388366004614671565b610ccd565b348015610398575f80fd5b506102a06103a7366004614693565b610d36565b3480156103b7575f80fd5b506102a06103c63660046146e3565b610f1a565b3480156103d6575f80fd5b506102a06103e53660046145b3565b61104c565b3480156103f5575f80fd5b5060c9546102c1906001600160a01b031681565b348015610414575f80fd5b5060d5546102c1906001600160a01b031681565b348015610433575f80fd5b506102a0610442366004614693565b6110ac565b348015610452575f80fd5b5060d1546102c1906001600160a01b031681565b348015610471575f80fd5b506102a06104803660046146fa565b61128f565b348015610490575f80fd5b5060975460ff165b60405190151581526020016102d5565b3480156104b3575f80fd5b506102a06104c2366004614742565b611331565b3480156104d2575f80fd5b506102a06104e1366004614863565b611a3c565b3480156104f1575f80fd5b506102a0611c29565b348015610505575f80fd5b506102a06105143660046148ba565b611c3c565b348015610524575f80fd5b506102a06105333660046148e4565b611e36565b348015610543575f80fd5b506102a06105523660046148fd565b611ee6565b348015610562575f80fd5b506102a0610571366004614945565b611f8a565b348015610581575f80fd5b506033546001600160a01b03166102c1565b34801561059e575f80fd5b506102a06105ad366004614671565b612012565b3480156105bd575f80fd5b506104986105cc366004614671565b60cd6020525f908152604090205460ff1681565b3480156105eb575f80fd5b506102a06105fa3660046149b9565b6120c6565b34801561060a575f80fd5b5060cc546102c1906001600160a01b031681565b348015610629575f80fd5b506102a0610638366004614a20565b612190565b348015610648575f80fd5b506102a0610657366004614ae4565b6124f1565b348015610667575f80fd5b5060cf546102c1906001600160a01b031681565b348015610686575f80fd5b506102a06106953660046148fd565b612989565b3480156106a5575f80fd5b5060ca546102c1906001600160a01b031681565b3480156106c4575f80fd5b5060d3546102c1906001600160a01b031681565b3480156106e3575f80fd5b5060d4546102c1906001600160a01b031681565b348015610702575f80fd5b506102a06107113660046148fd565b612b62565b348015610721575f80fd5b5060d2546102c1906001600160a01b031681565b348015610740575f80fd5b506102a0612c66565b348015610754575f80fd5b506102a0610763366004614671565b612cfa565b348015610773575f80fd5b506102a0610782366004614b47565b612d63565b348015610792575f80fd5b506102a06107a1366004614671565b612ea3565b6107ae612f30565b6107b6612f89565b60d5546001600160a01b031633146107fa576040517fbadca40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d554604080517f5a2f3d0900000000000000000000000000000000000000000000000000000000815290515f926001600160a01b031691635a2f3d09916004808301926101209291908290030181865afa15801561085b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087f9190614b8f565b90506108918160400151600180612fdc565b5f81602001516001600160a01b031663ad15502b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f69190614c35565b6040805160028082526060820183529293505f92909160208301908036833701905050905081815f8151811061092e5761092e614c50565b60200260200101906001600160a01b031690816001600160a01b03168152505082606001518160018151811061096657610966614c50565b6001600160a01b0392831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f918416906370a0823190602401602060405180830381865afa1580156109d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f59190614c7d565b60208501516040517fe3511faf0000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063e3511faf90610a439085908a90600401614cd6565b5f604051808303815f87803b158015610a5a575f80fd5b505af1158015610a6c573d5f803e3d5ffd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f92506001600160a01b03861691506370a0823190602401602060405180830381865afa158015610acd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af19190614c7d565b90505f610afe8383614d24565b905086811015610b3a576040517fc460ee6f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4e6001600160a01b0386168a83613080565b85602001516001600160a01b0316896001600160a01b03167fc9ce41524d113cdb5e4165cd4a844c18296ce19b0cc7416f0841983138f2699f8a604051610b9791815260200190565b60405180910390a3505050505050610baf6001606555565b505050565b610bbc612f30565b60d1546001600160a01b03163314610c00576040517f1490805700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c08612f89565b610c1382825f613130565b610c1d6001606555565b5050565b335f90815260cd602052604090205460ff16610c69576040517fde19c8b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ca5f9054906101000a90046001600160a01b03166001600160a01b031663375e2b476040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610cb5575f80fd5b505af1158015610cc7573d5f803e3d5ffd5b50505050565b610cd56133f9565b60d580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517ffa49ebb1f1e7917fadecd0c8bc3dc784e1dbb07e56721479b21cc6f721e1c397905f90a250565b610d3e612f30565b610d46612f89565b60d1546001600160a01b03163314610d8a576040517f1490805700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d1546040517fa4063dbc0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301525f92839283929091169063a4063dbc9060240160e060405180830381865afa158015610df1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e159190614d37565b50505093505092509250610e2a86855f612fdc565b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b03841690632e1a7d4d906024015f604051808303815f87803b158015610e82575f80fd5b505af1158015610e94573d5f803e3d5ffd5b50610ead925050506001600160a01b0383168887613080565b806001600160a01b0316836001600160a01b0316886001600160a01b03167f1adee327f60fa5bdb93adccf1a59017c873b822bb1987b86bb5d35816c8ef74e8889604051610f05929190918252602082015260400190565b60405180910390a4505050610cc76001606555565b610f22612f30565b610f2a612f89565b805f03610f63576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c954610f7b906001600160a01b0316333084613453565b60ca5460c954610f98916001600160a01b039182169116836134a4565b60ca546040517f15456eba000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b03909116906315456eba906024015f604051808303815f87803b158015610ff4575f80fd5b505af1158015611006573d5f803e3d5ffd5b50506040518381523392507f1dc1df36082c19310b0a7e251e78f3faa1411d0851f47c41324f9985aae3997f915060200160405180910390a26110496001606555565b50565b611054612f30565b60d5546001600160a01b03163314611098576040517fbadca40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110a0612f89565b610c1382826001613130565b6110b4612f30565b6110bc612f89565b60d1546001600160a01b03163314611100576040517f1490805700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d1546040517fa4063dbc0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301525f92839283929091169063a4063dbc9060240160e060405180830381865afa158015611167573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118b9190614d37565b505050935050925092506111a086855f612fdc565b6111b56001600160a01b038316883088613453565b6111c96001600160a01b03831684876134a4565b6040517fb6b55f25000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0384169063b6b55f25906024015f604051808303815f87803b158015611221575f80fd5b505af1158015611233573d5f803e3d5ffd5b50505050806001600160a01b0316836001600160a01b0316886001600160a01b03167f4f229060ac3eadbf3a707014e63f49c216b6354f7e8295dce2e0946515e6393e8889604051610f05929190918252602082015260400190565b6112976133f9565b6040517fbd86e5080000000000000000000000000000000000000000000000000000000081527f6c69737461766f74652e6574680000000000000000000000000000000000000060048201526001600160a01b03828116602483015283169063bd86e508906044015b5f604051808303815f87803b158015611317575f80fd5b505af1158015611329573d5f803e3d5ffd5b505050505050565b611339612f30565b611341612f89565b60d2546001600160a01b031633146113a05760405162461bcd60e51b815260206004820152601060248201527f4f6e6c7942726962654d616e616765720000000000000000000000000000000060448201526064015b60405180910390fd5b5f5b8251811015611a31575f8382815181106113be576113be614c50565b60200260200101516040015190505f815167ffffffffffffffff8111156113e7576113e7614444565b604051908082528060200260200182016040528015611410578160200160208202803683370190505b5090505f5b8251811015611542575f6001600160a01b031683828151811061143a5761143a614c50565b60200260200101516001600160a01b031603611474574782828151811061146357611463614c50565b602002602001018181525050611530565b82818151811061148657611486614c50565b60209081029190910101516040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156114ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115119190614c7d565b82828151811061152357611523614c50565b6020026020010181815250505b8061153a81614dbb565b915050611415565b506040805160018082528183019092525f91816020015b60408051606080820183525f80835260208301529181019190915281526020019060019003908161155957905050905085848151811061159b5761159b614c50565b6020026020010151815f815181106115b5576115b5614c50565b602090810291909101015260d3546040517f55d5f4ac0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906355d5f4ac90611609908490600401614df2565b5f604051808303815f87803b158015611620575f80fd5b505af1158015611632573d5f803e3d5ffd5b505050505f5b83518110156119a6575f806001600160a01b031685838151811061165e5761165e614c50565b60200260200101516001600160a01b031603611752575f84838151811061168757611687614c50565b60200260200101514761169a9190614d24565b9050801561174b5760d45486516001600160a01b03909116908790859081106116c5576116c5614c50565b6001600160a01b03928316602091820292909201015260d454604080517fd0e30db00000000000000000000000000000000000000000000000000000000081529051919092169163d0e30db09184916004808201925f9290919082900301818588803b158015611733575f80fd5b505af1158015611745573d5f803e3d5ffd5b50505050505b9050611816565b83828151811061176457611764614c50565b602002602001015185838151811061177e5761177e614c50565b60209081029190910101516040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156117e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118099190614c7d565b6118139190614d24565b90505b80156119935761186c87878151811061183157611831614c50565b60200260200101518287858151811061184c5761184c614c50565b60200260200101516001600160a01b03166134a49092919063ffffffff16565b86868151811061187e5761187e614c50565b60200260200101516001600160a01b0316638fcf4822828785815181106118a7576118a7614c50565b60200260200101516040518363ffffffff1660e01b81526004016118de9291909182526001600160a01b0316602082015260400190565b6020604051808303815f875af11580156118fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191e9190614ec8565b5086868151811061193157611931614c50565b60200260200101516001600160a01b03168186848151811061195557611955614c50565b60200260200101516001600160a01b03167fe4f74599b2d71e536a09560bf3c16b1b947b10933593a21e80ec2144ef91cdfa60405160405180910390a45b508061199e81614dbb565b915050611638565b507f70d5c8a1388657206101e6e5c34444cd9e376513c380893edd639ba22eccf19e8685815181106119da576119da614c50565b60200260200101515f01518786815181106119f7576119f7614c50565b60200260200101516020015185604051611a1393929190614ee3565b60405180910390a15050508080611a2990614dbb565b9150506113a2565b50610c1d6001606555565b611a44612f30565b611a4c612f89565b60d1546001600160a01b03163314611a90576040517f1490805700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d1546040517f487292080000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301525f92169063487292089060240160c060405180830381865afa158015611af1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b159190614f12565b9050611b2285845f612fdc565b6020810151611b3c906001600160a01b0316873087613453565b6020810151611b55906001600160a01b031686866134a4565b6040517fe2bbb15800000000000000000000000000000000000000000000000000000000815260048101859052602481018390526001600160a01b0386169063e2bbb158906044015f604051808303815f87803b158015611bb4575f80fd5b505af1158015611bc6573d5f803e3d5ffd5b50505050846001600160a01b0316866001600160a01b03167f8dbfb3bd5e3e1fb444f30bf85b1a8c4ee08a05bb9ead1c5ddbdae622ae307b8786604051611c0f91815260200190565b60405180910390a350611c226001606555565b5050505050565b611c316133f9565b611c3a5f613579565b565b611c44612f30565b611c4c612f89565b60d5546001600160a01b03163314611c90576040517fbadca40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d554604080517f5a2f3d0900000000000000000000000000000000000000000000000000000000815290515f926001600160a01b031691635a2f3d09916004808301926101209291908290030181865afa158015611cf1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d159190614b8f565b9050611d278160400151600180612fdc565b6060810151611d41906001600160a01b0316843085613453565b80516060820151611d5e916001600160a01b0390911690846134a4565b805160608201516040517f47e7ef240000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018590529116906347e7ef24906044015f604051808303815f87803b158015611dc5575f80fd5b505af1158015611dd7573d5f803e3d5ffd5b50505050805f01516001600160a01b0316836001600160a01b03167fd53e2a155d1688a7f011f102ee033b1ded2c75d70a93e53f1ce2923c9af2491d84604051611e2391815260200190565b60405180910390a350610c1d6001606555565b611e3e612f30565b611e46612f89565b5f80611e51836135e2565b60cb546040517f690aa0bb0000000000000000000000000000000000000000000000000000000081529294509092506001600160a01b03169063690aa0bb90611ea09085908790600401614fb2565b5f604051808303815f87803b158015611eb7575f80fd5b505af1158015611ec9573d5f803e3d5ffd5b50505050611eda82825f600161380d565b50506110496001606555565b611eee6133f9565b60d080546001600160a01b038581167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790935560cf8054858316908416811790915560d180549287169290931682179092556040805193845260208401919091528201527fb3fc5b8fa795a14232efd69faeabfa4d6ae1add7013b9ba01c3ffbda68dc4fba906060015b60405180910390a1505050565b611f926133f9565b6001600160a01b0382165f81815260cd602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527f4375ae1a5aa36996c06ff6591eeb80a5fd9a0a8c6547d65749ec5fe0e01271dd910160405180910390a15050565b61201a6133f9565b6001600160a01b03811661205a576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527f0d6bccf0580d8504994aa0be6845a6659e634b03f9fbd416385b0e496c2abe6d9060200160405180910390a150565b335f90815260cd602052604090205460ff1661210e576040517fde19c8b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ce546040517f94de42b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906394de42b69061215d908790879087908790600401614fd7565b5f604051808303815f87803b158015612174575f80fd5b505af1158015612186573d5f803e3d5ffd5b5050505050505050565b612198612f30565b6121a0612f89565b335f90815260cd602052604090205460ff166121e8576040517fde19c8b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151835114612223576040517fa24a13a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b83518110156124e6575f84828151811061224157612241614c50565b602002602001015190505f84838151811061225e5761225e614c50565b602002602001015190505f8111156124d1576001600160a01b0382166123325747818110156122b9576040517fe4455cae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d45f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004015f604051808303818588803b158015612306575f80fd5b505af1158015612318573d5f803e3d5ffd5b505060d4546001600160a01b031695506123f19350505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561238f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123b39190614c7d565b9050818110156123ef576040517fe4455cae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6124056001600160a01b03831685836134a4565b6040517f8fcf4822000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b038381166024830152851690638fcf4822906044016020604051808303815f875af115801561246a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248e9190614ec8565b50836001600160a01b031681836001600160a01b03167fe4f74599b2d71e536a09560bf3c16b1b947b10933593a21e80ec2144ef91cdfa60405160405180910390a45b505080806124de90614dbb565b915050612225565b50610baf6001606555565b6124f9612f30565b612501612f89565b60d1546001600160a01b03163314612545576040517f1490805700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d1546040517f487292080000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301525f92169063487292089060240160c060405180830381865afa1580156125a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125ca9190614f12565b90506125d786835f612fdc565b60d1546040517fb956bc630000000000000000000000000000000000000000000000000000000081526001600160a01b0388811660048301525f92169063b956bc63906024015f60405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261265e9190810190615065565b90505f815167ffffffffffffffff81111561267b5761267b614444565b6040519080825280602002602001820160405280156126a4578160200160208202803683370190505b5090505f5b825181101561277e578281815181106126c4576126c4614c50565b60209081029190910101516040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561272b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061274f9190614c7d565b82828151811061276157612761614c50565b60209081029190910101528061277681614dbb565b9150506126a9565b506040517fa41fe49f0000000000000000000000000000000000000000000000000000000081526004810188905260248101879052604481018690526001600160a01b0389169063a41fe49f906064015f604051808303815f87803b1580156127e5575f80fd5b505af11580156127f7573d5f803e3d5ffd5b505050505f5b8251811015612920575f83828151811061281957612819614c50565b60209081029190910101516040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612880573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128a49190614c7d565b90505f8383815181106128b9576128b9614c50565b6020026020010151826128cc9190614d24565b9050801561290b5761290b8c828786815181106128eb576128eb614c50565b60200260200101516001600160a01b03166130809092919063ffffffff16565b5050808061291890614dbb565b9150506127fd565b5082606001516001600160a01b0316886001600160a01b03168a6001600160a01b03167f2ce2cb66fcc409e69a192a6a14a4b845554d79d5bd2451121e041860e20704bf8a60405161297491815260200190565b60405180910390a45050506113296001606555565b5f54610100900460ff16158080156129a757505f54600160ff909116105b806129c05750303b1580156129c057505f5460ff166001145b612a325760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401611397565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015612a8e575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b612a96613d07565b612a9e613d8b565b612aa6613e0f565b60c980546001600160a01b038087167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560ca805486841690831617905560cb8054928516929091169190911790558015610cc7575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b612b6a6133f9565b6001600160a01b0383161580612b8757506001600160a01b038216155b80612b9957506001600160a01b038116155b15612bd0576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d280546001600160a01b038581167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790935560d48054868316908416811790915560d380549286169290931682179092556040805192835260208301919091527f3802a98c36d7b6d7f69fffdff1c5809690b670078225bbf1ff5412aaa8281e66910160405180910390a2505050565b335f90815260cd602052604090205460ff16612cae576040517fde19c8b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ca5f9054906101000a90046001600160a01b03166001600160a01b031663e867b94e6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610cb5575f80fd5b612d026133f9565b60ce80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517fdb258a1f0ba59ba339cf371ae970784231c3b6210eca76dfc698facbc9b340ff905f90a250565b612d6b6133f9565b825f03612da4576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c954612dbc906001600160a01b0316333086613453565b60ca5460c954612dd9916001600160a01b039182169116856134a4565b60ca546040517fe480aa840000000000000000000000000000000000000000000000000000000081526004810185905261ffff8416602482015282151560448201526001600160a01b039091169063e480aa84906064015f604051808303815f87803b158015612e47575f80fd5b505af1158015612e59573d5f803e3d5ffd5b50506040805186815261ffff86166020820152841515918101919091527f45338c7bb712fc531041a9a55e023e3d3ff04392598c0144a999336a604785e992506060019050611f7d565b612eab6133f9565b6001600160a01b038116612f275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401611397565b61104981613579565b600260655403612f825760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611397565b6002606555565b60975460ff1615611c3a5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611397565b6040805160018082528183019092525f916020808301908036833750506040805160018082528183019092529293505f9291506020808301908036833701905050905084825f8151811061303257613032614c50565b60200260200101906001600160a01b031690816001600160a01b03168152505083815f8151811061306557613065614c50565b91151560209283029190910190910152611c22828285613130565b6040516001600160a01b038316602482015260448101829052610baf9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613e93565b6001606555565b5f5b8351811015610cc75782818151811061314d5761314d614c50565b6020026020010151156133e757606082156131df5760d55f9054906101000a90046001600160a01b03166001600160a01b031663c4f59f9b6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156131b1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526131d89190810190615065565b905061327e565b60d15485516001600160a01b03909116906201b0b69087908590811061320757613207614c50565b60200260200101516040518263ffffffff1660e01b815260040161323a91906001600160a01b0391909116815260200190565b5f60405180830381865afa158015613254573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261327b9190810190615065565b90505b5f815167ffffffffffffffff81111561329957613299614444565b6040519080825280602002602001820160405280156132c2578160200160208202803683370190505b5090505f5b825181101561339c578281815181106132e2576132e2614c50565b60209081029190910101516040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613349573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061336d9190614c7d565b82828151811061337f5761337f614c50565b60209081029190910101528061339481614dbb565b9150506132c7565b506133bf8684815181106133b2576133b2614c50565b6020026020010151613f79565b6133e482828886815181106133d6576133d6614c50565b60200260200101515f61380d565b50505b806133f181614dbb565b915050613132565b6033546001600160a01b03163314611c3a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611397565b6040516001600160a01b0380851660248301528316604482015260648101829052610cc79085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016130c5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526135238482614003565b610cc7576040516001600160a01b03841660248201525f604482015261356f9085907f095ea7b300000000000000000000000000000000000000000000000000000000906064016130c5565b610cc78482613e93565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60cb546040517febda220800000000000000000000000000000000000000000000000000000000815230600482015261ffff8316602482015260609182915f916001600160a01b03169063ebda2208906044015f60405180830381865afa15801561364f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261367691908101906150ef565b9050805167ffffffffffffffff81111561369257613692614444565b6040519080825280602002602001820160405280156136bb578160200160208202803683370190505b509150805167ffffffffffffffff8111156136d8576136d8614444565b604051908082528060200260200182016040528015613701578160200160208202803683370190505b5092505f5b8151811015613806575f82828151811061372257613722614c50565b60200260200101519050805f015185838151811061374257613742614c50565b6001600160a01b03928316602091820292909201015281516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290918216906370a0823190602401602060405180830381865afa1580156137af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137d39190614c7d565b8584815181106137e5576137e5614c50565b602002602001018181525050505080806137fe90614dbb565b915050613706565b5050915091565b83515f5b81811015611329575f86828151811061382c5761382c614c50565b602002602001015190505f86838151811061384957613849614c50565b60209081029190910101516040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156138af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138d39190614c7d565b6138dd9190614d24565b90508015613cf25760cc546138ff906001600160a01b038481169116836134a4565b84156139845760cc546040517faaabce220000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490529091169063aaabce22906044015f604051808303815f87803b158015613969575f80fd5b505af115801561397b573d5f803e3d5ffd5b50505050613cf2565b60d154604080517fce124ee900000000000000000000000000000000000000000000000000000000815290515f926001600160a01b03169163ce124ee99160048083019260209291908290030181865afa1580156139e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a089190614c35565b90505f8060d55f9054906101000a90046001600160a01b03166001600160a01b0316635a2f3d096040518163ffffffff1660e01b815260040161012060405180830381865afa158015613a5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a819190614b8f565b604001519050826001600160a01b0316896001600160a01b031603613b325760d1546040517f487292080000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f92169063487292089060240160c060405180830381865afa158015613b01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b259190614f12565b604001519250613c6c9050565b806001600160a01b0316896001600160a01b031603613bdd5760d554604080517f5a2f3d0900000000000000000000000000000000000000000000000000000000815290515f926001600160a01b031691635a2f3d09916004808301926101209291908290030181865afa158015613bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613bd09190614b8f565b608001519250613c6c9050565b60d1546040517fa4063dbc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301529091169063a4063dbc9060240160e060405180830381865afa158015613c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c629190614d37565b5092965050505050505b60cc546040517f9ffdb8a60000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015284811660248301526044820187905290911690639ffdb8a6906064015f604051808303815f87803b158015613cd8575f80fd5b505af1158015613cea573d5f803e3d5ffd5b505050505050505b50508080613cff90614dbb565b915050613811565b5f54610100900460ff16613d835760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401611397565b611c3a6140a6565b5f54610100900460ff16613e075760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401611397565b611c3a61412b565b5f54610100900460ff16613e8b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401611397565b611c3a6141a7565b5f613ee7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661424d9092919063ffffffff16565b905080515f1480613f07575080806020019051810190613f079190614ec8565b610baf5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611397565b6040805160018082528183019092525f916020808301908036833701905050905081815f81518110613fad57613fad614c50565b6001600160a01b03928316602091820292909201015260cf546040517f1e2de0d1000000000000000000000000000000000000000000000000000000008152911690631e2de0d19061130090849060040161519d565b5f805f846001600160a01b03168460405161401e91906151d1565b5f604051808303815f865af19150503d805f8114614057576040519150601f19603f3d011682016040523d82523d5f602084013e61405c565b606091505b50915091508180156140865750805115806140865750808060200190518101906140869190614ec8565b801561409b57506001600160a01b0385163b15155b925050505b92915050565b5f54610100900460ff166141225760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401611397565b611c3a33613579565b5f54610100900460ff166131295760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401611397565b5f54610100900460ff166142235760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401611397565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b606061425b84845f85614263565b949350505050565b6060824710156142db5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611397565b5f80866001600160a01b031685876040516142f691906151d1565b5f6040518083038185875af1925050503d805f8114614330576040519150601f19603f3d011682016040523d82523d5f602084013e614335565b606091505b509150915061434687838387614351565b979650505050505050565b606083156143bf5782515f036143b8576001600160a01b0385163b6143b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611397565b508161425b565b61425b83838151156143d45781518083602001fd5b8060405162461bcd60e51b815260040161139791906151ec565b6001600160a01b0381168114611049575f80fd5b803561440d816143ee565b919050565b5f805f60608486031215614424575f80fd5b833561442f816143ee565b95602085013595506040909401359392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561449457614494614444565b60405290565b604051610120810167ffffffffffffffff8111828210171561449457614494614444565b6040805190810167ffffffffffffffff8111828210171561449457614494614444565b604051601f8201601f1916810167ffffffffffffffff8111828210171561450a5761450a614444565b604052919050565b5f67ffffffffffffffff82111561452b5761452b614444565b5060051b60200190565b5f82601f830112614544575f80fd5b8135602061455961455483614512565b6144e1565b82815260059290921b84018101918181019086841115614577575f80fd5b8286015b8481101561459b57803561458e816143ee565b835291830191830161457b565b509695505050505050565b8015158114611049575f80fd5b5f80604083850312156145c4575f80fd5b823567ffffffffffffffff808211156145db575f80fd5b6145e786838701614535565b93506020915081850135818111156145fd575f80fd5b85019050601f8101861361460f575f80fd5b803561461d61455482614512565b81815260059190911b8201830190838101908883111561463b575f80fd5b928401925b82841015614662578335614653816145a6565b82529284019290840190614640565b80955050505050509250929050565b5f60208284031215614681575f80fd5b813561468c816143ee565b9392505050565b5f805f80608085870312156146a6575f80fd5b84356146b1816143ee565b935060208501356146c1816143ee565b92506040850135915060608501356146d8816145a6565b939692955090935050565b5f602082840312156146f3575f80fd5b5035919050565b5f806040838503121561470b575f80fd5b8235614716816143ee565b91506020830135614726816143ee565b809150509250929050565b803561ffff8116811461440d575f80fd5b5f8060408385031215614753575f80fd5b823567ffffffffffffffff8082111561476a575f80fd5b818501915085601f83011261477d575f80fd5b8135602061478d61455483614512565b82815260059290921b840181019181810190898411156147ab575f80fd5b8286015b84811015614836578035868111156147c6575f8081fd5b87016060818d03601f19018113156147dd575f8081fd5b6147e5614471565b6147f0878401614731565b81526147fe60408401614731565b81880152908201359088821115614814575f8081fd5b6148228e8884860101614535565b6040820152855250509183019183016147af565b509650508601359250508082111561484c575f80fd5b5061485985828601614535565b9150509250929050565b5f805f805f60a08688031215614877575f80fd5b8535614882816143ee565b94506020860135614892816143ee565b93506040860135925060608601356148a9816145a6565b949793965091946080013592915050565b5f80604083850312156148cb575f80fd5b82356148d6816143ee565b946020939093013593505050565b5f602082840312156148f4575f80fd5b61468c82614731565b5f805f6060848603121561490f575f80fd5b833561491a816143ee565b9250602084013561492a816143ee565b9150604084013561493a816143ee565b809150509250925092565b5f8060408385031215614956575f80fd5b8235614961816143ee565b91506020830135614726816145a6565b5f8083601f840112614981575f80fd5b50813567ffffffffffffffff811115614998575f80fd5b6020830191508360208260051b85010111156149b2575f80fd5b9250929050565b5f805f80604085870312156149cc575f80fd5b843567ffffffffffffffff808211156149e3575f80fd5b6149ef88838901614971565b90965094506020870135915080821115614a07575f80fd5b50614a1487828801614971565b95989497509550505050565b5f805f60608486031215614a32575f80fd5b833567ffffffffffffffff80821115614a49575f80fd5b614a5587838801614535565b9450602091508186013581811115614a6b575f80fd5b86019050601f81018713614a7d575f80fd5b8035614a8b61455482614512565b81815260059190911b82018301908381019089831115614aa9575f80fd5b928401925b82841015614ac757833582529284019290840190614aae565b8096505050505050614adb60408501614402565b90509250925092565b5f805f805f8060c08789031215614af9575f80fd5b8635614b04816143ee565b95506020870135614b14816143ee565b945060408701359350606087013592506080870135915060a0870135614b39816145a6565b809150509295509295509295565b5f805f60608486031215614b59575f80fd5b83359250614b6960208501614731565b9150604084013561493a816145a6565b805161440d816143ee565b805161440d816145a6565b5f6101208284031215614ba0575f80fd5b614ba861449a565b614bb183614b79565b8152614bbf60208401614b79565b6020820152614bd060408401614b79565b6040820152614be160608401614b79565b6060820152614bf260808401614b79565b6080820152614c0360a08401614b79565b60a082015260c083015160c082015260e083015160e0820152610100614c2a818501614b84565b908201529392505050565b5f60208284031215614c45575f80fd5b815161468c816143ee565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215614c8d575f80fd5b5051919050565b5f8151808452602080850194508084015f5b83811015614ccb5781516001600160a01b031687529582019590820190600101614ca6565b509495945050505050565b604081525f614ce86040830185614c94565b90508260208301529392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156140a0576140a0614cf7565b5f805f805f805f60e0888a031215614d4d575f80fd5b8751614d58816143ee565b6020890151909750614d69816143ee565b6040890151909650614d7a816143ee565b6060890151909550614d8b816143ee565b809450506080880151925060a0880151915060c0880151614dab816145a6565b8091505092959891949750929550565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614deb57614deb614cf7565b5060010190565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b84811015614eb9578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805161ffff90811686528982015116898601528701516060888601819052815190860181905290890190608086019084905b80821015614ea45783516001600160a01b03168352928b0192918b019160019190910190614e7b565b50509689019694505091870191600101614e18565b50919998505050505050505050565b5f60208284031215614ed8575f80fd5b815161468c816145a6565b5f61ffff808616835280851660208401525060606040830152614f096060830184614c94565b95945050505050565b5f60c08284031215614f22575f80fd5b60405160c0810181811067ffffffffffffffff82111715614f4557614f45614444565b6040528251614f53816143ee565b81526020830151614f63816143ee565b60208201526040830151614f76816143ee565b60408201526060830151614f89816143ee565b60608201526080838101519082015260a0830151614fa6816145a6565b60a08201529392505050565b604081525f614fc46040830185614c94565b905061ffff831660208301529392505050565b604080825281018490525f8560608301825b878110156150125761ffff614ffd84614731565b16825260209283019290910190600101614fe9565b5083810360208501528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561504a575f80fd5b8460051b915081866020830137016020019695505050505050565b5f6020808385031215615076575f80fd5b825167ffffffffffffffff81111561508c575f80fd5b8301601f8101851361509c575f80fd5b80516150aa61455482614512565b81815260059190911b820183019083810190878311156150c8575f80fd5b928401925b828410156143465783516150e0816143ee565b825292840192908401906150cd565b5f6020808385031215615100575f80fd5b825167ffffffffffffffff811115615116575f80fd5b8301601f81018513615126575f80fd5b805161513461455482614512565b81815260069190911b82018301908381019087831115615152575f80fd5b928401925b82841015614346576040848903121561516f575f8081fd5b6151776144be565b8451615182816143ee565b81528486015186820152825260409093019290840190615157565b602081525f61468c6020830184614c94565b5f5b838110156151c95781810151838201526020016151b1565b50505f910152565b5f82516151e28184602087016151af565b9190910192915050565b602081525f825180602084015261520a8160408501602087016151af565b601f01601f1916919091016040019291505056fea2646970667358221220c00e6119498fe858df2308fe3c3f4cf534358245b2cc659b7c3fb3cb03d296bb64736f6c63430008150033