50 txs
51 calls
constructor
constructor(address taxCollector_, address arbiusToken_, address locker_, address uniswapV3Factory_, address positionManager_, uint64 defaultLockingPeriod_, address swapRouter_, address owner_)
functions
arbiusToken
viewfunction arbiusToken() view returns (address)
bundleFeeSwitch
viewfunction bundleFeeSwitch() view returns (bool)
defaultLockingPeriod
viewfunction defaultLockingPeriod() view returns (uint64)
deprecated
viewfunction deprecated() view returns (bool)
generateSalt
viewfunction generateSalt(address deployer, string name, string symbol, string image, string hash, uint256 supply) view returns (bytes32 salt, address token)
liquidityLocker
viewfunction liquidityLocker() view returns (address)
lpFeesCut
viewfunction lpFeesCut() view returns (uint8)
owner
viewfunction owner() view returns (address)
positionManager
viewfunction positionManager() view returns (address)
predictToken
viewfunction predictToken(address deployer, string name, string symbol, string image, string hash, uint256 supply, bytes32 salt) view returns (address)
swapRouter
viewfunction swapRouter() view returns (address)
taxCollector
viewfunction taxCollector() view returns (address)
taxRate
viewfunction taxRate() view returns (uint8)
uniswapV3Factory
viewfunction uniswapV3Factory() view returns (address)
deployToken
nonpayablefunction deployToken(string _name, string _symbol, uint256 _supply, int24 _initialTick, uint24 _fee, bytes32 _salt, address _deployer, string _image, string _hash, uint256 tokenAmount) returns (address token, uint256 tokenId)
renounceOwnership
nonpayablefunction renounceOwnership()
setDeprecated
nonpayablefunction setDeprecated(bool _deprecated)
toggleBundleFeeSwitch
nonpayablefunction toggleBundleFeeSwitch(bool _enabled)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDefaultLockingPeriod
nonpayablefunction updateDefaultLockingPeriod(uint64 newPeriod)
updateLiquidityLocker
nonpayablefunction updateLiquidityLocker(address newLocker)
updateProtocolFees
nonpayablefunction updateProtocolFees(uint8 newFee)
updateTaxCollector
nonpayablefunction updateTaxCollector(address newCollector)
updateTaxRate
nonpayablefunction updateTaxRate(uint8 newRate)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokenCreated
event TokenCreated(address tokenAddress, uint256 lpNftId, address deployer, string name, string symbol, uint256 supply, address lockerAddress, string hash)
errors
Deprecated
error Deprecated()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x6080346101b357601f614c4938819003918201601f19168301916001600160401b038311848410176101b757808492610100946040528339810103126101b357610048816101cb565b90610055602082016101cb565b610061604083016101cb565b9261006e606084016101cb565b61007a608085016101cb565b60a0850151916001600160401b03831683036101b35761009c60c087016101cb565b956001600160a01b03906100b29060e0016101cb565b169687156101a0575f80546001600160a01b031981168a17825560405199916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a360018054600380546001600160a01b03199081166001600160a01b039a8b1617909155600280548216948a169490941790935560048054841694891694909417909355600580548316948816949094179093559385166001600160f01b03199091161760a09290921b600160a01b600160e01b03169190911761321960e01b1790556006805490911692909116919091179055614a6990816101e08239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101b35756fe60c0806040526004361015610012575f80fd5b5f905f3560e01c9081630e136b19146119d6575080631962d947146119935780633aa10f1f1461193a5780634de2fae7146118f557806357aa0201146118d25780635b549182146118aa578063715018a61461185357806373a307901461171e578063771a3a1d146116fb578063791b98bc146116d35780637ebdf9ab146116ae5780638629cc7d146116865780638da5cb5b1461165f5780639759164a146116375780639dbb8c9f146115f4578063b0fad6f0146115af578063bea1dcf814611587578063c31c9c071461155f578063c5f261141461149d578063d406d75114611474578063d608a73614610240578063d848dee7146101f9578063e42efd54146101ae5763f2fde38b14610126575f80fd5b346101ab5760203660031901126101ab5761013f6119f8565b610147611c9d565b6001600160a01b031680156101975781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b50346101ab5760203660031901126101ab5760043560ff811681036101f5576101d5611c9d565b6001805460ff60e01b191660e09290921b60ff60e01b1691909117905580f35b5080fd5b50346101ab5760203660031901126101ab576004358015158091036101f557610220611c9d565b6006805460ff60a01b191660a09290921b60ff60a01b1691909117905580f35b5034610e9857610140366003190112610e98576004356001600160401b038111610e9857610272903690600401611a0e565b90916024356001600160401b038111610e9857610293903690600401611a0e565b9091606435928360020b8403610e98576084359262ffffff84168403610e985760c435966001600160a01b0388168803610e985760e4356001600160401b038111610e98576102e6903690600401611a5c565b96610104356001600160401b038111610e9857610307903690600401611a5c565b94610310611c9d565b60ff60065460a01c1661146557602498602060018060a01b03600454166040519b8c80926322afcccb60e01b825262ffffff8d1660048301525afa998a15610e8d575f9a611427575b508960020b15158061140b575b156113d757604080516001600160a01b038d166020820190815260a43582840152918152610395606082611a3b565b519020906040519081612d708101106001600160401b03612d70840111176113c35761044561042f8e8493612d70611cc4863960c0612d708601526103fe8c8c6103e88d8d60c0612d708c010191611ab1565b91612d70890183036020612d708b010152611ab1565b604435612d70870160408101919091526001600160a01b039093166060840152828103608090930192909252611c42565b612d708301810360a0612d70850101528a611c42565b03905ff5988915610e8d576003546001600160a01b03908116908b1681111561138f575f8a60020b125f146113855760028a900b600160ff1b14610ebb578960020b5f03905b620d89e89182811161135c57600181161561134a576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b16906002811661130f575b600481166112d4575b60088116611299575b6010811661125e575b60208116611223575b604081166111e8575b608081166111ad575b6101008116611172575b6102008116611137575b61040081166110fc575b61080081166110c1575b6110008116611086575b612000811661104b575b6140008116611010575b6180008116610fd5575b620100008116610f9a575b620200008116610f61575b620400008116610f2a575b6208000016610ef9575b5f8c60020b13610ed7575b63ffffffff8160201c9116155f14610ecf575f915b60ff831682018211610ebb5760208c918f6064905f60018060a01b036004541662ffffff604051978896879563a167129560e01b875260018060a01b0316600487015260248601521660448401525af1908115610e8d575f91610e9c575b506001600160a01b031691823b15610e985760405163f637731d60e01b815260ff9091169091016001600160a01b03166004820152905f908290602490829084905af18015610e8d57610e78575b506003546001600160a01b031699600283900b15610e64576040519a8b6001600160401b03610160828181011092011117610e50576101608c0160405260018060a01b038d168c5260208c015262ffffff8a1660408c015260020b60608b01528160020b90050260020b608089015260443560a08901528060c08901528060e08901528061010089015230610120890152426101408901528060206107218b60018060a01b036005541660405194858094819363095ea7b360e01b8352604435906004840160209093929193604081019460018060a01b031681520152565b03926001600160a01b03165af18015610b9c57610e33575b5060055460408051634418b22b60e11b81528a516001600160a01b03908116600483015260208c015181166024830152918b015162ffffff16604482015260608b0151600290810b60648301526080808d015190910b608483015260a08c015160a483015260c08c015160c483015260e08c015160e48301526101008c01516101048301526101208c01518316610124830152610140909b015161014482015299918a916101649183918691165af1978815610e26578198610dd0575b50600254600554600154604051634e54db0960e01b81526001600160a01b039283166004820152828e16602482015260a082901c6001600160401b03166044820152606481018c905260e89190911c60ff16608482015291602091839160a49183918791165af1908115610b9c578291610da1575b506005546001600160a01b0316803b15610d9d57604051632142170760e11b81523060048201526001600160a01b0383166024820152604481018b90529083908290606490829084905af18015610d7d57908391610d88575b50506001600160a01b031696873b156101f5576040516367a4d1c360e01b8152600481018a90528281602481838d5af18015610d7d57908391610d68575b5050610124351580156109bd575b5050509361098988946109a49461097b7f47b13d639720e17842f67cc5eeb9be8f3e05c1d2e756596f0e094277d503372e999560409d998e519a8b9a60018060a01b03168b528d60208c015260018060a01b03168f8b015261010060608b01526101008a0191611ab1565b918783036080890152611ab1565b9160443560a086015260c085015283820360e0850152611c42565b0390a182516001600160a01b0390921682526020820152f35b610124359060ff60065460a81c16610c4f575b506003546040516323b872dd60e01b815233600482015230602482015260448101839052906020908290606490829088906001600160a01b03165af1908115610be8578491610c30575b5015610bf35760035460065460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291602091839160449183918991165af18015610be857610bbb575b5060035460405191906001600160a01b031661010083016001600160401b03811184821017610ba75792858f8f946101049460209760405284528684019560018060a01b0316865262ffffff6040850198168852606084019160018060a01b03168252608084019042825260a0850190815260c085019084825260e086019285845260018060a01b03600654169462ffffff6040519c8d9b8c9a63414bf38960e01b8c5260018060a01b0390511660048c015260018060a01b0390511660248b01525116604489015260018060a01b0390511660648801525160848701525160a48601525160c485015260018060a01b0390511660e48401525af18015610b9c57610b71575b80610910565b602090813d8311610b95575b610b878183611a3b565b810103126101ab5780610b6b565b503d610b7d565b6040513d84823e3d90fd5b634e487b7160e01b86526041600452602486fd5b610bdc9060203d602011610be1575b610bd48183611a3b565b810190611c85565b610a65565b503d610bca565b6040513d86823e3d90fd5b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b6044820152606490fd5b610c49915060203d602011610be157610bd48183611a3b565b5f610a1a565b60015491506101243560e083901c60ff1681810292918304141715610d54576103e89004806101243503610124358111610d40576003546040516323b872dd60e01b81523360048201526001600160a01b03948516602482015260448101939093529092602091839160649183918991165af1908115610be8578491610d21575b5015610cdc575f6109d0565b60405162461bcd60e51b815260206004820152601c60248201527f4661696c656420746f2073656e642070726f746f636f6c2066656573000000006044820152606490fd5b610d3a915060203d602011610be157610bd48183611a3b565b5f610cd0565b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b84526011600452602484fd5b81610d7291611a3b565b6101f557815f610902565b6040513d85823e3d90fd5b81610d9291611a3b565b6101f557815f6108c4565b8280fd5b610dc3915060203d602011610dc9575b610dbb8183611a3b565b810190611c66565b5f61086b565b503d610db1565b9097506080813d608011610e1e575b81610dec60809383611a3b565b81010312610e1a57602081519101516fffffffffffffffffffffffffffffffff811603610e1a57965f6107f6565b8780fd5b3d9150610ddf565b50604051903d90823e3d90fd5b610e4b9060203d602011610be157610bd48183611a3b565b610739565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b84526012600452602484fd5b610e859193505f90611a3b565b5f915f610642565b6040513d5f823e3d90fd5b5f80fd5b610eb5915060203d602011610dc957610dbb8183611a3b565b5f6105f4565b634e487b7160e01b5f52601160045260245ffd5b600191610596565b8015610ee5575f1904610581565b634e487b7160e01b5f52601260045260245ffd5b6b048a170391f7dc42444e8fa28102908082046b048a170391f7dc42444e8fa21490151715610ebb5760801c610576565b906d2216e584f5fa1ea926041bedfe988102908082046d2216e584f5fa1ea926041bedfe981490151715610ebb5760801c9061056c565b906e5d6af8dedb81196699c329225ee6048102908082046e5d6af8dedb81196699c329225ee6041490151715610ebb5760801c90610561565b906f09aa508b5b7a84e1c677de54f3e99bc98102908082046f09aa508b5b7a84e1c677de54f3e99bc91490151715610ebb5760801c90610556565b906f31be135f97d08fd981231505542fcfa68102908082046f31be135f97d08fd981231505542fcfa61490151715610ebb5760801c9061054b565b906f70d869a156d2a1b890bb3df62baf32f78102908082046f70d869a156d2a1b890bb3df62baf32f71490151715610ebb5760801c90610541565b906fa9f746462d870fdf8a65dc1f90e061e58102908082046fa9f746462d870fdf8a65dc1f90e061e51490151715610ebb5760801c90610537565b906fd097f3bdfd2022b8845ad8f792aa58258102908082046fd097f3bdfd2022b8845ad8f792aa58251490151715610ebb5760801c9061052d565b906fe7159475a2c29b7443b29c7fa6e889d98102908082046fe7159475a2c29b7443b29c7fa6e889d91490151715610ebb5760801c90610523565b906ff3392b0822b70005940c7a398e4b70f38102908082046ff3392b0822b70005940c7a398e4b70f31490151715610ebb5760801c90610519565b906ff987a7253ac413176f2b074cf7815e548102908082046ff987a7253ac413176f2b074cf7815e541490151715610ebb5760801c9061050f565b906ffcbe86c7900a88aedcffc83b479aa3a48102908082046ffcbe86c7900a88aedcffc83b479aa3a41490151715610ebb5760801c90610505565b906ffe5dee046a99a2a811c461f1969c30538102908082046ffe5dee046a99a2a811c461f1969c30531490151715610ebb5760801c906104fb565b906fff2ea16466c96a3843ec78b326b528618102908082046fff2ea16466c96a3843ec78b326b528611490151715610ebb5760801c906104f2565b906fff973b41fa98c081472e6896dfb254c08102908082046fff973b41fa98c081472e6896dfb254c01490151715610ebb5760801c906104e9565b906fffcb9843d60f6159c9db58835c9266448102908082046fffcb9843d60f6159c9db58835c9266441490151715610ebb5760801c906104e0565b906fffe5caca7e10e4e61c3624eaa0941cd08102908082046fffe5caca7e10e4e61c3624eaa0941cd01490151715610ebb5760801c906104d7565b906ffff2e50f5f656932ef12357cf3c7fdcc8102908082046ffff2e50f5f656932ef12357cf3c7fdcc1490151715610ebb5760801c906104ce565b906ffff97272373d413259a46990580e213a8102908082046ffff97272373d413259a46990580e213a1490151715610ebb5760801c906104c5565b6001600160881b03600160801b6104ba565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b8960020b9061048b565b60405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081cd85b1d60a21b6044820152606490fd5b634e487b7160e01b5f52604160045260245ffd5b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964207469636b60a01b6044820152606490fd5b508960020b15610ee5578960020b8960020b0760020b15610366565b9099506020813d60201161145d575b8161144360209383611a3b565b81010312610e9857518060020b8103610e9857985f610359565b3d9150611436565b6331cee75f60e21b5f5260045ffd5b34610e98575f366003190112610e985760206001600160401b0360015460a01c16604051908152f35b34610e985760e0366003190112610e98576114b66119f8565b6024356001600160401b038111610e98576114d5903690600401611a0e565b906044356001600160401b038111610e98576114f5903690600401611a0e565b93906064356001600160401b038111610e9857611516903690600401611a0e565b60843595916001600160401b038711610e985760209761153d61154d983690600401611a0e565b95909460c4359860a43598611ad1565b6040516001600160a01b039091168152f35b34610e98575f366003190112610e98576006546040516001600160a01b039091168152602090f35b34610e98575f366003190112610e98576001546040516001600160a01b039091168152602090f35b34610e98576020366003190112610e9857600435801515809103610e98576115d5611c9d565b6006805460ff60a81b191660a89290921b60ff60a81b16919091179055005b34610e98576020366003190112610e985761160d6119f8565b611615611c9d565b600280546001600160a01b0319166001600160a01b0392909216919091179055005b34610e98575f366003190112610e98576002546040516001600160a01b039091168152602090f35b34610e98575f366003190112610e98575f546040516001600160a01b039091168152602090f35b34610e98575f366003190112610e98576003546040516001600160a01b039091168152602090f35b34610e98575f366003190112610e9857602060ff60065460a81c166040519015158152f35b34610e98575f366003190112610e98576005546040516001600160a01b039091168152602090f35b34610e98575f366003190112610e9857602060ff60015460e01c16604051908152f35b34610e985760c0366003190112610e98576117376119f8565b6024356001600160401b038111610e9857611756903690600401611a0e565b91906044356001600160401b038111610e9857611777903690600401611a0e565b9060a052926064356001600160401b038111610e985761179b903690600401611a0e565b60843593916001600160401b038511610e985795936117be903690600401611a0e565b5f6080526003546001600160a01b031697909290876117f38787878787878e5b608051986080519760a4359760a05192611ad1565b6001600160a01b0381168b118061184a575b61182e5750506080515f1914610ebb57608080516001019052876117f38787878787878e6117de565b604080519283526001600160a01b039190911660208301529150f35b50803b15611805565b34610e98575f366003190112610e985761186b611c9d565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610e98575f366003190112610e98576004546040516001600160a01b039091168152602090f35b34610e98575f366003190112610e9857602060ff60015460e81c16604051908152f35b34610e98576020366003190112610e985760043560ff81168103610e985761191b611c9d565b6001805460ff60e81b191660e89290921b60ff60e81b16919091179055005b34610e98576020366003190112610e98576004356001600160401b0381168103610e9857611966611c9d565b6001805467ffffffffffffffff60a01b191660a09290921b67ffffffffffffffff60a01b16919091179055005b34610e98576020366003190112610e98576119ac6119f8565b6119b4611c9d565b600180546001600160a01b0319166001600160a01b0392909216919091179055005b34610e98575f366003190112610e985760209060ff60065460a01c1615158152f35b600435906001600160a01b0382168203610e9857565b9181601f84011215610e98578235916001600160401b038311610e985760208381860195010111610e9857565b90601f801991011681019081106001600160401b038211176113c357604052565b81601f82011215610e98578035906001600160401b0382116113c35760405192611a90601f8401601f191660200185611a3b565b82845260208383010111610e9857815f926020809301838601378301015290565b908060209392818452848401375f828201840152601f01601f1916010190565b96939792989094919599604051806020810192611b04908b8560209093929193604081019460018060a01b031681520152565b03601f1981018252611b169082611a3b565b51902099612d70976040519a60208a01611b30908d611a3b565b898c5260208c0199611cc48b396040519a8b9860208a019a60c08c5260e08b0190611b5a92611ab1565b90601f198a83030160408b0152611b7092611ab1565b60608801939093526001600160a01b03166080870152858203601f190160a0870152611b9b92611ab1565b90601f198483030160c0850152611bb192611ab1565b03601f1981018452611bc39084611a3b565b6040519283926020840195518091875e83019060208201905f8252519283915e016020015f815203601f1981018252611bfc9082611a3b565b5190209060405191602083019160ff60f81b83523060601b60218501526035840152605583015260558252611c32607583611a3b565b905190206001600160a01b031690565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90816020910312610e9857516001600160a01b0381168103610e985790565b90816020910312610e9857518015158103610e985790565b5f546001600160a01b03163303611cb057565b63118cdaa760e01b5f523360045260245ffdfe6101806040523461007957610021610015610133565b94939093929192610562565b604051611de39081610f4d8239608051816111da015260a05181611297015260c051816111a4015260e051816112290152610100518161124f015261012051816107430152610140518161076c015261016051815050f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176100b457604052565b61007d565b604051906100c8604083610091565b565b81601f82011215610079578051906001600160401b0382116100b457604051926100fe601f8401601f191660200185610091565b8284526020838301011161007957815f9260208093018386015e8301015290565b51906001600160a01b038216820361007957565b612d709081380380604051936101498286610091565b843982019160c0818403126100795780516001600160401b03811161007957836101749183016100ca565b60208201519093906001600160401b03811161007957816101969184016100ca565b936040830151936101a96060850161011f565b60808501519094906001600160401b03811161007957846101cb9183016100ca565b60a08201519094906001600160401b038111610079576101eb92016100ca565b91959493929190565b90600182811c92168015610222575b602083101461020e57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610203565b601f8111610238575050565b60035f5260205f20906020601f840160051c83019310610272575b601f0160051c01905b818110610267575050565b5f815560010161025c565b9091508190610253565b601f821161028957505050565b5f5260205f20906020601f840160051c830193106102c1575b601f0160051c01905b8181106102b6575050565b5f81556001016102ab565b90915081906102a2565b80519091906001600160401b0381116100b4576102f4816102ed6004546101f4565b600461027c565b602092601f821160011461033457610324929382915f92610329575b50508160011b915f199060031b1c19161790565b600455565b015190505f80610310565b60045f52601f198216937f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f5b8681106103985750836001959610610380575b505050811b01600455565b01515f1960f88460031b161c191690555f8080610375565b91926020600181928685015181550194019201610362565b80519091906001600160401b0381116100b4576103d9816103d2600e546101f4565b600e61027c565b602092601f821160011461040d57610408929382915f926103295750508160011b915f199060031b1c19161790565b600e55565b600e5f52601f198216937fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd915f5b8681106104715750836001959610610459575b505050811b01600e55565b01515f1960f88460031b161c191690555f808061044e565b9192602060018192868501518155019401920161043b565b80519091906001600160401b0381116100b4576104b2816104ab600f546101f4565b600f61027c565b602092601f82116001146104e6576104e1929382915f926103295750508160011b915f199060031b1c19161790565b600f55565b600f5f52601f198216937f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802915f5b86811061054a5750836001959610610532575b505050811b01600f55565b01515f1960f88460031b161c191690555f8080610527565b91926020600181928685015181550194019201610514565b949392919460405190610576604083610091565b60018252603160f81b6020830190815281519093906001600160401b0381116100b4576105ad816105a86003546101f4565b61022c565b6020601f82116001146106745793610659936105f96100c89b9a98946105f18561065e9a966106639d9a5f91610669575b508160011b915f199060031b1c19161790565b6003556102cb565b610602816107b7565b6101205261060f826108ac565b610140526020815191012060e052519020610100524660a05261063061099e565b6080523060c052600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6103b0565b610489565b3361070b565b90508501515f6105de565b60035f52601f198216907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f5b8181106106f357506100c89b9a98946001856106639c9995610659999561065e9c986105f996106106db575b5050811b016003556102cb565b8601515f1960f88460031b161c191690555f806106ce565b9192602060018192868a0151815501940192016106a2565b91906001600160a01b03831680156107a45760025482810180911161079f576002555f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a3600254926001600160d01b0380851161078857506100c8929350610a7b565b630e58ae9360e11b5f52600485905260245260445ffd5b610a67565b63ec442f0560e01b5f525f60045260245ffd5b908151602081105f146107d25750906107cf906109fc565b90565b6001600160401b0381116100b4576107f6816107ef6005546101f4565b600561027c565b602092601f821160011461082d57610825929382915f926103295750508160011b915f199060031b1c19161790565b60055560ff90565b60055f52601f198216937f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0915f5b868110610894575083600195961061087c575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f808061086e565b9192602060018192868501518155019401920161085b565b908151602081105f146108c45750906107cf906109fc565b6001600160401b0381116100b4576108e8816108e16006546101f4565b600661027c565b602092601f821160011461091f57610917929382915f926103295750508160011b915f199060031b1c19161790565b60065560ff90565b60065f52601f198216937ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f915f5b868110610986575083600195961061096e575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610960565b9192602060018192868501518155019401920161094d565b60e051610100516040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526109f660c082610091565b51902090565b601f815111610a27576020815191015160208210610a18571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b634e487b7160e01b5f52601160045260245ffd5b90610a8581610b7a565b9165ffffffffffff4311610b6257600a5480610b2c5750610abf610aaf6100c8945f5b6001610ef0565b65ffffffffffff4316600a610e1a565b50506001600160a01b03168015610b14575b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7545f9182526040909120546001600160a01b039081169116610ca9565b610b25610b2083610b7a565b610bab565b5050610ad1565b92835f1981011161079f57600a5f525f516020612d305f395f51905f52909301546100c893610abf91610aaf919060301c610aa8565b6306dfcc6560e41b5f5260306004524360245260445ffd5b6001600160d01b038111610b94576001600160d01b031690565b6306dfcc6560e41b5f5260d060045260245260445ffd5b65ffffffffffff4311610b6257600a5480610bd55750610aaf610bd1915f5b6002610ef0565b9091565b805f1981011161079f57600a5f525f516020612d305f395f51905f520154610bd191610aaf9160301c610bca565b65ffffffffffff4311610b6257805480610c375750610c27610bd1925f6002610ef0565b9065ffffffffffff431690610e1a565b805f1981011161079f575f82815260209020015f190154610bd192610c279160301c610bca565b65ffffffffffff4311610b6257805480610c825750610c27610bd1925f6001610ef0565b805f1981011161079f575f82815260209020015f190154610bd192610c279160301c610aa8565b6001600160a01b03808316939291908116908185141580610d9c575b610cd1575b5050505050565b81610d42575b505082610ce6575b8080610cca565b6001600160a01b03165f9081526009602052604090205f516020612d505f395f51905f5291610d1f91610d199091610b7a565b90610c5e565b604080516001600160d01b039384168152919092166020820152a25f8080610cdf565b6001600160a01b03165f9081526009602052604090205f516020612d505f395f51905f5290610d7a90610d7486610b7a565b90610c03565b604080516001600160d01b039384168152919092166020820152a25f80610cd7565b50831515610cc5565b5f1981019190821161079f57565b908154680100000000000000008110156100b45760018101808455811015610e06575f9283526020928390208251929093015160301b65ffffffffffff191665ffffffffffff9290921691909117910155565b634e487b7160e01b5f52603260045260245ffd5b80549293928015610ec657610e31610e3c91610da5565b825f5260205f200190565b8054603081901c9365ffffffffffff91821692918116808411610eb757879303610e835750610e7f92509065ffffffffffff82549181199060301b169116179055565b9190565b915050610e7f91610ea3610e956100b9565b65ffffffffffff9093168352565b6001600160d01b0386166020830152610db3565b632520601d60e01b5f5260045ffd5b5090610eeb91610ed7610e956100b9565b6001600160d01b0385166020830152610db3565b5f9190565b91909180600114610f3257600214610f1657634e487b7160e01b5f52605160045260245ffd5b6001600160d01b039081169181169190910390811161079f5790565b506001600160d01b039182169082160190811161079f579056fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146101d4578063095ea7b3146101cf57806309bd5a60146101ca57806318160ddd146101c557806323b872dd146101c0578063313ce567146101bb5780633644e515146101b65780633a46b1a8146101b157806342966c68146101ac5780634bf5d7e9146101a7578063587cde1e146101a25780635c19a95c1461019d5780636fcfff451461019857806370a082311461019357806379cc67901461018e5780637ecebe001461018957806384b0196e146101845780638e539e8c1461017f57806391ddadf41461017a57806395d89b41146101755780639ab24eb014610170578063a9059cbb1461016b578063c3cda52014610166578063d505accf14610161578063d5f394881461015c578063dd62ed3e14610157578063f1127ed8146101525763f3ccaac01461014d575f80fd5b610de2565b610d30565b610cd9565b610cb1565b610b8d565b610a7e565b610a38565b6109f1565b61094c565b610921565b610828565b61072b565b6106f3565b6106c3565b61068b565b610629565b610607565b6105c7565b610537565b610518565b610483565b610461565b610446565b61040e565b6103f1565b61034c565b61031b565b610211565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90602061020e9281815201906101d9565b90565b346102eb575f3660031901126102eb576040515f60035461023181610e9b565b80845290600181169081156102c75750600114610269575b6102658361025981850382610f89565b604051918291826101fd565b0390f35b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b8082106102ad57509091508101602001610259610249565b919260018160209254838588010152019101909291610295565b60ff191660208086019190915291151560051b840190910191506102599050610249565b5f80fd5b600435906001600160a01b03821682036102eb57565b602435906001600160a01b03821682036102eb57565b346102eb5760403660031901126102eb576103416103376102ef565b60243590336115a1565b602060405160018152f35b346102eb575f3660031901126102eb576040515f600f5461036c81610e9b565b80845290600181169081156102c75750600114610393576102658361025981850382610f89565b600f5f9081527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802939250905b8082106103d757509091508101602001610259610249565b9192600181602092548385880101520191019092916103bf565b346102eb575f3660031901126102eb576020600254604051908152f35b346102eb5760603660031901126102eb5761034161042a6102ef565b610432610305565b60443591610441833383610fd4565b6110a2565b346102eb575f3660031901126102eb57602060405160128152f35b346102eb575f3660031901126102eb57602061047b6111a1565b604051908152f35b346102eb5760403660031901126102eb5761049c6102ef565b60243565ffffffffffff6104af436112bd565b169182821015610502576001600160a01b03165f90815260096020526040902061026592506001600160d01b03916104f191906104eb906112bd565b90611308565b604051911681529081906020820190565b50637669fc0f60e11b5f5260045260245260445ffd5b346102eb5760203660031901126102eb5761053560043533611399565b005b346102eb575f3660031901126102eb57610550436112bd565b65ffffffffffff80610561436112bd565b169116036105b85761026560405161057a604082610f89565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526040519182916020835260208301906101d9565b6301bfc1c560e61b5f5260045ffd5b346102eb5760203660031901126102eb576001600160a01b036105e86102ef565b165f526008602052602060018060a01b0360405f205416604051908152f35b346102eb5760203660031901126102eb576105356106236102ef565b336114c1565b346102eb5760203660031901126102eb576001600160a01b0361064a6102ef565b165f52600960205260405f205463ffffffff81116106745760405163ffffffff9091168152602090f35b6306dfcc6560e41b5f52602060045260245260445ffd5b346102eb5760203660031901126102eb57602061047b6106a96102ef565b6001600160a01b03165f9081526020819052604090205490565b346102eb5760403660031901126102eb576105356106df6102ef565b602435906106ee823383610fd4565b611399565b346102eb5760203660031901126102eb576001600160a01b036107146102ef565b165f526007602052602060405f2054604051908152f35b346102eb575f3660031901126102eb576107cf6107677f0000000000000000000000000000000000000000000000000000000000000000611918565b6107907f0000000000000000000000000000000000000000000000000000000000000000611978565b602060405161079f8282610f89565b5f8152816107dd81830194601f198301368737604051978897600f60f81b895260e0858a015260e08901906101d9565b9087820360408901526101d9565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061081157505050500390f35b835185528695509381019392810192600101610802565b346102eb5760203660031901126102eb5760043565ffffffffffff61084c436112bd565b16908181101561090c5761085f906112bd565b600a54905f8291600584116108b3575b61087b9350600a611792565b80610897575060205f5b6040516001600160d01b039091168152f35b6108a26020916112ec565b600a5f52815f20015460301c610885565b91926108be81611634565b81039081116109075761087b93600a5f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146108f557509161086f565b929150610901906112fa565b9061086f565b610e87565b637669fc0f60e11b5f5260045260245260445ffd5b346102eb575f3660031901126102eb57602061093c436112bd565b65ffffffffffff60405191168152f35b346102eb575f3660031901126102eb576040515f60045461096c81610e9b565b80845290600181169081156102c75750600114610993576102658361025981850382610f89565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106109d757509091508101602001610259610249565b9192600181602092548385880101520191019092916109bf565b346102eb5760203660031901126102eb576001600160a01b03610a126102ef565b165f526009602052602060018060d01b03610a2f60405f20611542565b16604051908152f35b346102eb5760403660031901126102eb57610341610a546102ef565b60243590336110a2565b6064359060ff821682036102eb57565b6084359060ff821682036102eb57565b346102eb5760c03660031901126102eb57610a976102ef565b60243590604435610aa6610a5e565b6084359060a43592804211610b7b5791610b2b9391610b1d610b229460405160208101917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835260018060a01b038a1660408301528a6060830152608082015260808152610b1560a082610f89565b51902061156c565b6119af565b90929192611a5a565b6001600160a01b0381165f908152600760205260409020805460018101909155809303610b5c5761053592506114c1565b90506301d4b62360e61b5f5260018060a01b031660045260245260445ffd5b632341d78760e11b5f5260045260245ffd5b346102eb5760e03660031901126102eb57610ba66102ef565b610bae610305565b6044359060643592610bbe610a6e565b60a43560c43590864211610c9e576001600160a01b0384165f908152600760205260409020805460018101909155610c639390610c5e909860405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835260018060a01b0389169b8c604084015260018060a01b038b1660608401528b608084015260a083015260c082015260c08152610b1560e082610f89565b611592565b936001600160a01b03851603610c7d5761053593506115a1565b6325c0072360e11b5f526001600160a01b038085166004521660245260445ffd5b8663313c898160e11b5f5260045260245ffd5b346102eb575f3660031901126102eb57600d546040516001600160a01b039091168152602090f35b346102eb5760403660031901126102eb576020610d27610cf76102ef565b610cff610305565b6001600160a01b039182165f9081526001855260408082209290931681526020919091522090565b54604051908152f35b346102eb5760403660031901126102eb57610d496102ef565b6024359063ffffffff821682036102eb5761026591610d9891610d6a610fbc565b50610d73610fbc565b506001600160a01b03165f908152600960205260409020610d92610fbc565b50611ad6565b5060405190610da682610f68565b5465ffffffffffff811680835260309190911c60209283019081526040805192835290516001600160d01b031692820192909252918291820190565b346102eb575f3660031901126102eb576040515f600e54610e0281610e9b565b80845290600181169081156102c75750600114610e29576102658361025981850382610f89565b600e5f9081527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd939250905b808210610e6d57509091508101602001610259610249565b919260018160209254838588010152019101909291610e55565b634e487b7160e01b5f52601160045260245ffd5b90600182811c92168015610ec9575b6020831014610eb557565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610eaa565b5f9291815491610ee283610e9b565b8083529260018116908115610f375750600114610efe57505050565b5f9081526020812093945091925b838310610f1d575060209250010190565b600181602092949394548385870101520191019190610f0c565b915050602093945060ff929192191683830152151560051b010190565b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610f8457604052565b610f54565b90601f8019910116810190811067ffffffffffffffff821117610f8457604052565b60405190610fba604083610f89565b565b60405190610fc982610f68565b5f6020838281520152565b6001600160a01b039081165f81815260016020908152604080832094861683529390529190912091929091546001810161100f575b50505050565b81811061108157821561106e576001600160a01b0384161561105b57611051925f526001602052039160405f209060018060a01b03165f5260205260405f2090565b555f808080611009565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b83637dc7a0d960e11b5f5260018060a01b031660045260245260445260645ffd5b6001600160a01b03811693929190841561118e576001600160a01b038216801561117b576001600160a01b0382165f90815260208190526040902054958487106111555784610fba9697036111068460018060a01b03165f525f60205260405f2090565b556001600160a01b0384165f9081526020819052604090208054860190556040518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3611c06565b63391434e360e21b5f526001600160a01b0383166004526024879052604485905260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611294575b156111fc577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261128e60c082610f89565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146111d3565b65ffffffffffff81116112d55765ffffffffffff1690565b6306dfcc6560e41b5f52603060045260245260445ffd5b5f1981019190821161090757565b906001820180921161090757565b908154905f829160058411611346575b611323935084611792565b8061132e5750505f90565b611337906112ec565b905f5260205f20015460301c90565b919261135181611634565b81039081116109075761132393855f5265ffffffffffff8260205f2001541665ffffffffffff8516105f14611387575091611318565b929150611393906112fa565b90611318565b6001600160a01b03811690811561118e576001600160a01b0381165f9081526020819052604090205483811061149c57906113eb84610fba959493039160018060a01b03165f525f60205260405f2090565b5581600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405180602081018782520390a38015611484575b61143d61143883611aff565b611bd1565b50505f908152600860205260408120549080527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7546001600160a01b0390811691166117f6565b61149561149083611aff565b611b9c565b505061142c565b63391434e360e21b5f526001600160a01b03909116600452602452604482905260645ffd5b6001600160a01b038181165f81815260086020526040812080548685166001600160a01b031982168117909255610fba9694169461153c9390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a46001600160a01b03165f9081526020819052604090205490565b916117f6565b805490816115505750505f90565b815f19810111610907575f525f199060205f2001015460301c90565b6042906115776111a1565b906040519161190160f01b8352600283015260228201522090565b9161020e9391610b22936119af565b6001600160a01b031690811561106e576001600160a01b03811692831561105b57806116097f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600160205260405f209060018060a01b03165f5260205260405f2090565b55604051908152602090a3565b8115611620570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561020e57806001600160801b821015611755575b6116fb6116f16116e76116dd6116d36116c96116b86117029760048a600160401b6117079c1015611748575b64010000000081101561173b575b6201000081101561172e575b610100811015611721575b6010811015611714575b101561170c575b60030260011c90565b6116c2818b611616565b0160011c90565b6116c2818a611616565b6116c28189611616565b6116c28188611616565b6116c28187611616565b6116c28186611616565b8093611616565b821190565b900390565b60011b6116af565b60041c9160021b916116a8565b60081c9160041b9161169e565b60101c9160081b91611693565b60201c9160101b91611687565b60401c9160201b91611679565b50506117076117026116fb6116f16116e76116dd6116d36116c96116b861177c8a60801c90565b9850600160401b975061164d9650505050505050565b91905b8382106117a25750505090565b9091928083169080841860011c820180921161090757845f5265ffffffffffff8260205f2001541665ffffffffffff8416105f146117e45750925b9190611795565b9392506117f0906112fa565b916117dd565b6001600160a01b0380831693929190811690818514158061190f575b61181e575b5050505050565b816118a2575b505082611833575b8080611817565b6001600160a01b03165f9081526009602052604090207fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249161187f916118799091611aff565b90611b68565b604080516001600160d01b039384168152919092166020820152a25f808061182c565b6001600160a01b03165f9081526009602052604090207fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724906118ed906118e786611aff565b90611b30565b604080516001600160d01b039384168152919092166020820152a25f80611824565b50831515611812565b60ff811461195e5760ff811690601f821161194f576040519161193c604084610f89565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b5060405161020e81611971816005610ed3565b0382610f89565b60ff811461199c5760ff811690601f821161194f576040519161193c604084610f89565b5060405161020e81611971816006610ed3565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611a31579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611a26575f516001600160a01b03811615611a1c57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115611a4657565b634e487b7160e01b5f52602160045260245ffd5b611a6381611a3c565b80611a6c575050565b611a7581611a3c565b60018103611a8c5763f645eedf60e01b5f5260045ffd5b611a9581611a3c565b60028103611ab0575063fce698f760e01b5f5260045260245ffd5b80611abc600392611a3c565b14611ac45750565b6335e2f38360e21b5f5260045260245ffd5b8054821015611aeb575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b6001600160d01b038111611b19576001600160d01b031690565b6306dfcc6560e41b5f5260d060045260245260445ffd5b90611b3a436112bd565b90611b4483611542565b6001600160d01b03918216908216039190821161090757611b6492611cd7565b9091565b90611b72436112bd565b90611b7c83611542565b6001600160d01b03918216908216019190821161090757611b6492611cd7565b611ba5436112bd565b90611bb0600a611542565b6001600160d01b039182169082160190811161090757611b6491600a611cd7565b611bda436112bd565b90611be5600a611542565b6001600160d01b039182169082160390811161090757611b6491600a611cd7565b610fba92916001600160a01b03909116908115611c69575b6001600160a01b0316908115611c56575b5f90815260086020526040808220549282529020546001600160a01b0390811691166117f6565b611c6261143884611aff565b5050611c2f565b611c7561149084611aff565b5050611c1e565b8054600160401b811015610f8457611c9991600182018155611ad6565b611cc457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611d8357611cee611cf9916112ec565b825f5260205f200190565b8054603081901c9365ffffffffffff91821692918116808411611d7457879303611d405750611d3c92509065ffffffffffff82549181199060301b169116179055565b9190565b915050611d3c91611d60611d52610fab565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611c7c565b632520601d60e01b5f5260045ffd5b5090611da891611d94611d52610fab565b6001600160d01b0385166020830152611c7c565b5f919056fea2646970667358221220e54091fa66b04cef9ff0bcac1a3092906e9fc9c123fdf49069a54937acc4562264736f6c634300081c0033c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724a2646970667358221220c6a9808bb2b47f02e32a2b5c17853ffe8e6d23d5bae798076e8bb56bddd94cde64736f6c634300081c003300000000000000000000000069dc566ae183c2186e2c0ef11154e232e6e3f90d0000000000000000000000004a24b101728e07a52053c13fb4db2bcf490cabc300000000000000000000000061b3d2391fb036eeb1b6eb3c7df217bec3663eab0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe8800000000000000000000000000000000000000000000000000000000f64e27fa000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000ce5d017f34548f3e640dc482b21e624762fa71d1