0x6080604052600436106101bb5760003560e01c80636ddd1713116100ec578063a72905a21161008a578063dbecc8e911610064578063dbecc8e9146104e6578063dd62ed3e146104fc578063e120ef2f14610542578063f887ea401461057257600080fd5b8063a72905a214610476578063a9059cbb146104a6578063b7f4c31c146104c657600080fd5b806376187b42116100c657806376187b42146103ff5780638c61beb9146104155780638da5cb5b1461042b57806395d89b411461044957600080fd5b80636ddd17131461039457806370a08231146103b4578063715018a6146103ea57600080fd5b80633582ad231161015957806349bd5a5e1161013357806349bd5a5e1461032a578063505f371f1461034a57806353371be0146103605780635fa959471461037f57600080fd5b80633582ad23146102c257806336ed22b5146102dc57806345521c57146102f257600080fd5b806317a7718c1161019557806317a7718c1461024d57806318160ddd1461027157806323b872dd14610286578063313ce567146102a657600080fd5b806306fdde03146101c7578063095ea7b3146102065780631540151d1461023657600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600481526346776f6760e01b60208201525b6040516101fd9190611934565b60405180910390f35b34801561021257600080fd5b5061022661022136600461199a565b6105a6565b60405190151581526020016101fd565b34801561024257600080fd5b5061024b6105bd565b005b34801561025957600080fd5b5061026360065481565b6040519081526020016101fd565b34801561027d57600080fd5b5061026361090f565b34801561029257600080fd5b506102266102a13660046119c6565b610930565b3480156102b257600080fd5b50604051601281526020016101fd565b3480156102ce57600080fd5b506009546102269060ff1681565b3480156102e857600080fd5b5061026360055481565b3480156102fe57600080fd5b50600454610312906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b34801561033657600080fd5b50600354610312906001600160a01b031681565b34801561035657600080fd5b50610263600b5481565b34801561036c57600080fd5b5060095461022690610100900460ff1681565b34801561038b57600080fd5b50610226610994565b3480156103a057600080fd5b506009546102269062010000900460ff1681565b3480156103c057600080fd5b506102636103cf366004611a07565b6001600160a01b031660009081526001602052604090205490565b3480156103f657600080fd5b5061024b6109cf565b34801561040b57600080fd5b50610263600c5481565b34801561042157600080fd5b5061026360085481565b34801561043757600080fd5b506000546001600160a01b0316610312565b34801561045557600080fd5b5060408051808201909152600481526346574f4760e01b60208201526101f0565b34801561048257600080fd5b50610226610491366004611a07565b600f6020526000908152604090205460ff1681565b3480156104b257600080fd5b506102266104c136600461199a565b610a43565b3480156104d257600080fd5b5061024b6104e1366004611a24565b610a50565b3480156104f257600080fd5b5061026360075481565b34801561050857600080fd5b50610263610517366004611a46565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561054e57600080fd5b5061022661055d366004611a07565b600e6020526000908152604090205460ff1681565b34801561057e57600080fd5b506103127f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006105b3338484610ae8565b5060015b92915050565b6000546001600160a01b031633146105f05760405162461bcd60e51b81526004016105e790611a7f565b60405180910390fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190611ab4565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107039190611ab4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107749190611ab4565b600380546001600160a01b0319166001600160a01b039290921691821790556000908152600e60205260409020805460ff191660011790556003546107c3906001600160a01b03166001610c0c565b610807307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6107f46012600a611bcb565b61080290633b9aca00611bda565b610ae8565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7194730610857306001600160a01b031660009081526001602052604090205490565b60008061086c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108d4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108f99190611bf1565b50506009805462ffff0019166201010017905550565b600061091d6012600a611bcb565b61092b90633b9aca00611bda565b905090565b600061093d848484610c60565b61098a843361080285604051806060016040528060288152602001611cef602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611239565b5060019392505050565b600080546001600160a01b031633146109bf5760405162461bcd60e51b81526004016105e790611a7f565b506009805460ff19169055600190565b6000546001600160a01b031633146109f95760405162461bcd60e51b81526004016105e790611a7f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105b3338484610c60565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016105e790611a7f565b600b829055600c81905560638211801590610a9857506063600c5411155b610ae45760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c65737300000060448201526064016105e7565b5050565b6001600160a01b038316610b4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e7565b6001600160a01b038216610bab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316610cc45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e7565b6001600160a01b038216610d265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e7565b60008111610d8e5760405162461bcd60e51b815260206004820152602f60248201527f45524332303a207472616e7366657220616d6f756e742073686f756c6420626560448201526e02067726561746572207468616e203608c1b60648201526084016105e7565b6001600160a01b0382166000908152600a602052604090205460ff16158015610dd057506001600160a01b0383166000908152600a602052604090205460ff16155b610e365760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b60648201526084016105e7565b60095460ff161561116b576000546001600160a01b03848116911614801590610e6d57506000546001600160a01b03838116911614155b1561116b57600954610100900460ff16610f05576001600160a01b0383166000908152600d602052604090205460ff1680610ec057506001600160a01b0382166000908152600d602052604090205460ff165b610f055760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016105e7565b6001600160a01b0383166000908152600f602052604090205460ff168015610f4657506001600160a01b0382166000908152600e602052604090205460ff16155b1561102a57600554811115610fbb5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b60648201526084016105e7565b6007546001600160a01b038316600090815260016020526040902054610fe19083611c1f565b11156110255760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016105e7565b61116b565b6001600160a01b0382166000908152600f602052604090205460ff16801561106b57506001600160a01b0383166000908152600e602052604090205460ff16155b156110e1576005548111156110255760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b60648201526084016105e7565b6001600160a01b0382166000908152600e602052604090205460ff1661116b576007546001600160a01b0383166000908152600160205260409020546111279083611c1f565b111561116b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016105e7565b60095462010000900460ff16801561118d5750600354600160a01b900460ff16155b80156111b157506001600160a01b0382166000908152600f602052604090205460ff165b80156111d657506001600160a01b0383166000908152600d602052604090205460ff16155b80156111fb57506001600160a01b0382166000908152600d602052604090205460ff16155b15611229576003805460ff60a01b1916600160a01b17905561121b611273565b6003805460ff60a01b191690555b6112348383836112de565b505050565b6000818484111561125d5760405162461bcd60e51b81526004016105e79190611934565b50600061126a8486611c32565b95945050505050565b3060009081526001602052604090205460085481111561129257506008545b6006548111156112a5576112a5816113bb565b6004546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ae4573d6000803e3d6000fd5b6000806112ec85858561157b565b6001600160a01b0387166000908152600160205260409020549193509150611314908361179f565b6001600160a01b03861660009081526001602052604090205561135961133a848361179f565b6001600160a01b038616600090815260016020526040902054906117e8565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113a3868561179f565b60405190815260200160405180910390a35050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113f0576113f0611c45565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114929190611ab4565b816001815181106114a5576114a5611c45565b60200260200101906001600160a01b031690816001600160a01b0316815250506114f0307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610ae8565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611545908590600090869030904290600401611c5b565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166000908152600d60205260408120548190819060ff16806115be57506001600160a01b0385166000908152600d602052604090205460ff165b90506115d26000546001600160a01b031690565b6001600160a01b0316866001600160a01b031614806115fe57506000546001600160a01b038681169116145b8061161157506001600160a01b03861630145b8061162457506001600160a01b03851630145b1561163157839250611796565b80611796576001600160a01b0385166000908152600f602052604090205460ff16801561166057506000600c54115b1561168d576116866103e8611680600c548761184790919063ffffffff16565b906118c9565b91506116da565b6001600160a01b0386166000908152600f602052604090205460ff1680156116b757506000600b54115b156116da576116d76103e8611680600b548761184790919063ffffffff16565b91505b8115611789576001600160a01b038616600090815260016020526040902054611703908361179f565b6001600160a01b03871660009081526001602052604080822092909255308152205461172f90836117e8565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117809086815260200190565b60405180910390a35b6117938285611c32565b92505b50935093915050565b60006117e183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611239565b9392505050565b6000806117f58385611c1f565b9050838110156117e15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e7565b600082600003611859575060006105b7565b60006118658385611bda565b9050826118728583611ccc565b146117e15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e7565b60006117e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836119275760405162461bcd60e51b81526004016105e79190611934565b50600061126a8486611ccc565b600060208083528351808285015260005b8181101561196157858101830151858201604001528201611945565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461199757600080fd5b50565b600080604083850312156119ad57600080fd5b82356119b881611982565b946020939093013593505050565b6000806000606084860312156119db57600080fd5b83356119e681611982565b925060208401356119f681611982565b929592945050506040919091013590565b600060208284031215611a1957600080fd5b81356117e181611982565b60008060408385031215611a3757600080fd5b50508035926020909101359150565b60008060408385031215611a5957600080fd5b8235611a6481611982565b91506020830135611a7481611982565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611ac657600080fd5b81516117e181611982565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611b22578160001904821115611b0857611b08611ad1565b80851615611b1557918102915b93841c9390800290611aec565b509250929050565b600082611b39575060016105b7565b81611b46575060006105b7565b8160018114611b5c5760028114611b6657611b82565b60019150506105b7565b60ff841115611b7757611b77611ad1565b50506001821b6105b7565b5060208310610133831016604e8410600b8410161715611ba5575081810a6105b7565b611baf8383611ae7565b8060001904821115611bc357611bc3611ad1565b029392505050565b60006117e160ff841683611b2a565b80820281158282048414176105b7576105b7611ad1565b600080600060608486031215611c0657600080fd5b8351925060208401519150604084015190509250925092565b808201808211156105b7576105b7611ad1565b818103818111156105b7576105b7611ad1565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cab5784516001600160a01b031683529383019391830191600101611c86565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ce957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122094881bba768671def669034c20c206f60aa645f57cff18d1ee11b49443c2c3be64736f6c63430008130033
0x60a06040526009805462ffffff191660011790556000600b819055600c553480156200002a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d608052600480546001600160a01b03191673130522d07a21ca506a0ac76bca5f9f20f6bb91011790556103e8620000bb6012600a62000435565b620000cb90633b9aca006200044d565b620000d89060146200044d565b620000e4919062000467565b6005556103e8620000f86012600a62000435565b6200010890633b9aca006200044d565b620001159060146200044d565b62000121919062000467565b6007556103e8620001356012600a62000435565b6200014590633b9aca006200044d565b6200015290600a6200044d565b6200015e919062000467565b600855620f4240620001736012600a62000435565b6200018390633b9aca006200044d565b620001909060056200044d565b6200019c919062000467565b600655620001be620001b66000546001600160a01b031690565b6001620002c1565b620001cb306001620002c1565b600454620001e4906001600160a01b03166001620002c1565b6200021f620001fb6000546001600160a01b031690565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b306000908152600e60205260409020805460ff19166001179055620002476012600a62000435565b6200025790633b9aca006200044d565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200029a6012600a62000435565b620002aa90633b9aca006200044d565b60405190815260200160405180910390a36200048a565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003775781600019048211156200035b576200035b62000320565b808516156200036957918102915b93841c93908002906200033b565b509250929050565b60008262000390575060016200042f565b816200039f575060006200042f565b8160018114620003b85760028114620003c357620003e3565b60019150506200042f565b60ff841115620003d757620003d762000320565b50506001821b6200042f565b5060208310610133831016604e8410600b841016171562000408575081810a6200042f565b62000414838362000336565b80600019048211156200042b576200042b62000320565b0290505b92915050565b60006200044660ff8416836200037f565b9392505050565b80820281158282048414176200042f576200042f62000320565b6000826200048557634e487b7160e01b600052601260045260246000fd5b500490565b608051611d4c620004d760003960008181610584015281816105f201528181610683015281816107c90152818161080901528181611412015281816114cb01526115070152611d4c6000f3fe6080604052600436106101bb5760003560e01c80636ddd1713116100ec578063a72905a21161008a578063dbecc8e911610064578063dbecc8e9146104e6578063dd62ed3e146104fc578063e120ef2f14610542578063f887ea401461057257600080fd5b8063a72905a214610476578063a9059cbb146104a6578063b7f4c31c146104c657600080fd5b806376187b42116100c657806376187b42146103ff5780638c61beb9146104155780638da5cb5b1461042b57806395d89b411461044957600080fd5b80636ddd17131461039457806370a08231146103b4578063715018a6146103ea57600080fd5b80633582ad231161015957806349bd5a5e1161013357806349bd5a5e1461032a578063505f371f1461034a57806353371be0146103605780635fa959471461037f57600080fd5b80633582ad23146102c257806336ed22b5146102dc57806345521c57146102f257600080fd5b806317a7718c1161019557806317a7718c1461024d57806318160ddd1461027157806323b872dd14610286578063313ce567146102a657600080fd5b806306fdde03146101c7578063095ea7b3146102065780631540151d1461023657600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600481526346776f6760e01b60208201525b6040516101fd9190611934565b60405180910390f35b34801561021257600080fd5b5061022661022136600461199a565b6105a6565b60405190151581526020016101fd565b34801561024257600080fd5b5061024b6105bd565b005b34801561025957600080fd5b5061026360065481565b6040519081526020016101fd565b34801561027d57600080fd5b5061026361090f565b34801561029257600080fd5b506102266102a13660046119c6565b610930565b3480156102b257600080fd5b50604051601281526020016101fd565b3480156102ce57600080fd5b506009546102269060ff1681565b3480156102e857600080fd5b5061026360055481565b3480156102fe57600080fd5b50600454610312906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b34801561033657600080fd5b50600354610312906001600160a01b031681565b34801561035657600080fd5b50610263600b5481565b34801561036c57600080fd5b5060095461022690610100900460ff1681565b34801561038b57600080fd5b50610226610994565b3480156103a057600080fd5b506009546102269062010000900460ff1681565b3480156103c057600080fd5b506102636103cf366004611a07565b6001600160a01b031660009081526001602052604090205490565b3480156103f657600080fd5b5061024b6109cf565b34801561040b57600080fd5b50610263600c5481565b34801561042157600080fd5b5061026360085481565b34801561043757600080fd5b506000546001600160a01b0316610312565b34801561045557600080fd5b5060408051808201909152600481526346574f4760e01b60208201526101f0565b34801561048257600080fd5b50610226610491366004611a07565b600f6020526000908152604090205460ff1681565b3480156104b257600080fd5b506102266104c136600461199a565b610a43565b3480156104d257600080fd5b5061024b6104e1366004611a24565b610a50565b3480156104f257600080fd5b5061026360075481565b34801561050857600080fd5b50610263610517366004611a46565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561054e57600080fd5b5061022661055d366004611a07565b600e6020526000908152604090205460ff1681565b34801561057e57600080fd5b506103127f000000000000000000000000000000000000000000000000000000000000000081565b60006105b3338484610ae8565b5060015b92915050565b6000546001600160a01b031633146105f05760405162461bcd60e51b81526004016105e790611a7f565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190611ab4565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107039190611ab4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107749190611ab4565b600380546001600160a01b0319166001600160a01b039290921691821790556000908152600e60205260409020805460ff191660011790556003546107c3906001600160a01b03166001610c0c565b610807307f00000000000000000000000000000000000000000000000000000000000000006107f46012600a611bcb565b61080290633b9aca00611bda565b610ae8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7194730610857306001600160a01b031660009081526001602052604090205490565b60008061086c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108d4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108f99190611bf1565b50506009805462ffff0019166201010017905550565b600061091d6012600a611bcb565b61092b90633b9aca00611bda565b905090565b600061093d848484610c60565b61098a843361080285604051806060016040528060288152602001611cef602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611239565b5060019392505050565b600080546001600160a01b031633146109bf5760405162461bcd60e51b81526004016105e790611a7f565b506009805460ff19169055600190565b6000546001600160a01b031633146109f95760405162461bcd60e51b81526004016105e790611a7f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105b3338484610c60565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016105e790611a7f565b600b829055600c81905560638211801590610a9857506063600c5411155b610ae45760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c65737300000060448201526064016105e7565b5050565b6001600160a01b038316610b4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e7565b6001600160a01b038216610bab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316610cc45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e7565b6001600160a01b038216610d265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e7565b60008111610d8e5760405162461bcd60e51b815260206004820152602f60248201527f45524332303a207472616e7366657220616d6f756e742073686f756c6420626560448201526e02067726561746572207468616e203608c1b60648201526084016105e7565b6001600160a01b0382166000908152600a602052604090205460ff16158015610dd057506001600160a01b0383166000908152600a602052604090205460ff16155b610e365760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b60648201526084016105e7565b60095460ff161561116b576000546001600160a01b03848116911614801590610e6d57506000546001600160a01b03838116911614155b1561116b57600954610100900460ff16610f05576001600160a01b0383166000908152600d602052604090205460ff1680610ec057506001600160a01b0382166000908152600d602052604090205460ff165b610f055760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016105e7565b6001600160a01b0383166000908152600f602052604090205460ff168015610f4657506001600160a01b0382166000908152600e602052604090205460ff16155b1561102a57600554811115610fbb5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b60648201526084016105e7565b6007546001600160a01b038316600090815260016020526040902054610fe19083611c1f565b11156110255760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016105e7565b61116b565b6001600160a01b0382166000908152600f602052604090205460ff16801561106b57506001600160a01b0383166000908152600e602052604090205460ff16155b156110e1576005548111156110255760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b60648201526084016105e7565b6001600160a01b0382166000908152600e602052604090205460ff1661116b576007546001600160a01b0383166000908152600160205260409020546111279083611c1f565b111561116b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016105e7565b60095462010000900460ff16801561118d5750600354600160a01b900460ff16155b80156111b157506001600160a01b0382166000908152600f602052604090205460ff165b80156111d657506001600160a01b0383166000908152600d602052604090205460ff16155b80156111fb57506001600160a01b0382166000908152600d602052604090205460ff16155b15611229576003805460ff60a01b1916600160a01b17905561121b611273565b6003805460ff60a01b191690555b6112348383836112de565b505050565b6000818484111561125d5760405162461bcd60e51b81526004016105e79190611934565b50600061126a8486611c32565b95945050505050565b3060009081526001602052604090205460085481111561129257506008545b6006548111156112a5576112a5816113bb565b6004546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ae4573d6000803e3d6000fd5b6000806112ec85858561157b565b6001600160a01b0387166000908152600160205260409020549193509150611314908361179f565b6001600160a01b03861660009081526001602052604090205561135961133a848361179f565b6001600160a01b038616600090815260016020526040902054906117e8565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113a3868561179f565b60405190815260200160405180910390a35050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113f0576113f0611c45565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114929190611ab4565b816001815181106114a5576114a5611c45565b60200260200101906001600160a01b031690816001600160a01b0316815250506114f0307f000000000000000000000000000000000000000000000000000000000000000084610ae8565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611545908590600090869030904290600401611c5b565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166000908152600d60205260408120548190819060ff16806115be57506001600160a01b0385166000908152600d602052604090205460ff165b90506115d26000546001600160a01b031690565b6001600160a01b0316866001600160a01b031614806115fe57506000546001600160a01b038681169116145b8061161157506001600160a01b03861630145b8061162457506001600160a01b03851630145b1561163157839250611796565b80611796576001600160a01b0385166000908152600f602052604090205460ff16801561166057506000600c54115b1561168d576116866103e8611680600c548761184790919063ffffffff16565b906118c9565b91506116da565b6001600160a01b0386166000908152600f602052604090205460ff1680156116b757506000600b54115b156116da576116d76103e8611680600b548761184790919063ffffffff16565b91505b8115611789576001600160a01b038616600090815260016020526040902054611703908361179f565b6001600160a01b03871660009081526001602052604080822092909255308152205461172f90836117e8565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117809086815260200190565b60405180910390a35b6117938285611c32565b92505b50935093915050565b60006117e183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611239565b9392505050565b6000806117f58385611c1f565b9050838110156117e15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e7565b600082600003611859575060006105b7565b60006118658385611bda565b9050826118728583611ccc565b146117e15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e7565b60006117e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836119275760405162461bcd60e51b81526004016105e79190611934565b50600061126a8486611ccc565b600060208083528351808285015260005b8181101561196157858101830151858201604001528201611945565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461199757600080fd5b50565b600080604083850312156119ad57600080fd5b82356119b881611982565b946020939093013593505050565b6000806000606084860312156119db57600080fd5b83356119e681611982565b925060208401356119f681611982565b929592945050506040919091013590565b600060208284031215611a1957600080fd5b81356117e181611982565b60008060408385031215611a3757600080fd5b50508035926020909101359150565b60008060408385031215611a5957600080fd5b8235611a6481611982565b91506020830135611a7481611982565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611ac657600080fd5b81516117e181611982565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611b22578160001904821115611b0857611b08611ad1565b80851615611b1557918102915b93841c9390800290611aec565b509250929050565b600082611b39575060016105b7565b81611b46575060006105b7565b8160018114611b5c5760028114611b6657611b82565b60019150506105b7565b60ff841115611b7757611b77611ad1565b50506001821b6105b7565b5060208310610133831016604e8410600b8410161715611ba5575081810a6105b7565b611baf8383611ae7565b8060001904821115611bc357611bc3611ad1565b029392505050565b60006117e160ff841683611b2a565b80820281158282048414176105b7576105b7611ad1565b600080600060608486031215611c0657600080fd5b8351925060208401519150604084015190509250925092565b808201808211156105b7576105b7611ad1565b818103818111156105b7576105b7611ad1565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cab5784516001600160a01b031683529383019391830191600101611c86565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ce957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122094881bba768671def669034c20c206f60aa645f57cff18d1ee11b49443c2c3be64736f6c63430008130033