0x60a06040523060805234801561001457600080fd5b506080516114ef61004c60003960008181610346015281816103e1015281816104e90152818161057f015261067a01526114ef6000f3fe6080604052600436106100dd5760003560e01c8063715018a61161007f5780638da5cb5b116100595780638da5cb5b1461024b578063b2a9641b14610269578063c4d66de814610299578063f2fde38b146102b957600080fd5b8063715018a6146101f65780637adbf9731461020b5780637dc0d1d01461022b57600080fd5b80634f1ef286116100bb5780634f1ef2861461018057806352d1902d146101935780636107887f146101b65780636e2ff8c6146101d657600080fd5b80631f58e7f4146100e2578063262660521461010d5780633659cfe61461015e575b600080fd5b3480156100ee57600080fd5b506100f76102d9565b6040516101049190611183565b60405180910390f35b34801561011957600080fd5b506101466101283660046111ec565b6001600160a01b03908116600090815260ca60205260409020541690565b6040516001600160a01b039091168152602001610104565b34801561016a57600080fd5b5061017e6101793660046111ec565b61033b565b005b61017e61018e36600461124e565b6104de565b34801561019f57600080fd5b506101a861066d565b604051908152602001610104565b3480156101c257600080fd5b5061017e6101d13660046111ec565b610732565b3480156101e257600080fd5b5061017e6101f13660046112f4565b6107fb565b34801561020257600080fd5b5061017e610846565b34801561021757600080fd5b5061017e6102263660046111ec565b61085a565b34801561023757600080fd5b5060c954610146906001600160a01b031681565b34801561025757600080fd5b506097546001600160a01b0316610146565b34801561027557600080fd5b506102896102843660046111ec565b6108bd565b6040519015158152602001610104565b3480156102a557600080fd5b5061017e6102b43660046111ec565b610927565b3480156102c557600080fd5b5061017e6102d43660046111ec565b610a6e565b606060cb80548060200260200160405190810160405280929190818152602001828054801561033157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610313575b5050505050905090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103df5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661043a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146104b65760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103d6565b6104bf81610afb565b604080516000808252602082019092526104db91839190610b03565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561057d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103d6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146106545760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103d6565b61065d82610afb565b61066982826001610b03565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461070d5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103d6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b61073b336108bd565b6107875760405162461bcd60e51b815260206004820152601e60248201527f496e69746961746f72206973206e6f74204b6579536861726541646d696e000060448201526064016103d6565b33600081815260ca6020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0386169081179091558251938452908301527f2b8213c66c58bc016a5c7538c6a59dfd727ab5cfd2286f838119f8c653a43be091015b60405180910390a150565b610803610cb7565b80516108169060cb9060208401906110fc565b507f4c1c58fcc557c1365fa163e1e0f6ea80ab3d49cbc465b9b5bbb5db0aa231ff88816040516107f09190611183565b61084e610cb7565b6108586000610d11565b565b610862610cb7565b60c9805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394906020016107f0565b6000805b60cb5481101561091e57826001600160a01b031660cb82815481106108e8576108e86113a1565b6000918252602090912001546001600160a01b0316141561090c5750600192915050565b80610916816113b7565b9150506108c1565b50600092915050565b600054610100900460ff16158080156109475750600054600160ff909116105b806109615750303b158015610961575060005460ff166001145b6109d35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103d6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610a14576000805461ff0019166101001790555b610a1c610d70565b610a2582610d11565b8015610669576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610a76610cb7565b6001600160a01b038116610af25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103d6565b6104db81610d11565b6104db610cb7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b3b57610b3683610df5565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7457600080fd5b505afa925050508015610ba4575060408051601f3d908101601f19168201909252610ba1918101906113fe565b60015b610c165760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016103d6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114610cab5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016103d6565b50610b36838383610ec0565b6097546001600160a01b031633146108585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103d6565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610ded5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103d6565b610858610eeb565b6001600160a01b0381163b610e725760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103d6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610ec983610f71565b600082511180610ed65750805b15610b3657610ee58383610fb1565b50505050565b600054610100900460ff16610f685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103d6565b61085833610d11565b610f7a81610df5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6110305760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016103d6565b600080846001600160a01b03168460405161104b9190611443565b600060405180830381855af49150503d8060008114611086576040519150601f19603f3d011682016040523d82523d6000602084013e61108b565b606091505b50915091506110b38282604051806060016040528060278152602001611493602791396110bc565b95945050505050565b606083156110cb5750816110f5565b8251156110db5782518084602001fd5b8160405162461bcd60e51b81526004016103d6919061145f565b9392505050565b82805482825590600052602060002090810192821561115e579160200282015b8281111561115e578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061111c565b5061116a92915061116e565b5090565b5b8082111561116a576000815560010161116f565b6020808252825182820181905260009190848201906040850190845b818110156111c45783516001600160a01b03168352928401929184019160010161119f565b50909695505050505050565b80356001600160a01b03811681146111e757600080fd5b919050565b6000602082840312156111fe57600080fd5b6110f5826111d0565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561124657611246611207565b604052919050565b6000806040838503121561126157600080fd5b61126a836111d0565b915060208084013567ffffffffffffffff8082111561128857600080fd5b818601915086601f83011261129c57600080fd5b8135818111156112ae576112ae611207565b6112c084601f19601f8401160161121d565b915080825287848285010111156112d657600080fd5b80848401858401376000848284010152508093505050509250929050565b6000602080838503121561130757600080fd5b823567ffffffffffffffff8082111561131f57600080fd5b818501915085601f83011261133357600080fd5b81358181111561134557611345611207565b8060051b915061135684830161121d565b818152918301840191848101908884111561137057600080fd5b938501935b8385101561139557611386856111d0565b82529385019390850190611375565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156113f757634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561141057600080fd5b5051919050565b60005b8381101561143257818101518382015260200161141a565b83811115610ee55750506000910152565b60008251611455818460208701611417565b9190910192915050565b602081526000825180602084015261147e816040850160208701611417565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208ac267a266deb14663643b06bd1d4149a809509b1873f10738c27d7c868fec8c64736f6c63430008090033