1 tx
2 calls
constructor
constructor(address registry, address rewardHandler)
functions
_registry
viewfunction _registry() view returns (address)
_rewardHandler
viewfunction _rewardHandler() view returns (address)
migrate
nonpayablefunction migrate()
events
No events.
errors
No errors.
creation bytecode
0x60c060405234801561001057600080fd5b50604051615fce380380615fce83398101604081905261002f9161005e565b6001600160a01b039182166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a051615ece6101006000396000818160a1015261056c01526000818160510152818160c5015281816101aa015281816102340152818161031c0152818161038101528181610406015281816104f70152818161059401526106080152615ece6000f3fe60806040523480156200001157600080fd5b5060043610620000465760003560e01c806379cbc5fa146200004b5780638fd3ab80146200008f5780639f7605eb146200009b575b600080fd5b620000737f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b62000099620000c3565b005b620000737f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000122573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014891906200075e565b67ffffffffffffffff16600114620001a65760405162461bcd60e51b815260206004820152601c60248201527f4d69677261746f7256323a20416c7265616479206d6967726174656400000000604482015260640160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000207573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022d9190620007aa565b90506000817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b3f33086040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000291573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b79190620007aa565b604051620002c59062000742565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015620002f9573d6000803e3d6000fd5b506040516301ac84ab60e51b81526001600160a01b0380831660048301529192507f000000000000000000000000000000000000000000000000000000000000000090911690633590956090602401600060405180830381600087803b1580156200036357600080fd5b505af115801562000378573d6000803e3d6000fd5b505050506000827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639b7ae5ec6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004049190620007aa565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b9ac35036040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000463573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004899190620007aa565b604051620004979062000750565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620004d4573d6000803e3d6000fd5b50604051630a70485760e31b81526001600160a01b0380831660048301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063538242b890602401600060405180830381600087803b1580156200053e57600080fd5b505af115801562000553573d6000803e3d6000fd5b5050604051630ef7730960e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000169250631deee6129150602401600060405180830381600087803b158015620005db57600080fd5b505af1158015620005f0573d6000803e3d6000fd5b505060405163cf864d1560e01b8152600260048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316925063cf864d159150602401600060405180830381600087803b1580156200065757600080fd5b505af11580156200066c573d6000803e3d6000fd5b50505050826001600160a01b03166336568abe846001600160a01b0316636fae2e156040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e49190620007ca565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401600060405180830381600087803b1580156200072457600080fd5b505af115801562000739573d6000803e3d6000fd5b50505050505050565b610f5f80620007e583390190565b61477e806200174483390190565b6000602082840312156200077157600080fd5b815167ffffffffffffffff811681146200078a57600080fd5b9392505050565b6001600160a01b0381168114620007a757600080fd5b50565b600060208284031215620007bd57600080fd5b81516200078a8162000791565b600060208284031215620007dd57600080fd5b505191905056fe60c060405234801561001057600080fd5b50604051610f5f380380610f5f83398101604081905261002f916100ba565b816001600160a01b03811661008a5760405162461bcd60e51b815260206004820152601a60248201527f41434c206d616e616765722063616e6e6f74206265207a65726f000000000000604482015260640160405180910390fd5b6001600160a01b039081166080521660a052506100f4565b6001600160a01b03811681146100b757600080fd5b50565b600080604083850312156100cd57600080fd5b82516100d8816100a2565b60208401519092506100e9816100a2565b809150509250929050565b60805160a051610e1661014960003960008181606c0152818161015701528181610455015281816106a8015261074a015260008181610200015281816102f8015281816104ac01526105ad0152610e166000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063168146e514610067578063466bb312146100ab578063676ef80c146100cc578063ae66d948146100df578063c31a182e146100f2578063cef1624514610105575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100be6100b93660046109e0565b610118565b6040519081526020016100a2565b6100be6100da366004610a13565b6101e8565b6100be6100ed3660046109e0565b610416565b6100be610100366004610a6a565b6104a0565b6100be610113366004610a13565b610595565b6001600160a01b03811660009081526020819052604081205460ff166101c857604051632335d98960e11b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063466bb312906024015b602060405180830381865afa15801561019f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c39190610adc565b6101e2565b6001600160a01b0382166000908152600160205260409020545b92915050565b604051636c5fc7ab60e01b81523360048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c5fc7ab9060240160006040518083038186803b15801561024a57600080fd5b505afa15801561025e573d6000803e3d6000fd5b5050505061026b8461064d565b6001600160a01b03841660009081526001602090815260408083205460029092529091205461029b908590610af5565b11156102ee5760405162461bcd60e51b815260206004820152601c60248201527f5769746864726177206d6f7265207468616e206465706f73697465640000000060448201526064015b60405180910390fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663f1fb249361032a84600088886107d2565b61033760a0860186610b16565b600081811061034857610348610b67565b905060200281019061035a9190610b7d565b6040518463ffffffff1660e01b815260040161037893929190610bed565b60006040518083038186803b15801561039057600080fd5b505afa1580156103a4573d6000803e3d6000fd5b505050506001600160a01b038416600090815260026020526040812080548592906103d0908490610af5565b9091555061040e90506103e66080840184610b16565b60008181106103f7576103f7610b67565b90506020028101906104099190610b7d565b61087d565b949350505050565b6001600160a01b03811660009081526020819052604081205460ff16610484576040516315ccdb2960e31b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ae66d94890602401610182565b506001600160a01b031660009081526002602052604090205490565b60006001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663f1fb24936104dd848488886108fa565b6104ea60a0860186610b16565b60008181106104fb576104fb610b67565b905060200281019061050d9190610b7d565b6040518463ffffffff1660e01b815260040161052b93929190610bed565b60006040518083038186803b15801561054357600080fd5b505afa158015610557573d6000803e3d6000fd5b5061040e925061056d9150506080840184610b16565b600081811061057e5761057e610b67565b90506020028101906105909190610b7d565b6109b1565b604051636c5fc7ab60e01b81523360048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c5fc7ab9060240160006040518083038186803b1580156105f757600080fd5b505afa15801561060b573d6000803e3d6000fd5b505050506106188461064d565b6001600160a01b03841660009081526001602052604081208054859290610640908490610af5565b9091555092949350505050565b6001600160a01b03811660009081526020819052604090205460ff166107cf576001600160a01b0381811660008181526020819052604090819020805460ff1916600117905551632335d98960e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000009091169063466bb31290602401602060405180830381865afa1580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107159190610adc565b6001600160a01b03828116600081815260016020526040908190209390935591516315ccdb2960e31b815260048101929092527f0000000000000000000000000000000000000000000000000000000000000000169063ae66d94890602401602060405180830381865afa158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b59190610adc565b6001600160a01b0382166000908152600260205260409020555b50565b600046306107e36020880188610c10565b6107f36040890160208a01610c10565b61080360608a0160408b01610c10565b61081360808b0160608c01610c10565b8861082160808d018d610b16565b8c81811061083157610831610b67565b90506020028101906108439190610b7d565b8a60405160200161085d9a99989796959493929190610c3a565b604051602081830303815290604052805190602001209050949350505050565b600063fa82c98760e01b6108918385610caf565b6001600160e01b031916146108d95760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5914185e5b1bd85960921b60448201526064016102e5565b6108e68260048186610cdf565b8101906108f39190610d09565b9392505050565b6000463061090b6020880188610c10565b61091b6040890160208a01610c10565b61092b60608a0160408b01610c10565b61093b60808b0160608c01610c10565b8861094960808d018d610b16565b8c81811061095957610959610b67565b905060200281019061096b9190610b7d565b61097860208c018c610d22565b61098860408d0160208e01610d46565b61099560408e018e610b7d565b60405160200161085d9d9c9b9a99989796959493929190610d6c565b6000621d4ce560e81b6108918385610caf565b80356001600160a01b03811681146109db57600080fd5b919050565b6000602082840312156109f257600080fd5b6108f3826109c4565b600060c08284031215610a0d57600080fd5b50919050565b600080600060608486031215610a2857600080fd5b610a31846109c4565b925060208401359150604084013567ffffffffffffffff811115610a5457600080fd5b610a60868287016109fb565b9150509250925092565b600080600060608486031215610a7f57600080fd5b610a88846109c4565b9250602084013567ffffffffffffffff80821115610aa557600080fd5b9085019060608288031215610ab957600080fd5b90925060408501359080821115610acf57600080fd5b50610a60868287016109fb565b600060208284031215610aee57600080fd5b5051919050565b808201808211156101e257634e487b7160e01b600052601160045260246000fd5b6000808335601e19843603018112610b2d57600080fd5b83018035915067ffffffffffffffff821115610b4857600080fd5b6020019150600581901b3603821315610b6057600080fd5b9250929050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112610b9457600080fd5b83018035915067ffffffffffffffff821115610baf57600080fd5b602001915036819003821315610b6057600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000610c07604083018486610bc4565b95945050505050565b600060208284031215610c2257600080fd5b813567ffffffffffffffff811681146108f357600080fd5b8a81526001600160a01b038a8116602083015267ffffffffffffffff8a8116604084015289811660608401528881166080840152871660a0830152851660c082015261012060e08201819052600090610c968382018688610bc4565b915050826101008301529b9a5050505050505050505050565b6001600160e01b03198135818116916004851015610cd75780818660040360031b1b83161692505b505092915050565b60008085851115610cef57600080fd5b83861115610cfc57600080fd5b5050820193919092039150565b600060208284031215610d1b57600080fd5b5035919050565b600060208284031215610d3457600080fd5b813561ffff811681146108f357600080fd5b600060208284031215610d5857600080fd5b813563ffffffff811681146108f357600080fd5b8d81526001600160a01b038d8116602083015267ffffffffffffffff8d811660408401528c811660608401528b811660808401528a1660a0830152881660c082015261016060e08201819052600090610dc8908301888a610bc4565b61ffff871661010084015263ffffffff8616610120840152828103610140840152610df4818587610bc4565b9150509e9d505050505050505050505050505056fea164736f6c6343000812000a6101006040523480156200001257600080fd5b506040516200477e3803806200477e8339810160408190526200003591620002f7565b826001600160a01b038116620000915760405162461bcd60e51b815260206004820152601a60248201527f41434c206d616e616765722063616e6e6f74206265207a65726f000000000000604482015260640160405180910390fd5b6001600160a01b03908116608052821660a08190526040805163807829b360e01b8152905163807829b3916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010891906200034b565b6200011590600a6200048c565b60c0526001600160a01b03811660e0819052604080516387875e2760e01b815290516387875e27916004808201926020929091908290030181865afa15801562000163573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018991906200049d565b60048190555060e0516001600160a01b031663805790776040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f691906200049d565b600681905550600060a0516001600160a01b031663e5764dd96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200023f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620002699190810190620004cd565b905060005b81518160ff161015620002ce57600654828260ff168151811062000296576200029662000596565b602002602001015103620002b9576007805460ff191660ff8316179055620002ce565b80620002c581620005ac565b9150506200026e565b50504260055550620005ce915050565b6001600160a01b0381168114620002f457600080fd5b50565b6000806000606084860312156200030d57600080fd5b83516200031a81620002de565b60208501519093506200032d81620002de565b60408501519092506200034081620002de565b809150509250925092565b6000602082840312156200035e57600080fd5b815160ff811681146200037057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003ce578160001904821115620003b257620003b262000377565b80851615620003c057918102915b93841c939080029062000392565b509250929050565b600082620003e75750600162000486565b81620003f65750600062000486565b81600181146200040f57600281146200041a576200043a565b600191505062000486565b60ff8411156200042e576200042e62000377565b50506001821b62000486565b5060208310610133831016604e8410600b84101617156200045f575081810a62000486565b6200046b83836200038d565b806000190482111562000482576200048262000377565b0290505b92915050565b60006200037060ff841683620003d6565b600060208284031215620004b057600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215620004e157600080fd5b82516001600160401b0380821115620004f957600080fd5b818501915085601f8301126200050e57600080fd5b815181811115620005235762000523620004b7565b8060051b604051601f19603f830116810181811085821117156200054b576200054b620004b7565b6040529182528482019250838101850191888311156200056a57600080fd5b938501935b828510156200058a578451845293850193928501926200056f565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8103620005c557620005c562000377565b60010192915050565b60805160a05160c05160e0516140ba620006c46000396000818160ff0152818161027901528181611b370152818161266e015281816127f701528181612a820152612f6801526000818161046201528181611f4901528181612c96015261326101526000818161048401528181610510015281816105f801528181610e3a01528181610f9c01528181611c4701528181611d0201528181611eb401528181612c0501528181613008015281816130b401526131cc01526000818161068d015281816106f70152818161080d01528181610877015281816109ea01528181610ab901528181610be20152610c4401526140ba6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063b39e239a1161008c578063de05cabf11610066578063de05cabf146101d6578063e518e932146101e9578063eafea03d14610211578063fe54c57b1461021c57600080fd5b8063b39e239a146101a3578063cdb19980146101b8578063d6547433146101cb57600080fd5b806308601768146100d4578063168146e5146100fa5780633b521efe14610139578063805790771461017a57806387875e27146101905780638feb8be414610198575b600080fd5b6100dc600081565b6040516001600160f81b031990911681526020015b60405180910390f35b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100f1565b61014c610147366004613519565b610224565b6040805161ffff90951685526001600160f81b031990931660208501529183015260608201526080016100f1565b6101826105cf565b6040519081526020016100f1565b600454610182565b6100dc600360f81b81565b6101b66101b136600461355b565b610678565b005b6101826101c636600461355b565b6107f5565b6100dc600160f91b81565b6101b66101e4366004613621565b6109d5565b6101fc6101f736600461355b565b610bc0565b604080519283529015156020830152016100f1565b6100dc600160f81b81565b6101b6610e16565b6001600160a01b03821660009081526020818152604080832084845290915281205481908190819060ff166102f157604051631da90f7f60e11b81526001600160a01b038781166004830152602482018790527f00000000000000000000000000000000000000000000000000000000000000001690633b521efe90604401608060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e491906136d6565b93509350935093506105c6565b60006102fe600887613757565b9050600061030d60088861376b565b6001600160a01b03891660009081526001602090815260408083208684529091528120805492935090916103409061377f565b80601f016020809104026020016040519081016040528092919081815260200182805461036c9061377f565b80156103b95780601f1061038e576101008083540402835291602001916103b9565b820191906000526020600020905b81548152906001019060200180831161039c57829003601f168201915b5050505050905080516000036103e357604051806040016040528060208152602001600081525090505b6103ed8183610eff565b96506103f98183610f29565b955061ffff8716156105c25760006104118284610f5e565b905060fe1960ff82160161044a576001600160a01b038a1660009081526003602090815260408083208c8452909152902054955061059a565b604051632af555e560e11b815260ff821660048201527f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906355eaabca90602401602060405180830381865afa1580156104d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f791906137b3565b604051636674319960e01b815261ffff8b1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636674319990602401602060405180830381865afa15801561055f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058391906137b3565b61058d91906137cc565b6105979190613757565b95505b506001600160a01b03891660009081526002602090815260408083208b845290915290205493505b5050505b92959194509250565b60006105d9610f97565b15610671576004805460405163667cf64960e11b8152918201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ccf9ec92906024016040805180830381865afa158015610646573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066a91906137e3565b5092915050565b5060065490565b604051636c5fc7ab60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c5fc7ab9060240160006040518083038186803b1580156106d757600080fd5b505afa1580156106eb573d6000803e3d6000fd5b50506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691506316a95f72905061072d8360008787611076565b61073a60a0850185613819565b600081811061074b5761074b613862565b905060200281019061075d9190613878565b6040518463ffffffff1660e01b815260040161077b939291906138e7565b60006040518083038186803b15801561079357600080fd5b505afa1580156107a7573d6000803e3d6000fd5b505050506107f083836107eb8480608001906107c39190613819565b60008181106107d4576107d4613862565b90506020028101906107e69190613878565b61114e565b6111a3565b505050565b604051636c5fc7ab60e01b81523360048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c5fc7ab9060240160006040518083038186803b15801561085757600080fd5b505afa15801561086b573d6000803e3d6000fd5b50506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691506316a95f7290506108ad8460008888611076565b6108ba60a0860186613819565b60008181106108cb576108cb613862565b90506020028101906108dd9190613878565b6040518463ffffffff1660e01b81526004016108fb939291906138e7565b60006040518083038186803b15801561091357600080fd5b505afa158015610927573d6000803e3d6000fd5b50505050610933610e16565b6060610977858561097261094a6080880188613819565b600081811061095b5761095b613862565b905060200281019061096d9190613878565b61140d565b611462565b90925090506001600160a01b0385167f994a9deb808f32877d593d9e778c55ac6dfd2bc5dcccbf53424418941072a48b6109b4602086018661390a565b86846040516109c593929190613989565b60405180910390a2509392505050565b604051636c5fc7ab60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636c5fc7ab9060240160006040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b5050508483149050610aaf5760405162461bcd60e51b815260206004820152602560248201527f50726f76696465727320616e6420696e6465786573206c656e677468206d69736044820152640dac2e8c6d60db1b60648201526084015b60405180910390fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166316a95f72610aee8360008a8a8a8a8a611767565b610afb60a0850185613819565b6000818110610b0c57610b0c613862565b9050602002810190610b1e9190613878565b6040518463ffffffff1660e01b8152600401610b3c939291906138e7565b60006040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b50505050610b74610e16565b610bb885858585610bb3610b8b6080880188613819565b6000818110610b9c57610b9c613862565b9050602002810190610bae9190613878565b61181e565b611873565b505050505050565b604051636c5fc7ab60e01b815233600482015260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636c5fc7ab9060240160006040518083038186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b50506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691506316a95f729050610c7a8560008989611076565b610c8760a0870187613819565b6000818110610c9857610c98613862565b9050602002810190610caa9190613878565b6040518463ffffffff1660e01b8152600401610cc8939291906138e7565b60006040518083038186803b158015610ce057600080fd5b505afa158015610cf4573d6000803e3d6000fd5b50505050610d00610e16565b60606000610d3c610d146080870187613819565b6000818110610d2557610d25613862565b9050602002810190610d379190613878565b61218e565b93509050610d4a87876121ef565b9094509150801580610d5b57508381145b610dbb5760405162461bcd60e51b815260206004820152602b60248201527f5375626d697474656420616d6f756e74206d75737420657175616c20746f207460448201526a1bdd185b08185b5bdd5b9d60aa1b6064820152608401610aa6565b6001600160a01b0387167f70579b860deebafa719b86b69e6f7087991fd5d67193a0a138a30982517bb47e610df3602088018861390a565b8885604051610e0493929190613989565b60405180910390a25050935093915050565b610e1e610f97565b15610efd576004805460405163667cf64960e11b8152918201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ccf9ec92906024016040805180830381865afa158015610e88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eac91906137e3565b6007805460ff191660ff9290921691909117905560068190556040519081527fdd81f203b3c1280e1fec3456eaf3edf38df301d4b0f9f1710619931a624aca799060200160405180910390a1426005555b565b6000610f2083610f106004856137cc565b610f1b906002613a3a565b612490565b90505b92915050565b600082610f376004846137cc565b81518110610f4757610f47613862565b01602001516001600160f81b031916905092915050565b600082610f6c6004846137cc565b610f77906001613a3a565b81518110610f8757610f87613862565b016020015160f81c905092915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634e01b2176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101c91906137b3565b905080600554101561103057600191505090565b600062015180826005546110449190613a4d565b61104e9190613757565b90506000620151806110608442613a4d565b61106a9190613757565b91909114159392505050565b60004630611087602088018861390a565b6110976040890160208a0161390a565b6110a760608a0160408b0161390a565b6110b760808b0160608c0161390a565b886110c560808d018d613819565b8c8181106110d5576110d5613862565b90506020028101906110e79190613878565b6110f460208c018c613a60565b61110460408d0160208e01613a7d565b61111160408e018e613878565b60405160200161112d9d9c9b9a99989796959493929190613a98565b6040516020818303038152906040528051906020012090505b949350505050565b6060630f16c9fd60e31b6111628385613b34565b6001600160e01b031916146111895760405162461bcd60e51b8152600401610aa690613b64565b6111968260048186613b8c565b810190610f209190613c1f565b6000805b6111b46040850185613878565b90508110156113b65760006111cc6040860186613878565b838181106111dc576111dc613862565b919091013560f81c91505060008190036111f657506113a4565b600082600861120b6040890160208a01613a7d565b6112159190613cbb565b63ffffffff166112259190613a3a565b6001600160a01b03881660009081526001602090815260408083208484529091528120805492935090916112589061377f565b80601f01602080910402602001604051908101604052809291908181526020018280546112849061377f565b80156112d15780601f106112a6576101008083540402835291602001916112d1565b820191906000526020600020905b8154815290600101906020018083116112b457829003601f168201915b5050505050905080516000036112fb57604051806040016040528060208152602001600081525090505b60005b6008811015611371576001811b841660ff161561135f5761134f89826113256008876137cc565b61132f9190613a3a565b89898151811061134157611341613862565b6020026020010151856124ef565b91508561135b81613cde565b9650505b8061136981613cde565b9150506112fe565b506001600160a01b0388166000908152600160209081526040808320858452909152902061139f8282613d3d565b505050505b806113ae81613cde565b9150506111a7565b50815181146114075760405162461bcd60e51b815260206004820152601760248201527f496e6465786573206c656e677468206d69736d617463680000000000000000006044820152606401610aa6565b50505050565b606063c4fb0aef60e01b6114218385613b34565b6001600160e01b031916146114485760405162461bcd60e51b8152600401610aa690613b64565b6114558260048186613b8c565b810190610f209190613dfc565b60006060816114746020860186613a60565b61ffff166001600160401b0381111561148f5761148f613bb6565b6040519080825280602002602001820160405280156114b8578160200160208202803683370190505b50915060005b6114cb6040870187613878565b90508110156117145760006114e36040880188613878565b838181106114f3576114f3613862565b919091013560f81c915050600081900361150d5750611702565b600082600861152260408b0160208c01613a7d565b61152c9190613cbb565b63ffffffff1661153c9190613a3a565b6001600160a01b038a16600090815260016020908152604080832084845290915281208054929350909161156f9061377f565b80601f016020809104026020016040519081016040528092919081815260200182805461159b9061377f565b80156115e85780601f106115bd576101008083540402835291602001916115e8565b820191906000526020600020905b8154815290600101906020018083116115cb57829003601f168201915b50505050509050805160000361161257604051806040016040528060208152602001600081525090505b60005b60088110156116cf576001811b841660ff16156116bd576116668b8261163c6008876137cc565b6116469190613a3a565b8b898151811061165857611658613862565b6020026020010151856129f6565b88888151811061167857611678613862565b6020026020010181945082815250505086868151811061169a5761169a613862565b6020026020010151886116ad9190613a3a565b9750856116b981613cde565b9650505b806116c781613cde565b915050611615565b506001600160a01b038a16600090815260016020908152604080832085845290915290206116fd8282613d3d565b505050505b8061170c81613cde565b9150506114be565b508351811461175e5760405162461bcd60e51b8152602060048201526016602482015275086dedcccd2ce40d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610aa6565b50935093915050565b6000463061177860208b018b61390a565b61178860408c0160208d0161390a565b61179860608d0160408e0161390a565b6117a860808e0160608f0161390a565b8b8e80608001906117b99190613819565b8f8181106117c9576117c9613862565b90506020028101906117db9190613878565b8d8d8d8d6040516020016117fb9d9c9b9a99989796959493929190613ec3565b604051602081830303815290604052805190602001209050979650505050505050565b6060637139406160e01b6118328385613b34565b6001600160e01b031916146118595760405162461bcd60e51b8152600401610aa690613b64565b6118668260048186613b8c565b810190610f209190613f87565b60005b84811015610bb8576000600885858481811061189457611894613862565b90506020020160208101906118a99190613a7d565b6118b39190613cbb565b63ffffffff169050600060088686858181106118d1576118d1613862565b90506020020160208101906118e69190613a7d565b6118f0919061400c565b63ffffffff1690506000600160008a8a8781811061191057611910613862565b9050602002016020810190611925919061402f565b6001600160a01b03166001600160a01b03168152602001908152602001600020600084815260200190815260200160002080546119619061377f565b80601f016020809104026020016040519081016040528092919081815260200182805461198d9061377f565b80156119da5780601f106119af576101008083540402835291602001916119da565b820191906000526020600020905b8154815290600101906020018083116119bd57829003601f168201915b505050505090508051600003611a0457604051806040016040528060208152602001600081525090505b6000806000806000808e8e8b818110611a1f57611a1f613862565b9050602002016020810190611a34919061402f565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008c8c8b818110611a6857611a68613862565b9050602002016020810190611a7d9190613a7d565b63ffffffff16815260208101919091526040016000205460ff16611cd05760016000808f8f8c818110611ab257611ab2613862565b9050602002016020810190611ac7919061402f565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008d8d8c818110611afb57611afb613862565b9050602002016020810190611b109190613a7d565b63ffffffff1681526020810191909152604001600020805460ff19169115159190911790557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633b521efe8e8e8b818110611b7657611b76613862565b9050602002016020810190611b8b919061402f565b8d8d8c818110611b9d57611b9d613862565b9050602002016020810190611bb29190613a7d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015263ffffffff166024820152604401608060405180830381865afa158015611c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2591906136d6565b50604051636674319960e01b815261ffff8416600482015292955090935091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636674319990602401602060405180830381865afa158015611c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cba91906137b3565b9350611cc985878560ff612d7e565b9450611f80565b611cda8587610eff565b9250611ce68587610f29565b604051636674319960e01b815261ffff851660048201529092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636674319990602401602060405180830381865afa158015611d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7591906137b3565b935060ff611d838688610f5e565b60ff1603611ea857600360008e8e8b818110611da157611da1613862565b9050602002016020810190611db6919061402f565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008c8c8b818110611dea57611dea613862565b9050602002016020810190611dff9190613a7d565b63ffffffff1681526020019081526020016000205490506000600360008f8f8c818110611e2e57611e2e613862565b9050602002016020810190611e43919061402f565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008d8d8c818110611e7757611e77613862565b9050602002016020810190611e8c9190613a7d565b63ffffffff168152602081019190915260400160002055611f80565b60006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166355eaabca611ee3888a610f5e565b6040516001600160e01b031960e084901b16815260ff9091166004820152602401602060405180830381865afa158015611f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4591906137b3565b90507f0000000000000000000000000000000000000000000000000000000000000000611f7282876137cc565b611f7c9190613757565b9150505b6001600160f81b03198216600160f81b14611fd45760405162461bcd60e51b815260206004820152601460248201527310dbdb9d185a5b995c881b9bdd081cdd185ad95960621b6044820152606401610aa6565b80898981518110611fe757611fe7613862565b60200260200101511061204f5760405162461bcd60e51b815260206004820152602a60248201527f52656d61696e20616d6f756e74206d757374206c657373207468616e207374616044820152691ad95908185b5bdd5b9d60b21b6064820152608401610aa6565b83600460008282546120619190613a4d565b9091555061207190508587612e97565b600160008f8f8c81811061208757612087613862565b905060200201602081019061209c919061402f565b6001600160a01b03168152602080820192909252604090810160009081208b82529092529020906120cd9082613d3d565b508888815181106120e0576120e0613862565b6020026020010151600260008f8f8c8181106120fe576120fe613862565b9050602002016020810190612113919061402f565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008d8d8c81811061214757612147613862565b905060200201602081019061215c9190613a7d565b63ffffffff1681526020019081526020016000208190555050505050505050808061218690613cde565b915050611876565b6000806386d1ad4d60e01b6121a38486613b34565b6001600160e01b031916146121ca5760405162461bcd60e51b8152600401610aa690613b64565b6121d78360048187613b8c565b8101906121e4919061404a565b909590945092505050565b60006060816122016020850185613a60565b61ffff166001600160401b0381111561221c5761221c613bb6565b604051908082528060200260200182016040528015612245578160200160208202803683370190505b50915060005b6122586040860186613878565b90508110156124875760006122706040870187613878565b8381811061228057612280613862565b919091013560f81c915050600081900361229a5750612475565b60008260086122af60408a0160208b01613a7d565b6122b99190613cbb565b63ffffffff166122c99190613a3a565b6001600160a01b03891660009081526001602090815260408083208484529091528120805492935090916122fc9061377f565b80601f01602080910402602001604051908101604052809291908181526020018280546123289061377f565b80156123755780601f1061234a57610100808354040283529160200191612375565b820191906000526020600020905b81548152906001019060200180831161235857829003601f168201915b50505050509050805160000361239f57604051806040016040528060208152602001600081525090505b60005b6008811015612442576001811b841660ff1615612430576123d98a826123c96008876137cc565b6123d39190613a3a565b84612ed8565b8888815181106123eb576123eb613862565b6020026020010181945082815250505086868151811061240d5761240d613862565b6020026020010151886124209190613a3a565b97508561242c81613cde565b9650505b8061243a81613cde565b9150506123a2565b506001600160a01b038916600090815260016020908152604080832085845290915290206124708282613d3d565b505050505b8061247f81613cde565b91505061224b565b50509250929050565b60008261249e836001613a3a565b815181106124ae576124ae613862565b602001015160f81c60f81b60f81c60ff168383815181106124d1576124d1613862565b01602001516124e59060f81c610100614074565b610f209190614092565b606060006124fe600885613cbb565b6001600160a01b038716600090815260016020908152604080832063ffffffff949094168084529390915281208054929350909161253b9061377f565b80601f01602080910402602001604051908101604052809291908181526020018280546125679061377f565b80156125b45780601f10612589576101008083540402835291602001916125b4565b820191906000526020600020905b81548152906001019060200180831161259757829003601f168201915b5050505050905080516000036125de57604051806040016040528060208152602001600081525090505b60006125eb60088761400c565b6001600160a01b03891660009081526020818152604080832063ffffffff8b811685529252909120549116915060ff1661272a576001600160a01b0388811660008181526020818152604080832063ffffffff8c168085529252808320805460ff1916600117905551631da90f7f60e11b815260048101939093526024830152917f00000000000000000000000000000000000000000000000000000000000000001690633b521efe90604401608060405180830381865afa1580156126b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d991906136d6565b5090925050506001600160f81b03198116156127245760405162461bcd60e51b815260206004820152600a602482015269125b99195e081d5cd95960b21b6044820152606401610aa6565b5061276d565b6127348282613365565b61276d5760405162461bcd60e51b815260206004820152600a602482015269125b99195e081d5cd95960b21b6044820152606401610aa6565b600061277a60088961376b565b6001600160a01b038a166000908152602081815260408083208c845290915290205490915060ff16612958576001600160a01b03808a166000818152602081815260408083208d8452909152808220805460ff1916600117905551631da90f7f60e11b81526004810192909252602482018b9052918291829182917f000000000000000000000000000000000000000000000000000000000000000090911690633b521efe90604401608060405180830381865afa158015612840573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286491906136d6565b929650909450925090506001600160f81b0319831661288d578998505050505050505050611146565b61289a87878660ff612d7e565b506001600160f81b0319838116016128dd576001600160a01b038d16600090815260036020908152604080832063ffffffff8f168452909152902082905561294f565b60fd60f81b6001600160f81b031984160161292e576128fc8787612e97565b506001600160a01b038d16600090815260026020908152604080832063ffffffff8f168452909152902081905561294f565b607f60f91b6001600160f81b031984160161294f5761294d878761339c565b505b505050506129b1565b61296286826133af565b156129a2576001600160a01b03891660009081526002602090815260408083208b8452909152808220805463ffffffff8b16845291832091909155898252555b6129ae838388846133c2565b92505b6001600160a01b038916600090815260016020908152604080832087845290915290206129de8482613d3d565b506129e98682613460565b9998505050505050505050565b6000606081612a0660088761376b565b6001600160a01b0388166000908152602081815260408083208a8452909152812054919250908190819060ff16612afe576001600160a01b038a81166000818152602081815260408083208e845290915290819020805460ff1916600117905551631da90f7f60e11b81526004810191909152602481018b90527f000000000000000000000000000000000000000000000000000000000000000090911690633b521efe90604401608060405180830381865afa158015612acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aef91906136d6565b9550909350909150612b419050565b612b088785610f29565b9150612b148785610eff565b6001600160a01b038b1660009081526002602090815260408083208d845290915281208054919055935090505b6001600160f81b031982811601612b8d5760405162461bcd60e51b815260206004820152601060248201526f10dbdb9d185a5b995c881cdd185ad95960821b6044820152606401610aa6565b6001600160f81b031982161580612bab57508761ffff168161ffff16145b612be95760405162461bcd60e51b815260206004820152600f60248201526e086dedcccd2ce40dad2e6dac2e8c6d608b1b6044820152606401610aa6565b604051636674319960e01b815261ffff891660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636674319990602401602060405180830381865afa158015612c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7891906137b3565b90508060046000828254612c8c9190613a3a565b90915550506006547f000000000000000000000000000000000000000000000000000000000000000090612cc090836137cc565b612cca9190613757565b965060fd60f81b6001600160f81b0319841601612d595786841115612d4c5760405162461bcd60e51b815260206004820152603260248201527f52656d61696e20616d6f756e74206d757374206c657373207468616e206f7220604482015271195c5d585b081cdd185ad948185b5bdd5b9d60721b6064820152608401610aa6565b612d568488613a4d565b96505b600754612d6e90899087908c9060ff16612d7e565b9550505050505094509492505050565b6060600160f81b85612d916004876137cc565b81518110612da157612da1613862565b60200101906001600160f81b031916908160001a90535060f882901b85612dc96004876137cc565b612dd4906001613a3a565b81518110612de457612de4613862565b60200101906001600160f81b031916908160001a905350601e83901a60f81b85612e0f6004876137cc565b612e1a906002613a3a565b81518110612e2a57612e2a613862565b60200101906001600160f81b031916908160001a9053506001600160f81b031960f884901b1685612e5c6004876137cc565b612e67906003613a3a565b81518110612e7757612e77613862565b60200101906001600160f81b031916908160001a90535093949350505050565b6060600360f81b83612eaa6004856137cc565b81518110612eba57612eba613862565b60200101906001600160f81b031916908160001a9053509192915050565b6000606081612ee860088661376b565b6001600160a01b03871660009081526020818152604080832089845290915281205491925090819081908190819060ff16613082576001600160a01b038b81166000818152602081815260408083208f845290915290819020805460ff1916600117905551631da90f7f60e11b81526004810191909152602481018c90527f000000000000000000000000000000000000000000000000000000000000000090911690633b521efe90604401608060405180830381865afa158015612fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd591906136d6565b92965090945092509050612fec89878660ff612d7e565b604051636674319960e01b815261ffff861660048201529099507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636674319990602401602060405180830381865afa158015613057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061307b91906137b3565b9450613298565b61308c8987610eff565b93506130988987610f29565b604051636674319960e01b815261ffff861660048201529093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636674319990602401602060405180830381865afa158015613103573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312791906137b3565b945060fd60f81b6001600160f81b031984160161316c57506001600160a01b038a1660009081526002602090815260408083208c845290915281208054919055613298565b6001600160f81b0319838116016132985760ff6131898a88610f5e565b60ff16036131c0576001600160a01b038b1660009081526003602090815260408083208d8452909152812080549190559150613298565b60006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166355eaabca6131fb8c8a610f5e565b6040516001600160e01b031960e084901b16815260ff9091166004820152602401602060405180830381865afa158015613239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325d91906137b3565b90507f000000000000000000000000000000000000000000000000000000000000000061328a82886137cc565b6132949190613757565b9250505b6001600160f81b03198316600160f91b148015906132bf57506001600160f81b0319831615155b6133005760405162461bcd60e51b815260206004820152601260248201527110dbdb9d185a5b995c881d5b9cdd185ad95960721b6044820152606401610aa6565b60fd60f81b6001600160f81b031984160161331d5780975061334b565b6001600160f81b03198381160161334b5784600460008282546133409190613a4d565b925050819055508197505b613355898761339c565b9650505050505050935093915050565b600080836133746004856137cc565b8151811061338457613384613862565b01602001516001600160f81b03191614905092915050565b6060600160f91b83612eaa6004856137cc565b6000600360f81b836133746004856137cc565b606060005b60048110156134565783816133dd6004866137cc565b6133e79190613a3a565b815181106133f7576133f7613862565b01602001516001600160f81b03191686826134136004896137cc565b61341d9190613a3a565b8151811061342d5761342d613862565b60200101906001600160f81b031916908160001a9053508061344e81613cde565b9150506133c7565b5093949350505050565b60606000836134706004856137cc565b8151811061348057613480613862565b60200101906001600160f81b031916908160001a90535060005b60048110156134f557600084826134b26004876137cc565b6134bc9190613a3a565b815181106134cc576134cc613862565b60200101906001600160f81b031916908160001a905350806134ed81613cde565b91505061349a565b509192915050565b80356001600160a01b038116811461351457600080fd5b919050565b6000806040838503121561352c57600080fd5b613535836134fd565b946020939093013593505050565b600060c0828403121561355557600080fd5b50919050565b60008060006060848603121561357057600080fd5b613579846134fd565b925060208401356001600160401b038082111561359557600080fd5b90850190606082880312156135a957600080fd5b909250604085013590808211156135bf57600080fd5b506135cc86828701613543565b9150509250925092565b60008083601f8401126135e857600080fd5b5081356001600160401b038111156135ff57600080fd5b6020830191508360208260051b850101111561361a57600080fd5b9250929050565b6000806000806000806080878903121561363a57600080fd5b613643876134fd565b955060208701356001600160401b038082111561365f57600080fd5b61366b8a838b016135d6565b9097509550604089013591508082111561368457600080fd5b6136908a838b016135d6565b909550935060608901359150808211156136a957600080fd5b506136b689828a01613543565b9150509295509295509295565b61ffff811681146136d357600080fd5b50565b600080600080608085870312156136ec57600080fd5b84516136f7816136c3565b60208601519094506001600160f81b03198116811461371557600080fd5b6040860151606090960151949790965092505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826137665761376661372b565b500490565b60008261377a5761377a61372b565b500690565b600181811c9082168061379357607f821691505b60208210810361355557634e487b7160e01b600052602260045260246000fd5b6000602082840312156137c557600080fd5b5051919050565b8082028115828204841417610f2357610f23613741565b600080604083850312156137f657600080fd5b82519150602083015160ff8116811461380e57600080fd5b809150509250929050565b6000808335601e1984360301811261383057600080fd5b8301803591506001600160401b0382111561384a57600080fd5b6020019150600581901b360382131561361a57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261388f57600080fd5b8301803591506001600160401b038211156138a957600080fd5b60200191503681900382131561361a57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006139016040830184866138be565b95945050505050565b60006020828403121561391c57600080fd5b81356001600160401b038116811461393357600080fd5b9392505050565b803563ffffffff8116811461351457600080fd5b600081518084526020808501945080840160005b8381101561397e57815187529582019590820190600101613962565b509495945050505050565b60006001600160401b0380861683526060602084015284356139aa816136c3565b61ffff16606084015263ffffffff6139c46020870161393a565b1660808401526040850135601e198636030181126139e157600080fd5b8501602081019035828111156139f657600080fd5b803603821315613a0557600080fd5b606060a0860152613a1a60c0860182846138be565b925050508281036040840152613a30818561394e565b9695505050505050565b80820180821115610f2357610f23613741565b81810381811115610f2357610f23613741565b600060208284031215613a7257600080fd5b8135613933816136c3565b600060208284031215613a8f57600080fd5b610f208261393a565b8d81526001600160a01b038d811660208301526001600160401b038d811660408401528c811660608401528b811660808401528a1660a0830152881660c082015261016060e08201819052600090613af3908301888a6138be565b61ffff871661010084015263ffffffff8616610120840152828103610140840152613b1f8185876138be565b9150509e9d5050505050505050505050505050565b6001600160e01b03198135818116916004851015613b5c5780818660040360031b1b83161692505b505092915050565b6020808252600e908201526d125b9d985b1a5914185e5b1bd85960921b604082015260600190565b60008085851115613b9c57600080fd5b83861115613ba957600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613bf457613bf4613bb6565b604052919050565b60006001600160401b03821115613c1557613c15613bb6565b5060051b60200190565b60006020808385031215613c3257600080fd5b82356001600160401b03811115613c4857600080fd5b8301601f81018513613c5957600080fd5b8035613c6c613c6782613bfc565b613bcc565b81815260059190911b82018301908381019087831115613c8b57600080fd5b928401925b82841015613cb057613ca18461393a565b82529284019290840190613c90565b979650505050505050565b600063ffffffff80841680613cd257613cd261372b565b92169190910492915050565b600060018201613cf057613cf0613741565b5060010190565b601f8211156107f057600081815260208120601f850160051c81016020861015613d1e5750805b601f850160051c820191505b81811015610bb857828155600101613d2a565b81516001600160401b03811115613d5657613d56613bb6565b613d6a81613d64845461377f565b84613cf7565b602080601f831160018114613d9f5760008415613d875750858301515b600019600386901b1c1916600185901b178555610bb8565b600085815260208120601f198616915b82811015613dce57888601518255948401946001909101908401613daf565b5085821015613dec5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215613e0f57600080fd5b82356001600160401b03811115613e2557600080fd5b8301601f81018513613e3657600080fd5b8035613e44613c6782613bfc565b81815260059190911b82018301908381019087831115613e6357600080fd5b928401925b82841015613cb0578335613e7b816136c3565b82529284019290840190613e68565b8183526000602080850194508260005b8581101561397e5763ffffffff613eb08361393a565b1687529582019590820190600101613e9a565b8d81526001600160a01b038d811660208301526001600160401b038d811660408401528c811660608401528b811660808401528a1660a083015288811660c083015261014060e0830181905260009190613f20908401898b6138be565b838103610100850152868152879060200160005b88811015613f5b5783613f46846134fd565b16825260209283019290910190600101613f34565b50848103610120860152613f70818789613e8a565b93505050509e9d5050505050505050505050505050565b60006020808385031215613f9a57600080fd5b82356001600160401b03811115613fb057600080fd5b8301601f81018513613fc157600080fd5b8035613fcf613c6782613bfc565b81815260059190911b82018301908381019087831115613fee57600080fd5b928401925b82841015613cb057833582529284019290840190613ff3565b600063ffffffff808416806140235761402361372b565b92169190910692915050565b60006020828403121561404157600080fd5b610f20826134fd565b6000806040838503121561405d57600080fd5b823591506020830135801515811461380e57600080fd5b61ffff818116838216028082169190828114613b5c57613b5c613741565b61ffff81811683821601908082111561066a5761066a61374156fea164736f6c6343000812000aa164736f6c6343000812000a0000000000000000000000005a5f486f2329a497e2642648a111f7f347a9e241000000000000000000000000f91b4626d264a3328cc9fd591c845f159b5a0381