0x60a06040523480156200001157600080fd5b506040516200143b3803806200143b83398101604081905262000034916200019e565b818162000041336200011b565b60408051808201909152600981526806164647265737320360bc1b60208201526001600160a01b038316620000945760405162461bcd60e51b81526004016200008b919062000287565b60405180910390fd5b506001600160a01b03821660805260005b815181101562000110576001806000848481518110620000c957620000c9620002d7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806200010781620002ed565b915050620000a5565b505050505062000315565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200018357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215620001b257600080fd5b620001bd836200016b565b602084810151919350906001600160401b0380821115620001dd57600080fd5b818601915086601f830112620001f257600080fd5b81518181111562000207576200020762000188565b8060051b604051601f19603f830116810181811085821117156200022f576200022f62000188565b6040529182528482019250838101850191898311156200024e57600080fd5b938501935b82851015620002775762000267856200016b565b8452938501939285019262000253565b8096505050505050509250929050565b600060208083528351808285015260005b81811015620002b65785810183015185820160400152820162000298565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200030e57634e487b7160e01b600052601160045260246000fd5b5060010190565b6080516111036200033860003960008181610107015261036001526111036000f3fe60806040526004361061007f5760003560e01c806379641f741161004e57806379641f74146100f557806380dd9a1f146101465780638da5cb5b14610186578063f2fde38b146101a457600080fd5b806341f4a9591461008b578063597a9743146100ad5780636f82189d146100cd578063715018a6146100e057600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100ab6100a6366004610bda565b6101c4565b005b3480156100b957600080fd5b506100ab6100c8366004610c67565b61028c565b6100ab6100db366004610d42565b610332565b3480156100ec57600080fd5b506100ab6105da565b34801561010157600080fd5b506101297f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015257600080fd5b50610176610161366004610e20565b60016020526000908152604090205460ff1681565b604051901515815260200161013d565b34801561019257600080fd5b506000546001600160a01b0316610129565b3480156101b057600080fd5b506100ab6101bf366004610e20565b6105ee565b6101cc610667565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0383160161022d576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610227573d6000803e3d6000fd5b50610241565b6102416001600160a01b03831684836106c1565b604080516001600160a01b038481168252602082018490528516917ff24ef89f38eadc1bde50701ad6e4d6d11a2dc24f7cf834a486991f3883328504910160405180910390a2505050565b610294610667565b60005b8381101561032b578282828181106102b1576102b1610e44565b90506020020160208101906102c69190610e68565b600160008787858181106102dc576102dc610e44565b90506020020160208101906102f19190610e20565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061032381610e85565b915050610297565b5050505050565b60408051808201909152600c81526b6f6e6c79205842726964676560a01b6020820152336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103a75760405162461bcd60e51b815260040161039e9190610efc565b60405180910390fd5b50600080600080848060200190518101906103c29190610f54565b6001600160a01b038416600090815260016020908152604091829020548251808401909352600e83526d34b73b30b634b2103937baba32b960911b9183019190915294985092965090945092509060ff166104305760405162461bcd60e51b815260040161039e9190610efc565b5073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038916016104bf57604051630b59da6160e11b81526001600160a01b038516906316b3b4c290349061048890879087908790600401610fd3565b6000604051808303818588803b1580156104a157600080fd5b505af11580156104b5573d6000803e3d6000fd5b5050505050610531565b6104ca888589610729565b604051639ddf93bb60e01b81526001600160a01b03851690639ddf93bb906104fe908b90879087908d908890600401611009565b600060405180830381600087803b15801561051857600080fd5b505af115801561052c573d6000803e3d6000fd5b505050505b6000826040516020016105449190611054565b60405160208183030381529060405261055c90611070565b90507f6ea4114cf93cff6c9ff22aef8d246e78a0368fa48033adc49edde5fa273f69a18c8c8b8b856040516105c49594939291906001600160a01b03958616815293851660208501529190931660408301526060820192909252608081019190915260a00190565b60405180910390a1505050505050505050505050565b6105e2610667565b6105ec60006107fb565b565b6105f6610667565b6001600160a01b03811661065b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b610664816107fb565b50565b6000546001600160a01b031633146105ec5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b6040516001600160a01b03831660248201526044810182905261072490849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261084b565b505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015610779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079d9190611097565b9050806000036107c2576107bd6001600160a01b03851684600019610920565b6107f5565b818110156107f5576107df6001600160a01b038516846000610920565b6107f56001600160a01b03851684600019610920565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006108a0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a359092919063ffffffff16565b90508051600014806108c15750808060200190518101906108c191906110b0565b6107245760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161039e565b80158061099a5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610974573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109989190611097565b155b610a055760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161039e565b6040516001600160a01b03831660248201526044810182905261072490849063095ea7b360e01b906064016106ed565b6060610a448484600085610a4c565b949350505050565b606082471015610aad5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161039e565b600080866001600160a01b03168587604051610ac99190611054565b60006040518083038185875af1925050503d8060008114610b06576040519150601f19603f3d011682016040523d82523d6000602084013e610b0b565b606091505b5091509150610b1c87838387610b27565b979650505050505050565b60608315610b96578251600003610b8f576001600160a01b0385163b610b8f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081610a44565b610a448383815115610bab5781518083602001fd5b8060405162461bcd60e51b815260040161039e9190610efc565b6001600160a01b038116811461066457600080fd5b600080600060608486031215610bef57600080fd5b8335610bfa81610bc5565b92506020840135610c0a81610bc5565b929592945050506040919091013590565b60008083601f840112610c2d57600080fd5b50813567ffffffffffffffff811115610c4557600080fd5b6020830191508360208260051b8501011115610c6057600080fd5b9250929050565b60008060008060408587031215610c7d57600080fd5b843567ffffffffffffffff80821115610c9557600080fd5b610ca188838901610c1b565b90965094506020870135915080821115610cba57600080fd5b50610cc787828801610c1b565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d1257610d12610cd3565b604052919050565b600067ffffffffffffffff821115610d3457610d34610cd3565b50601f01601f191660200190565b600080600080600080600060e0888a031215610d5d57600080fd5b8735610d6881610bc5565b96506020880135610d7881610bc5565b95506040880135610d8881610bc5565b94506060880135610d9881610bc5565b93506080880135925060a0880135915060c088013567ffffffffffffffff811115610dc257600080fd5b8801601f81018a13610dd357600080fd5b8035610de6610de182610d1a565b610ce9565b8181528b6020838501011115610dfb57600080fd5b8160208401602083013760006020838301015280935050505092959891949750929550565b600060208284031215610e3257600080fd5b8135610e3d81610bc5565b9392505050565b634e487b7160e01b600052603260045260246000fd5b801515811461066457600080fd5b600060208284031215610e7a57600080fd5b8135610e3d81610e5a565b600060018201610ea557634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015610ec7578181015183820152602001610eaf565b50506000910152565b60008151808452610ee8816020860160208601610eac565b601f01601f19169290920160200192915050565b602081526000610e3d6020830184610ed0565b600082601f830112610f2057600080fd5b8151610f2e610de182610d1a565b818152846020838601011115610f4357600080fd5b610a44826020830160208701610eac565b60008060008060808587031215610f6a57600080fd5b8451610f7581610bc5565b602086015190945067ffffffffffffffff80821115610f9357600080fd5b610f9f88838901610f0f565b94506040870151915080821115610fb557600080fd5b50610fc287828801610f0f565b606096909601519497939650505050565b606081526000610fe66060830186610ed0565b8281036020840152610ff88186610ed0565b915050826040830152949350505050565b6001600160a01b038616815260a06020820181905260009061102d90830187610ed0565b828103604084015261103f8187610ed0565b60608401959095525050608001529392505050565b60008251611066818460208701610eac565b9190910192915050565b80516020808301519190811015611091576000198160200360031b1b821691505b50919050565b6000602082840312156110a957600080fd5b5051919050565b6000602082840312156110c257600080fd5b8151610e3d81610e5a56fea2646970667358221220d1dc72c8253fadd980281887e28ef92a89292277dbf7b73e8043a9752c85b69b64736f6c634300081300330000000000000000000000005965851f21dae82ea7c62f87fb7c57172e9f2add000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008f957ed3f969d7b6e5d6df81e61a5ff45f594dd1