0 txs
28k calls
constructor
No constructor.
functions
MAX_TP_SL_ORDERS
viewfunction MAX_TP_SL_ORDERS() view returns (uint256)
events
CancelOrder
event CancelOrder(uint64 orderId, uint8 orderType, bytes32[3] orderData)
NewLiquidityOrder
event NewLiquidityOrder(address indexed account, uint64 indexed orderId, uint8 assetId, uint96 rawAmount, bool isAdding)
NewPositionOrder
event NewPositionOrder(bytes32 indexed subAccountId, uint64 indexed orderId, uint96 collateral, uint96 size, uint96 price, uint8 profitTokenId, uint8 flags, uint32 deadline)
NewPositionOrderExtra
event NewPositionOrderExtra(bytes32 indexed subAccountId, uint64 indexed orderId, uint96 collateral, uint96 size, uint96 price, uint8 profitTokenId, uint8 flags, uint32 deadline, (uint96 tpPrice, uint96 slPrice, uint8 tpslProfitTokenId, uint32 tpslDeadline) extra)
errors
No errors.
creation bytecode
0x613c2a61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c80636a5bc976116100655780636a5bc9761461012c57806385e9fee21461014c57806398b4d4841461016c578063d989fb2a1461018c57600080fd5b80630b01bf6e146100975780630f40ab71146100d457806313f91e63146100f65780631e8fc0ef1461010c575b600080fd5b8180156100a357600080fd5b506100b76100b2366004613148565b6101ac565b6040516001600160601b0390911681526020015b60405180910390f35b8180156100e057600080fd5b506100f46100ef3660046131d1565b6105a8565b005b6100fe602081565b6040519081526020016100cb565b81801561011857600080fd5b506100f461012736600461332c565b61078c565b81801561013857600080fd5b506100b76101473660046133a5565b610981565b81801561015857600080fd5b506100f461016736600461341a565b610bfa565b81801561017857600080fd5b506100f461018736600461343c565b610ea3565b81801561019857600080fd5b506100fe6101a736600461348f565b610fc4565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905260c08301516004161561029457600189015460208401516040516303e9375760e01b81526001600160a01b03909216916303e937579161021c9160040190815260200190565b60a060405180830381865afa158015610239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025d9190613587565b6001600160801b031660808601526001600160601b03908116606086015263ffffffff909116604085015290811660208401521681525b60018901546020840151606085015160a0860151604051639a69721f60e01b815260048101939093526001600160601b03918216602484015260ff16604483015280891660648301528088166084830152861660a48201526001600160a01b0390911690639a69721f9060c4016020604051808303816000875af1158015610320573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034491906135f7565b91506103568360c00151600416151590565b1561039f5761036889848a8486611304565b61039f5760405162461bcd60e51b815260206004820152600360248201526214119560ea1b60448201526064015b60405180910390fd5b60408301516001600160601b038116156104395760018a01546020850151604051634700832960e11b815260048101919091526001600160601b038084166024830152808a166044830152881660648201526001600160a01b0390911690638e01065290608401600060405180830381600087803b15801561042057600080fd5b505af1158015610434573d6000803e3d6000fd5b505050505b6020808501516000908152600b8c0190915260409020610462906001600160401b038a16611527565b5060018a015460208501516040516303e9375760e01b815260009283926001600160a01b03909116916303e93757916104a19160040190815260200190565b60a060405180830381865afa1580156104be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e29190613587565b50505091509150806001600160601b0316600014156105995760c08601516020161515801561051a57506000826001600160601b0316115b1561058b5760018c01546020870151604051631ae0468f60e21b81526001600160a01b0390921691636b811a3c916105589160040190815260200190565b600060405180830381600087803b15801561057257600080fd5b505af1158015610586573d6000803e3d6000fd5b505050505b6105998c8760200151610bfa565b50505050979650505050505050565b6001600160601b0386166105e45760405162461bcd60e51b81526020600482015260036024820152620533d360ec1b6044820152606401610396565b60006105f08960501c90565b60ff8116600090815260108d0160205260409020549091506001600160601b0316801561065d57610621818961362a565b6001600160601b03161561065d5760405162461bcd60e51b81526020600482015260036024820152621313d560ea1b6044820152606401610396565b505060408316156106e4576001600160601b038516156106a55760405162461bcd60e51b815260206004820152600360248201526205021360ec1b6044820152606401610396565b63ffffffff8216156106df5760405162461bcd60e51b815260206004820152600360248201526204421360ec1b6044820152606401610396565b61070f565b8863ffffffff168263ffffffff161161070f5760405162461bcd60e51b815260040161039690613650565b60ff84161561074f57608083161561074f5760405162461bcd60e51b815260206004820152600360248201526205421360ec1b6044820152606401610396565b608083161561076e576107698a8a8a8a8a8a89898961153c565b610780565b6107808a8a8a8a8a8a8a8a8a8a6118b5565b50505050505050505050565b6001600160601b038216156108595780156108315760018601546040516316a3636160e11b815260ff851660048201526000916001600160a01b031690632d46c6c290602401602060405180830381865afa1580156107ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108139190613678565b905061082b87868330876001600160601b0316611be6565b506108a9565b6004860154610854906001600160a01b031685306001600160601b038616611d8b565b6108a9565b6001600160a01b0384166000908152600e8701602052604090205460ff166108a95760405162461bcd60e51b81526020600482015260036024820152622721a160e91b6044820152606401610396565b600186018054600091600160a01b9091046001600160401b03169060146108cf836136ab565b91906101000a8154816001600160401b0302191690836001600160401b031602179055509050600061090582878787878c611dfc565b9050610915600289018383611e90565b6040805160ff871681526001600160601b03861660208201528415158183015290516001600160401b038416916001600160a01b038916917f66340b656a5a83a68f9bf9206f8b20299c11d9c3c7c5ae3bc6ab4ba12f82927e9181900360600190a35050505050505050565b60408101516000906001600160601b03811615610ab957600188015460208401516000916001600160a01b031690632d46c6c29060581c6040516001600160e01b031960e084901b16815260ff9091166004820152602401602060405180830381865afa1580156109f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1a9190613678565b60018a0154909150610a42906001600160a01b0380841691166001600160601b038516611fc8565b600189015460208501516040516337aa6d1960e21b815260048101919091526001600160601b03841660248201526001600160a01b039091169063dea9b46490604401600060405180830381600087803b158015610a9f57600080fd5b505af1158015610ab3573d6000803e3d6000fd5b50505050505b6001880154602084015160608501516040516369912dc760e11b815260048101929092526001600160601b0390811660248301528088166044830152861660648201526001600160a01b039091169063d3225b8e906084016020604051808303816000875af1158015610b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5491906135f7565b9150610b668360c00151600816151590565b15610bef576001600160401b0386166000818152600a8a0160208181526040808420815160808101835281546001600160601b038082168352600160601b8204168286015260ff600160c01b8204169382019390935263ffffffff600160c81b8404166060820152959094529190526001600160e81b0319169055610bed89898684611ffd565b505b509695505050505050565b6000818152600b83016020526040812090610c14826122ce565b905060005b81811015610e7b576000610c2d84836122d8565b6001600160401b0381166000908152600388016020526040902060010154909150610c805760405162461bcd60e51b815260206004820152600360248201526213d25160ea1b6044820152606401610396565b6000610c8f60028801836122e4565b9050610c9e6002880183612339565b6000610ca9826124fc565b90506001816004811115610cbf57610cbf6136d2565b14610cf25760405162461bcd60e51b815260206004820152600360248201526205459560ec1b6044820152606401610396565b60408051610120810182526000808252602080830182815283850183815260608086018581526080870186815260a080890188815260c08a0189815260e08b018a81526101008c018b81528f5168ffffffffffffffffff19169099528c8f0180518e1c6001600160601b0316909852988e018051841c909552845160901c60ff908116909152955190911c909152815160981c9093169092528151901c62ffffff169091525190931c63ffffffff169092529050610db68160c00151608016151590565b158015610dce575060408101516001600160601b0316155b610e005760405162461bcd60e51b8152602060048201526003602482015262434c5360e81b6044820152606401610396565b6001600160401b0384166000908152600a8a0160205260409081902080546001600160e81b0319169055517fe5033f0fc6c1035c36f3d7c2b4278c1d0fc20d165ba0873a0ce56a661e8cf86690610e5c908690859087906136e8565b60405180910390a1505050508080610e739061374e565b915050610c19565b506000838152600b850160205260408120908181610e998282612efb565b5050505050505050565b600184015460405163c8c7fe6b60e01b815260ff841660048201526000916001600160a01b03169063c8c7fe6b9060240161040060405180830381865afa158015610ef2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f169190613796565b6103408101516001870154919250610f4491879187916001600160a01b03166001600160601b038716611be6565b6001850154604051631d7ab39960e21b81526001600160a01b03868116600483015260ff861660248301526001600160601b0385166044830152909116906375eace6490606401600060405180830381600087803b158015610fa557600080fd5b505af1158015610fb9573d6000803e3d6000fd5b505050505050505050565b6040805160c0810182526000808252602080830182815283850183815260608086018581526080870186815260a08089018881528b5160081c6001600160401b03168a528b5190941c909552948901805190941c909252825160981c60ff908116909252825160901c90911615159092525190931c63ffffffff9081169384905260058b0154919361106092600160a01b9004909116906139e3565b63ffffffff168863ffffffff1610156110a15760405162461bcd60e51b81526020600482015260036024820152624c434b60e81b6044820152606401610396565b60408101516080820151156112155760018a015460608301516040516316a3636160e11b815260ff90911660048201526000916001600160a01b031690632d46c6c290602401602060405180830381865afa158015611104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613678565b60018c0154909150611150906001600160a01b0380841691166001600160601b038516611fc8565b60018b015460208401516060850151604051630248b34d60e01b81526001600160a01b03928316600482015260ff90911660248201526001600160601b038086166044830152808d166064830152808c166084830152808b1660a4830152891660c4820152911690630248b34d9060e4016020604051808303816000875af11580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120491906135f7565b6001600160601b03169350506112f7565b60018a015460048b015461123f916001600160a01b0391821691166001600160601b038416611fc8565b60018a015460208301516060840151604051637ee92e6d60e11b81526001600160a01b0392831660048201526001600160601b03808616602483015260ff9092166044820152818c166064820152818b166084820152818a1660a482015290881660c482015291169063fdd25cda9060e4016020604051808303816000875af11580156112d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f49190613a0b565b92505b5050979650505050505050565b600082602001516001600160601b0316600014156113245750600161151e565b60006113338660200151612515565b90506000836001600160601b0316116113745760405162461bcd60e51b81526020600482015260036024820152620503d360ec1b6044820152606401610396565b6000816060015161139d5784606001516001600160601b0316846001600160601b0316106113b7565b84606001516001600160601b0316846001600160601b0316115b9050806113c95760019250505061151e565b6001880154604083810151905163c8c7fe6b60e01b815260ff90911660048201526000916001600160a01b03169063c8c7fe6b9060240161040060405180830381865afa15801561141e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114429190613796565b9050806101200151866040015161145991906139e3565b63ffffffff168763ffffffff1610611477576001935050505061151e565b600086606001516001600160601b0316866001600160601b031610156114ac578587606001516114a79190613a24565b6114bb565b60608701516114bb9087613a24565b90506114f06114eb83610100015163ffffffff1689606001516001600160601b03166125ae90919063ffffffff16565b6125c8565b6001600160601b0316816001600160601b03161061151557600194505050505061151e565b60009450505050505b95945050505050565b6000611533838361260b565b90505b92915050565b60006115c28a8a8560405180610120016040528060006001600160401b031681526020018d81526020018c6001600160601b031681526020018b6001600160601b031681526020018a6001600160601b03168152602001600060ff1681526020018960ff168152602001600063ffffffff168152602001600062ffffff168152506126fe565b90506001600160601b038716156116805760006115df8960601c90565b905060006115ed8a60581c90565b60018d01546040516316a3636160e11b815260ff831660048201529192506000916001600160a01b0390911690632d46c6c290602401602060405180830381865afa158015611640573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116649190613678565b905061167c8d8483308e6001600160601b0316611be6565b5050505b60088416156107805781516001600160601b03161515806116ae5750600082602001516001600160601b0316115b6116e35760405162461bcd60e51b815260040161039690602080825260049082015263151414d360e21b604082015260600190565b8863ffffffff16826060015163ffffffff16116117125760405162461bcd60e51b815260040161039690613650565b62ffffff8016600a8a846060015161172a9190613a4c565b6117349190613a69565b63ffffffff1611156117585760405162461bcd60e51b815260040161039690613a8c565b6001600160401b0381166000818152600a8c016020908152604080832086518154938801518389015160608a015163ffffffff16600160c81b0263ffffffff60c81b1960ff909216600160c01b029190911664ffffffffff60c01b196001600160601b03938416600160601b026001600160c01b0319909816939094169290921795909517919091161792909217909155518a917f8f5718aa4be060c25c24fe4d19f153bf6eaa2db82010ee75de078ae063ca0c79916118a1918c918c918c918c908c908c906000610140820190506001600160601b03808a1683528089166020840152808816604084015260ff8716606084015260ff8616608084015263ffffffff80861660a08501528185511660c08501528160208601511660e085015260ff60408601511661010085015280606086015116610120850152505098975050505050505050565b60405180910390a350505050505050505050565b6008831615611a83576001600160601b038516156118fb5760405162461bcd60e51b815260206004820152600360248201526205021360ec1b6044820152606401610396565b6001600160601b038716156119385760405162461bcd60e51b815260206004820152600360248201526204321360ec1b6044820152606401610396565b60ff84161561196f5760405162461bcd60e51b815260206004820152600360248201526205421360ec1b6044820152606401610396565b60408316156119a65760405162461bcd60e51b81526020600482015260036024820152621352d560ea1b6044820152606401610396565b80516001600160601b0316158015906119cc5750600081602001516001600160601b0316115b611a015760405162461bcd60e51b815260040161039690602080825260049082015263151414d360e21b604082015260600190565b8863ffffffff16816060015163ffffffff1611611a305760405162461bcd60e51b815260040161039690613650565b62ffffff8016600a8a8360600151611a489190613a4c565b611a529190613a69565b63ffffffff161115611a765760405162461bcd60e51b815260040161039690613a8c565b6107698a8a8a898561287e565b6004831615611b56576000611a988960501c90565b60018c015460405163c8c7fe6b60e01b815260ff831660048201529192506000916001600160a01b039091169063c8c7fe6b9060240161040060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190613796565b9050600081610120015163ffffffff1611611b535760405162461bcd60e51b815260206004820152600360248201526213541560ea1b6044820152606401610396565b50505b611bd98a8a8460405180610120016040528060006001600160401b031681526020018d81526020018c6001600160601b031681526020018b6001600160601b031681526020018a6001600160601b031681526020018960ff1681526020018860ff168152602001600063ffffffff168152602001600062ffffff168152506126fe565b5050505050505050505050565b60058501546001600160a01b0384811691161415611d3b57600034118015611c0d57508034145b611c3f5760405162461bcd60e51b815260206004820152600360248201526215905360ea1b6044820152606401610396565b8460050160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611c9157600080fd5b505af1158015611ca5573d6000803e3d6000fd5b505050506001600160a01b03831630149050611d3657600585015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015611d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d349190613aa9565b505b611d84565b3415611d6f5760405162461bcd60e51b815260206004820152600360248201526215905360ea1b6044820152606401610396565b611d846001600160a01b038416858484611d8b565b5050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611df69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612b31565b50505050565b611e04612f1c565b600083611e12576000611e15565b60015b905060026bffffffffffffffffffffffff19606089901b1668ffffffffffffffff0060088b901b16171782600060200201526001600160a01b031960a086901b1660ff60981b609888901b161760ff60901b609083901b161763ffffffff60401b604085901b16178260016020020152509695505050505050565b6001600160401b038216600090815260018085016020526040909120015415611ee15760405162461bcd60e51b815260206004820152600360248201526204455560ec1b6044820152606401610396565b82546001810184556000848152602090206004820401805460039092166008026101000a6001600160401b038181021990931685841691909102179055835490811115611f565760405162461bcd60e51b815260206004820152600360248201526213cd8d60ea1b6044820152606401610396565b60208201516001600160401b031615611f975760405162461bcd60e51b81526020600482015260036024820152622798a360e91b6044820152606401610396565b60208083018051831790526001600160401b03841660009081526001860190915260409020611d8490836003612f3a565b6040516001600160a01b038316602482015260448101829052611ff890849063a9059cbb60e01b90606401611dbf565b505050565b80516001600160601b0316156121b45760208281015160009060501c600187015460405163c8c7fe6b60e01b815260ff831660048201529192506000916001600160a01b039091169063c8c7fe6b9060240161040060405180830381865afa15801561206d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120919190613796565b61012081015190915063ffffffff16156120ac576004831792505b60006121468888876060015160405180610120016040528060006001600160401b031681526020018b60200151815260200160006001600160601b031681526020018b606001516001600160601b031681526020018a600001516001600160601b031681526020018a6040015160ff1681526020018960ff168152602001600063ffffffff168152602001600062ffffff168152506126fe565b6020808801516000908152600b8b0190915260409020909150612172906001600160401b038316612c03565b506020868101516000908152600b8a01825260409020612191906122ce565b11156121af5760405162461bcd60e51b815260040161039690613adc565b505050505b60208101516001600160601b031615611df65760006122658585846060015160405180610120016040528060006001600160401b031681526020018860200151815260200160006001600160601b0316815260200188606001516001600160601b0316815260200187602001516001600160601b03168152602001876040015160ff168152602001601060201760ff168152602001600063ffffffff168152602001600062ffffff168152506126fe565b6020808501516000908152600b880190915260409020909150612291906001600160401b038316612c03565b506020838101516000908152600b87018252604090206122b0906122ce565b1115611d845760405162461bcd60e51b815260040161039690613adc565b6000611536825490565b60006115338383612c0f565b6122ec612f1c565b6001600160401b038216600090815260018401602052604090819020815160608101928390529160039082845b815481526020019060010190808311612319575050505050905092915050565b6001600160401b0381166000908152600180840160205260408220919082015490506001600160401b0381166123975760405162461bcd60e51b815260206004820152600360248201526213d25160ea1b6044820152606401610396565b60006123a4600183613af9565b85546001600160401b039190911691506000906123c390600190613b19565b905081811461248a5760008660000182815481106123e3576123e3613ac6565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b031690508087600001848154811061242457612424613ac6565b600091825260208083206004830401805460039093166008026101000a6001600160401b03818102199094169584160294909417909355838116825260018a81019093526040909120919086169067ffffffffffffffff19908301541617816001015550505b855486908061249b5761249b613b30565b6000828152602080822060046000199094019384040180546001600160401b03600860038716026101000a8102199091169091559290935590871681526001888101909252604081208181559182018190556002909101555b505050505050565b805160009060ff166004811115611536576115366136d2565b60408051608081018252600080825260208201819052918101829052606081019190915268ffffffffffffffffff8216156125785760405162461bcd60e51b815260206004820152600360248201526210525160ea1b6044820152606401610396565b606082811c825260ff605884901c81166020840152605084901c8116604084015260489390931c90921615159181019190915290565b6000620186a06125be8385613b46565b6115339190613b65565b60006001600160601b038211156126075760405162461bcd60e51b8152602060048201526003602482015262279c9b60e91b6044820152606401610396565b5090565b600081815260018301602052604081205480156126f457600061262f600183613b19565b855490915060009061264390600190613b19565b90508181146126a857600086600001828154811061266357612663613ac6565b906000526020600020015490508087600001848154811061268657612686613ac6565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806126b9576126b9613b30565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611536565b6000915050611536565b60008063ffffffff84161561274e57600a6127198686613a4c565b6127239190613a69565b905062ffffff63ffffffff8216111561274e5760405162461bcd60e51b815260040161039690613a8c565b600186018054600160a01b90046001600160401b0316906014612770836136ab565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550915060006127c18385602001518660400151876060015188608001518960a001518a60c001518d8a612c39565b90506127d1600288018483611e90565b826001600160401b031684602001517eda46badc3d23e4ffbd09bb00128a2274573502fdbb15d233ec3441c01b6af38660400151876060015188608001518960a001518a60c001518c60405161286c969594939291906001600160601b039687168152948616602086015292909416604084015260ff908116606084015292909216608082015263ffffffff9190911660a082015260c00190565b60405180910390a35050949350505050565b80516001600160601b031615612a27576020600061289c8560501c90565b600188015460405163c8c7fe6b60e01b815260ff831660048201529192506000916001600160a01b039091169063c8c7fe6b9060240161040060405180830381865afa1580156128f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129149190613796565b61012081015190915063ffffffff161561292f576004831792505b60006129c18989876060015160405180610120016040528060006001600160401b031681526020018c815260200160006001600160601b031681526020018b6001600160601b031681526020018a600001516001600160601b031681526020018a6040015160ff1681526020018960ff168152602001600063ffffffff168152602001600062ffffff168152506126fe565b6000888152600b8b01602052604090209091506129e7906001600160401b038316612c03565b506000878152600b8a0160209081526040909120612a04906122ce565b1115612a225760405162461bcd60e51b815260040161039690613adc565b505050505b60208101516001600160601b031615611d84576000612ad08686846060015160405180610120016040528060006001600160401b0316815260200189815260200160006001600160601b03168152602001886001600160601b0316815260200187602001516001600160601b03168152602001876040015160ff168152602001601060201760ff168152602001600063ffffffff168152602001600062ffffff168152506126fe565b6000858152600b880160205260409020909150612af6906001600160401b038316612c03565b506000848152600b870160209081526040909120612b13906122ce565b11156124f45760405162461bcd60e51b815260040161039690613adc565b6000612b86826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612d299092919063ffffffff16565b805190915015611ff85780806020019051810190612ba49190613aa9565b611ff85760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610396565b60006115338383612d42565b6000826000018281548110612c2657612c26613ac6565b9060005260206000200154905092915050565b612c41612f1c565b68ffffffffffffffffff891615612c805760405162461bcd60e51b815260206004820152600360248201526210525160ea1b6044820152606401610396565b600168ffffffffffffffff0060088c901b168a171781600060200201526001600160a01b031960a088901b1660ff60981b609887901b161760ff60901b609086901b161762ffffff60601b606084901b161763ffffffff60401b604085901b161781600160200201526001600160a01b031960a087901b1673ffffffffffffffffffffffff000000000000000060408a901b161781600260200201529998505050505050505050565b6060612d388484600085612d91565b90505b9392505050565b6000818152600183016020526040812054612d8957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611536565b506000611536565b606082471015612df25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610396565b6001600160a01b0385163b612e495760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610396565b600080866001600160a01b03168587604051612e659190613ba5565b60006040518083038185875af1925050503d8060008114612ea2576040519150601f19603f3d011682016040523d82523d6000602084013e612ea7565b606091505b5091509150612eb7828286612ec2565b979650505050505050565b60608315612ed1575081612d3b565b825115612ee15782518084602001fd5b8160405162461bcd60e51b81526004016103969190613bc1565b5080546000825590600052602060002090810190612f199190612f70565b50565b60405180606001604052806003906020820280368337509192915050565b8260038101928215612f68579160200282015b82811115612f68578251825591602001919060010190612f4d565b506126079291505b5b808211156126075760008155600101612f71565b63ffffffff81168114612f1957600080fd5b8035612fa281612f85565b919050565b80356001600160401b0381168114612fa257600080fd5b6001600160601b0381168114612f1957600080fd5b8035612fa281612fbe565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561301757613017612fde565b60405290565b604051606081016001600160401b038111828210171561301757613017612fde565b60405161040081016001600160401b038111828210171561301757613017612fde565b60ff81168114612f1957600080fd5b8035612fa281613062565b62ffffff81168114612f1957600080fd5b8035612fa28161307c565b600061012082840312156130ab57600080fd5b6130b3612ff4565b90506130be82612fa7565b8152602082013560208201526130d660408301612fd3565b60408201526130e760608301612fd3565b60608201526130f860808301612fd3565b608082015261310960a08301613071565b60a082015261311a60c08301613071565b60c082015261312b60e08301612f97565b60e082015261010061313e81840161308d565b9082015292915050565b60008060008060008060006101e0888a03121561316457600080fd5b87359650602088013561317681612f85565b955061318460408901612fa7565b9450606088013561319481612fbe565b935060808801356131a481612fbe565b925060a08801356131b481612fbe565b91506131c38960c08a01613098565b905092959891949750929550565b6000806000806000806000806000808a8c036101a08112156131f257600080fd5b8b359a5060208c013561320481612f85565b995060408c0135985060608c013561321b81612fbe565b975060808c013561322b81612fbe565b965060a08c013561323b81612fbe565b955060c08c013561324b81613062565b945060e08c013561325b81613062565b93506101008c013561326c81612f85565b9250608061011f198201121561328157600080fd5b50604051608081018181106001600160401b03821117156132a4576132a4612fde565b6040526101208c01356132b681612fbe565b81526101408c01356132c781612fbe565b60208201526101608c01356132db81613062565b60408201526101808c01356132ef81612f85565b80606083015250809150509295989b9194979a5092959850565b6001600160a01b0381168114612f1957600080fd5b8015158114612f1957600080fd5b60008060008060008060c0878903121561334557600080fd5b86359550602087013561335781612f85565b9450604087013561336781613309565b9350606087013561337781613062565b9250608087013561338781612fbe565b915060a08701356133978161331e565b809150509295509295509295565b6000806000806000806101c087890312156133bf57600080fd5b8635955060208701356133d181612f85565b94506133df60408801612fa7565b935060608701356133ef81612fbe565b925060808701356133ff81612fbe565b915061340e8860a08901613098565b90509295509295509295565b6000806040838503121561342d57600080fd5b50508035926020909101359150565b6000806000806080858703121561345257600080fd5b84359350602085013561346481613309565b9250604085013561347481613062565b9150606085013561348481612fbe565b939692955090935050565b600080600080600080600061012080898b0312156134ac57600080fd5b883597506020808a01356134bf81612f85565b975060408a01356134cf81612fbe565b965060608a01356134df81612fbe565b955060808a01356134ef81612fbe565b945060a08a01356134ff81612fbe565b935060df8a018b1361351057600080fd5b61351861301d565b918a0191808c84111561352a57600080fd5b60c08c015b84811015613546578035835291830191830161352f565b508094505050505092959891949750929550565b8051612fa281612fbe565b8051612fa281612f85565b80516001600160801b0381168114612fa257600080fd5b600080600080600060a0868803121561359f57600080fd5b85516135aa81612fbe565b60208701519095506135bb81612fbe565b60408701519094506135cc81612f85565b60608701519093506135dd81612fbe565b91506135eb60808701613570565b90509295509295909350565b60006020828403121561360957600080fd5b8151612d3b81612fbe565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b038084168061364457613644613614565b92169190910692915050565b6020808252600390820152620443c360ec1b604082015260600190565b8051612fa281613309565b60006020828403121561368a57600080fd5b8151612d3b81613309565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818114156136c8576136c8613695565b6001019392505050565b634e487b7160e01b600052602160045260246000fd5b6001600160401b038416815260a0810160206005851061371857634e487b7160e01b600052602160045260246000fd5b8481840152604083018460005b600381101561374257815183529183019190830190600101613725565b50505050949350505050565b600060001982141561376257613762613695565b5060010190565b8051612fa281613062565b805166ffffffffffffff81168114612fa257600080fd5b8051612fa28161307c565b600061040082840312156137a957600080fd5b6137b161303f565b825181526137c16020840161366d565b60208201526137d260408401613769565b60408201526137e360608401613769565b60608201526137f460808401613774565b608082015261380560a0840161378b565b60a082015261381660c08401613565565b60c082015261382760e08401613565565b60e082015261010061383a818501613565565b9082015261012061384c848201613565565b9082015261014061385e848201613565565b9082015261016061387084820161366d565b90820152610180613882848201613565565b908201526101a0613894848201613769565b908201526101c06138a6848201613565565b908201526101e06138b884820161355a565b908201526102006138ca848201613570565b908201526102206138dc84820161355a565b908201526102406138ee848201613565565b9082015261026061390084820161355a565b9082015261028061391284820161355a565b908201526102a061392484820161355a565b908201526102c061393684820161355a565b908201526102e061394884820161355a565b9082015261030061395a84820161355a565b9082015261032061396c84820161355a565b9082015261034061397e84820161366d565b90820152610360613990848201613565565b908201526103806139a2848201613565565b908201526103a06139b4848201613565565b908201526103c06139c6848201613570565b908201526103e06139d8848201613570565b908201529392505050565b600063ffffffff808316818516808303821115613a0257613a02613695565b01949350505050565b600060208284031215613a1d57600080fd5b5051919050565b60006001600160601b0383811690831681811015613a4457613a44613695565b039392505050565b600063ffffffff83811690831681811015613a4457613a44613695565b600063ffffffff80841680613a8057613a80613614565b92169190910492915050565b60208082526003908201526211151360ea1b604082015260600190565b600060208284031215613abb57600080fd5b8151612d3b8161331e565b634e487b7160e01b600052603260045260246000fd5b602080825260039082015262544d4f60e81b604082015260600190565b60006001600160401b0383811690831681811015613a4457613a44613695565b600082821015613b2b57613b2b613695565b500390565b634e487b7160e01b600052603160045260246000fd5b6000816000190483118215151615613b6057613b60613695565b500290565b600082613b7457613b74613614565b500490565b60005b83811015613b94578181015183820152602001613b7c565b83811115611df65750506000910152565b60008251613bb7818460208701613b79565b9190910192915050565b6020815260008251806020840152613be0816040850160208701613b79565b601f01601f1916919091016040019291505056fea2646970667358221220d03ed7cc123435c9895c7538176cf731619b150f26488a128493b13c1a36edff64736f6c634300080a0033