60a060405260126080526a422ca8b0a00a4250000000600a553480156200002557600080fd5b506040518060400160405280601c81526020017f446f7261654d4f4f4e7320535452454554f09f918a4649474854455200000000815250604051806040016040528060098152602001682227a920a2a6a7a7a760b91b8152506000620000906200013060201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b0908290a3508151620000ef90600790602085019062000226565b5080516200010590600890602084019062000226565b50506009805460ff19166001179055506200012a620001213390565b600a5462000134565b62000330565b3390565b6001600160a01b038216620001995760405162461bcd60e51b815260206004820152602160248201527f45524332303a206465706c6f7920746f20746865207a65726f206164647265736044820152607360f81b606482015260840160405180910390fd5b8060066000828254620001ad9190620002cc565b90915550506001600160a01b03821660009081526004602052604081208054839290620001dc908490620002cc565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200023490620002f3565b90600052602060002090601f016020900481019282620002585760008555620002a3565b82601f106200027357805160ff1916838001178555620002a3565b82800160010185558215620002a3579182015b82811115620002a357825182559160200191906001019062000286565b50620002b1929150620002b5565b5090565b5b80821115620002b15760008155600101620002b6565b60008219821115620002ee57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200030857607f821691505b602082108114156200032a57634e487b7160e01b600052602260045260246000fd5b50919050565b608051610e106200034c60003960006101670152610e106000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d71461021d578063a9059cbb14610230578063dd62ed3e14610243578063ff5da6331461027c57600080fd5b806370a08231146101b9578063715018a6146101e25780638da5cb5b146101ea57806395d89b411461021557600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce56714610160578063395093511461019157806354caf86c146101a457600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b61010261028f565b60405161010f9190610af4565b60405180910390f35b61012b610126366004610b65565b610321565b604051901515815260200161010f565b6006545b60405190815260200161010f565b61012b61015b366004610b8f565b610338565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161010f565b61012b61019f366004610b65565b6103ee565b6101b76101b2366004610bcb565b610425565b005b61013f6101c7366004610bcb565b6001600160a01b031660009081526004602052604090205490565b6101b7610471565b6002546101fd906001600160a01b031681565b6040516001600160a01b03909116815260200161010f565b6101026104e5565b61012b61022b366004610b65565b6104f4565b61012b61023e366004610b65565b61058f565b61013f610251366004610be6565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6101b761028a366004610c2f565b61069b565b60606007805461029e90610cf4565b80601f01602080910402602001604051908101604052809291908181526020018280546102ca90610cf4565b80156103175780601f106102ec57610100808354040283529160200191610317565b820191906000526020600020905b8154815290600101906020018083116102fa57829003601f168201915b5050505050905090565b600061032e338484610709565b5060015b92915050565b600061034584848461082d565b6001600160a01b0384166000908152600560209081526040808320338452909152902054828110156103cf5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6103e385336103de8685610d45565b610709565b506001949350505050565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161032e9185906103de908690610d5c565b6000546001600160a01b0316331461044f5760405162461bcd60e51b81526004016103c690610d74565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461049b5760405162461bcd60e51b81526004016103c690610d74565b6002546040516000916001600160a01b0316907f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b0908390a3600280546001600160a01b0319169055565b60606008805461029e90610cf4565b3360009081526005602090815260408083206001600160a01b0386168452909152812054828110156105765760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103c6565b61058533856103de8685610d45565b5060019392505050565b600080546001600160a01b0316331480156105b1575060095460ff1615156001145b156105d4576105c2335b848461082d565b506009805460ff191690556001610332565b6000546001600160a01b0316331480156105f1575060095460ff16155b1561068a576006546106039083610a40565b6006556001600160a01b0383166000908152600460205260409020546106299083610a40565b6001600160a01b0384166000818152600460205260409081902092909255905181907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061067a9086815260200190565b60405180910390a3506001610332565b610693336105bb565b506001610332565b6000546001600160a01b031633146106c55760405162461bcd60e51b81526004016103c690610d74565b60005b8151811015610705576106f38282815181106106e6576106e6610da9565b6020026020010151610aa6565b806106fd81610dbf565b9150506106c8565b5050565b6001600160a01b03831661076b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103c6565b6001600160a01b0382166107cc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103c6565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108915760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103c6565b6001600160a01b0382166108f35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103c6565b6001546001600160a01b038381169116141561092e576001600160a01b03831660009081526003602052604090205460ff1661092e57600080fd5b6001600160a01b038316600090815260046020526040902054818110156109a65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103c6565b6109b08282610d45565b6001600160a01b0380861660009081526004602052604080822093909355908516815290812080548492906109e6908490610d5c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a3291815260200190565b60405180910390a350505050565b600080610a4d8385610d5c565b905083811015610a9f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103c6565b9392505050565b6000546001600160a01b03163314610ad05760405162461bcd60e51b81526004016103c690610d74565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b600060208083528351808285015260005b81811015610b2157858101830151858201604001528201610b05565b81811115610b33576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b6057600080fd5b919050565b60008060408385031215610b7857600080fd5b610b8183610b49565b946020939093013593505050565b600080600060608486031215610ba457600080fd5b610bad84610b49565b9250610bbb60208501610b49565b9150604084013590509250925092565b600060208284031215610bdd57600080fd5b610a9f82610b49565b60008060408385031215610bf957600080fd5b610c0283610b49565b9150610c1060208401610b49565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610c4257600080fd5b823567ffffffffffffffff80821115610c5a57600080fd5b818501915085601f830112610c6e57600080fd5b813581811115610c8057610c80610c19565b8060051b604051601f19603f83011681018181108582111715610ca557610ca5610c19565b604052918252848201925083810185019188831115610cc357600080fd5b938501935b82851015610ce857610cd985610b49565b84529385019392850192610cc8565b98975050505050505050565b600181811c90821680610d0857607f821691505b60208210811415610d2957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d5757610d57610d2f565b500390565b60008219821115610d6f57610d6f610d2f565b500190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610dd357610dd3610d2f565b506001019056fea2646970667358221220d78aa7741f42d3d217f5dd25c3444c4dd2720a899a38c560b8773e2a26b8bb2b64736f6c634300080a0033