0x608060405234801561000f575f80fd5b5061001c6009600a610134565b61002a906305f5e100610146565b335f9081526020819052604090205561015d565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561008c57815f19048211156100725761007261003e565b8085161561007f57918102915b93841c9390800290610057565b509250929050565b5f826100a25750600161012e565b816100ae57505f61012e565b81600181146100c457600281146100ce576100ea565b600191505061012e565b60ff8411156100df576100df61003e565b50506001821b61012e565b5060208310610133831016604e8410600b841016171561010d575081810a61012e565b6101178383610052565b805f190482111561012a5761012a61003e565b0290505b92915050565b5f61013f8383610094565b9392505050565b808202811582820484141761012e5761012e61003e565b6106f18061016a5f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce5671461011d57806370a082311461013757806395d89b411461015f578063a9059cbb14610182578063dd62ed3e14610195575f80fd5b806306fdde0314610094578063095ea7b3146100d157806318160ddd146100f457806323b872dd1461010a575b5f80fd5b6100bb6040518060400160405280600881526020016726b7b7b734b332b960c11b81525081565b6040516100c8919061047d565b60405180910390f35b6100e46100df3660046104cd565b6101cd565b60405190151581526020016100c8565b6100fc6101e3565b6040519081526020016100c8565b6100e46101183660046104f5565b610200565b610125600981565b60405160ff90911681526020016100c8565b6100fc61014536600461052e565b6001600160a01b03165f9081526020819052604090205490565b6100bb6040518060400160405280600481526020016326a7a7a760e11b81525081565b6100e46101903660046104cd565b61031d565b6100fc6101a336600461054e565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b5f6101d933848461037d565b5060015b92915050565b6101ef6009600a610673565b6101fd906305f5e10061067e565b81565b6001600160a01b0383165f908152602081905260408120548211156102635760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b0384165f9081526001602090815260408083203384529091529020548211156102ce5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b604482015260640161025a565b6102d98484846103de565b6001600160a01b0384165f9081526001602090815260408083203380855292529091205461031391869161030e908690610695565b61037d565b5060019392505050565b335f908152602081905260408120548211156103725760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161025a565b6101d93384846103de565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383165f9081526020819052604081208054839290610405908490610695565b90915550506001600160a01b0382165f90815260208190526040812080548392906104319084906106a8565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103d191815260200190565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146104c8575f80fd5b919050565b5f80604083850312156104de575f80fd5b6104e7836104b2565b946020939093013593505050565b5f805f60608486031215610507575f80fd5b610510846104b2565b925061051e602085016104b2565b9150604084013590509250925092565b5f6020828403121561053e575f80fd5b610547826104b2565b9392505050565b5f806040838503121561055f575f80fd5b610568836104b2565b9150610576602084016104b2565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156105cd57815f19048211156105b3576105b361057f565b808516156105c057918102915b93841c9390800290610598565b509250929050565b5f826105e3575060016101dd565b816105ef57505f6101dd565b8160018114610605576002811461060f5761062b565b60019150506101dd565b60ff8411156106205761062061057f565b50506001821b6101dd565b5060208310610133831016604e8410600b841016171561064e575081810a6101dd565b6106588383610593565b805f190482111561066b5761066b61057f565b029392505050565b5f61054783836105d5565b80820281158282048414176101dd576101dd61057f565b818103818111156101dd576101dd61057f565b808201808211156101dd576101dd61057f56fea264697066735822122031a24838006399aea6d1c5c0a0dcba4e18c20b6befbf8d5ac132e4f512c2148864736f6c63430008190033