0x608060405234801561001057600080fd5b5060405161077c38038061077c83398101604081905261002f9161009d565b6001600055600280546001600160a01b03199081163317909155600380546001600160a01b039586169083161790556004805493851693821693909317909255600580549190931691161790556100e0565b80516001600160a01b038116811461009857600080fd5b919050565b6000806000606084860312156100b257600080fd5b6100bb84610081565b92506100c960208501610081565b91506100d760408501610081565b90509250925092565b61068d806100ef6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80633849f410146100725780634c19eb681461009b57806362c8b9fd146100ce5780636b59f3fe146100e35780638da5cb5b146100f6578063d0ebdbe714610109578063d1ad17bf1461011c575b600080fd5b600554610085906001600160a01b031681565b60405161009291906102ef565b60405180910390f35b6100be6100a9366004610303565b60066020526000908152604090205460ff1681565b6040519015158152602001610092565b6100e16100dc366004610333565b61012f565b005b600454610085906001600160a01b031681565b600254610085906001600160a01b031681565b6100e1610117366004610303565b61029c565b600354610085906001600160a01b031681565b600260005414156101865760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640160405180910390fd5b600260009081556005546040516001600160a01b03909116906101a8906102d5565b6101b291906102ef565b604051809103906000f0801580156101ce573d6000803e3d6000fd5b506001546003546004805460405163c3dfab4560e01b815294955085946001600160a01b038087169563c3dfab4595610216958b95339593851694928316939216910161040b565b600060405180830381600087803b15801561023057600080fd5b505af1158015610244573d6000803e3d6000fd5b5050506001600160a01b038216600081815260066020526040808220805460ff19166001179055519192507f1449abf21e49fd025f33495e77f7b1461caefdd3d4bb646424a3f445c4576a5b91a25050600160005550565b6002546001600160a01b031633146102b357600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6101198061053f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60006020828403121561031557600080fd5b81356001600160a01b038116811461032c57600080fd5b9392505050565b60006020828403121561034557600080fd5b81356001600160401b0381111561035b57600080fd5b8201610100818503121561032c57600080fd5b6000808335601e1984360301811261038557600080fd5b83016020810192503590506001600160401b038111156103a457600080fd5b8036038313156103b357600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803562ffffff811681146103f657600080fd5b919050565b803580151581146103f657600080fd5b60a08152600061041b878861036e565b6101008060a08601526104336101a0860183856103ba565b925061044260208b018b61036e565b9250609f19808786030160c088015261045c8585846103ba565b945061046b60408d018d61036e565b94509150808786030160e08801526104848585846103ba565b945061049360608d018d61036e565b94509150808786030183880152506104ac8484836103ba565b93505050506104bd608089016103e3565b62ffffff166101208401526104d460a089016103fb565b15156101408401526104e860c089016103e3565b62ffffff1661016084015260e0880135610180840152905061050d60208301876102e2565b61051a60408301866102e2565b61052760608301856102e2565b61053460808301846102e2565b969550505050505056fe608060405234801561001057600080fd5b5060405161011938038061011983398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6087806100926000396000f3fe608060405236601d57600054601b906001600160a01b0316602d565b005b600054601b906001600160a01b03165b60405136600082376000803683855af43d806000843e818015604d578184f35b8184fdfea2646970667358221220fa8eabba1ac43a598649c5fe28ee08745f26f609c3dca50b8fc2e0a40f4ae5ef64736f6c63430008090033a2646970667358221220cf7ff70788a7bc87bc36ad50af004c26c5730dd202bbe6ace34e4621e76c473264736f6c634300080900330000000000000000000000006fdac0442a336429fb8a01bc1f4d6d10963d5c54000000000000000000000000508c8185f8d204459cda86239a600928373ff3f7000000000000000000000000ef0a6b7c3cf7ab2ebabbbd5ddfa57877876c27a9