0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638a8f12791161011a578063ae0b51df116100ad578063dc9055b21161007c578063dc9055b21461043d578063dd62ed3e14610450578063f2fde38b14610463578063f3ae241514610476578063fdff9b4d146104a257600080fd5b8063ae0b51df146103e4578063b0f37f41146103f7578063c884ef831461040a578063da73ff151461042a57600080fd5b8063a2309ff8116100e9578063a2309ff8146103a2578063a457c2d7146103ab578063a9059cbb146103be578063add5a4fa146103d157600080fd5b80638a8f1279146103595780638da5cb5b1461036c57806392929a091461038757806395d89b411461039a57600080fd5b806336bc89ad1161019257806370a082311161016157806370a0823114610302578063715018a61461032b57806379cc679014610333578063881d603e1461034657600080fd5b806336bc89ad1461029e57806339509351146102c75780633bdcc923146102da57806342966c68146102ef57600080fd5b806323b872dd116101ce57806323b872dd1461025c5780632866ed211461026f578063313ce5671461027c57806332cb6b0c1461028b57600080fd5b806306fdde0314610200578063095ea7b31461021e57806318160ddd1461024157806320f0372514610253575b600080fd5b6102086104c5565b60405161021591906116dc565b60405180910390f35b61023161022c366004611522565b610557565b6040519015158152602001610215565b6002545b604051908152602001610215565b61024560075481565b61023161026a3660046114e6565b610571565b6008546102319060ff1681565b60405160128152602001610215565b6102456b204fce5e3e2502611000000081565b6102456102ac366004611491565b6001600160a01b031660009081526009602052604090205490565b6102316102d5366004611522565b610595565b6102ed6102e83660046115a6565b6105b7565b005b6102ed6102fd366004611688565b6106d6565b610245610310366004611491565b6001600160a01b031660009081526020819052604090205490565b6102ed6106e3565b6102ed610341366004611522565b610719565b6102ed610354366004611688565b610732565b6102ed610367366004611522565b6107c4565b6005546040516001600160a01b039091168152602001610215565b6102ed61039536600461166d565b6108b1565b6102086108ee565b61024560065481565b6102316103b9366004611522565b6108fd565b6102316103cc366004611522565b610978565b6102ed6103df366004611522565b610986565b6102ed6103f23660046116a1565b6109b0565b61023161040536600461154c565b610b7e565b610245610418366004611491565b60096020526000908152604090205481565b610245610438366004611522565b610bd3565b6102ed61044b366004611688565b610c1a565b61024561045e3660046114b3565b610c6e565b6102ed610471366004611491565b610c99565b610231610484366004611491565b6001600160a01b03166000908152600a602052604090205460ff1690565b6102316104b0366004611491565b600a6020526000908152604090205460ff1681565b6060600380546104d4906118f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610500906118f4565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b5050505050905090565b600033610565818585610d31565b60019150505b92915050565b60003361057f858285610e55565b61058a858585610ec9565b506001949350505050565b6000336105658185856105a88383610c6e565b6105b291906117bb565b610d31565b6005546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e190611731565b60405180910390fd5b80518251146106515760405162461bcd60e51b815260206004820152602d60248201527f61646472657373657320646f6573206e6f74206d6174636820616c6c6f77656460448201526c0acc2d8eacae640d8cadccee8d609b1b60648201526084016105e1565b60005b82518110156106d15781818151811061066f5761066f611960565b6020026020010151600a600085848151811061068d5761068d611960565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106c98161192f565b915050610654565b505050565b6106e03382611097565b50565b6005546001600160a01b0316331461070d5760405162461bcd60e51b81526004016105e190611731565b61071760006111e5565b565b610724823383610e55565b61072e8282611097565b5050565b6005546001600160a01b0316331461075c5760405162461bcd60e51b81526004016105e190611731565b6007548114156107bf5760405162461bcd60e51b815260206004820152602860248201527f6d65726b6c65526f6f74206973207468652073616d652061732070726576696f60448201526775732076616c756560c01b60648201526084016105e1565b600755565b336000908152600a602052604090205460ff166108185760405162461bcd60e51b815260206004820152601260248201527110d85b1b195c881b9bdd08185b1b1bddd95960721b60448201526064016105e1565b6b204fce5e3e250261100000008160065461083391906117bb565b11156108815760405162461bcd60e51b815260206004820152601e60248201527f5265717565737420686967686572207468616e206d617820737570706c79000060448201526064016105e1565b8060065461088f91906117bb565b60065561072e826108a26012600a611816565b6108ac90846118be565b611237565b6005546001600160a01b031633146108db5760405162461bcd60e51b81526004016105e190611731565b6008805460ff1916911515919091179055565b6060600480546104d4906118f4565b6000338161090b8286610c6e565b90508381101561096b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105e1565b61058a8286868403610d31565b600033610565818585610ec9565b6005546001600160a01b031633146108185760405162461bcd60e51b81526004016105e190611731565b60085460ff166109f65760405162461bcd60e51b815260206004820152601160248201527010db185a5b481b9bdd08195b98589b1959607a1b60448201526064016105e1565b610a0233848484610b7e565b610a4e5760405162461bcd60e51b815260206004820152601d60248201527f4661696c656420616c6c6f77616e636520766572696669636174696f6e00000060448201526064016105e1565b336000908152600960205260409020548390610a6b9086906117bb565b1115610ab95760405162461bcd60e51b815260206004820152601d60248201527f5265717565737420686967686572207468616e20616c6c6f77616e636500000060448201526064016105e1565b6b204fce5e3e2502611000000084600654610ad491906117bb565b1115610b225760405162461bcd60e51b815260206004820152601e60248201527f5265717565737420686967686572207468616e206d617820737570706c79000060448201526064016105e1565b33600090815260096020526040902054610b3d9085906117bb565b33600090815260096020526040902055600654610b5b9085906117bb565b600655610b7833610b6e6012600a611816565b6108ac90876118be565b50505050565b6000610bca838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506007549150610bc590508888610bd3565b611316565b95945050505050565b6040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260009060540160405160208183030381529060405280519060200120905092915050565b336000908152600a602052604090205460ff1661075c5760405162461bcd60e51b815260206004820152601260248201527110d85b1b195c881b9bdd08185b1b1bddd95960721b60448201526064016105e1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6005546001600160a01b03163314610cc35760405162461bcd60e51b81526004016105e190611731565b6001600160a01b038116610d285760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e1565b6106e0816111e5565b6001600160a01b038316610d935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e1565b6001600160a01b038216610df45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610e618484610c6e565b90506000198114610b785781811015610ebc5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105e1565b610b788484848403610d31565b6001600160a01b038316610f2d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e1565b6001600160a01b038216610f8f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e1565b6001600160a01b038316600090815260208190526040902054818110156110075760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105e1565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061103e9084906117bb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161108a91815260200190565b60405180910390a3610b78565b6001600160a01b0382166110f75760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105e1565b6001600160a01b0382166000908152602081905260409020548181101561116b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105e1565b6001600160a01b038316600090815260208190526040812083830390556002805484929061119a9084906118dd565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821661128d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105e1565b806002600082825461129f91906117bb565b90915550506001600160a01b038216600090815260208190526040812080548392906112cc9084906117bb565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600082611323858461132c565b14949350505050565b600081815b845181101561139857600085828151811061134e5761134e611960565b602002602001015190508083116113745760008381526020829052604090209250611385565b600081815260208490526040902092505b50806113908161192f565b915050611331565b509392505050565b80356001600160a01b03811681146113b757600080fd5b919050565b600082601f8301126113cd57600080fd5b813560206113e26113dd83611797565b611766565b80838252828201915082860187848660051b890101111561140257600080fd5b60005b858110156114285761141682611481565b84529284019290840190600101611405565b5090979650505050505050565b60008083601f84011261144757600080fd5b50813567ffffffffffffffff81111561145f57600080fd5b6020830191508360208260051b850101111561147a57600080fd5b9250929050565b803580151581146113b757600080fd5b6000602082840312156114a357600080fd5b6114ac826113a0565b9392505050565b600080604083850312156114c657600080fd5b6114cf836113a0565b91506114dd602084016113a0565b90509250929050565b6000806000606084860312156114fb57600080fd5b611504846113a0565b9250611512602085016113a0565b9150604084013590509250925092565b6000806040838503121561153557600080fd5b61153e836113a0565b946020939093013593505050565b6000806000806060858703121561156257600080fd5b61156b856113a0565b935060208501359250604085013567ffffffffffffffff81111561158e57600080fd5b61159a87828801611435565b95989497509550505050565b600080604083850312156115b957600080fd5b823567ffffffffffffffff808211156115d157600080fd5b818501915085601f8301126115e557600080fd5b813560206115f56113dd83611797565b8083825282820191508286018a848660051b890101111561161557600080fd5b600096505b8487101561163f5761162b816113a0565b83526001969096019591830191830161161a565b509650508601359250508082111561165657600080fd5b50611663858286016113bc565b9150509250929050565b60006020828403121561167f57600080fd5b6114ac82611481565b60006020828403121561169a57600080fd5b5035919050565b600080600080606085870312156116b757600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561158e57600080fd5b600060208083528351808285015260005b81811015611709578581018301518582016040015282016116ed565b8181111561171b576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff8111828210171561178f5761178f611976565b604052919050565b600067ffffffffffffffff8211156117b1576117b1611976565b5060051b60200190565b600082198211156117ce576117ce61194a565b500190565b600181815b8085111561180e5781600019048211156117f4576117f461194a565b8085161561180157918102915b93841c93908002906117d8565b509250929050565b60006114ac838360008261182c5750600161056b565b816118395750600061056b565b816001811461184f576002811461185957611875565b600191505061056b565b60ff84111561186a5761186a61194a565b50506001821b61056b565b5060208310610133831016604e8410600b8410161715611898575081810a61056b565b6118a283836117d3565b80600019048211156118b6576118b661194a565b029392505050565b60008160001904831182151516156118d8576118d861194a565b500290565b6000828210156118ef576118ef61194a565b500390565b600181811c9082168061190857607f821691505b6020821081141561192957634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156119435761194361194a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122019ac3803fdedc1d55b4c1a23dc6ccbf7ccdeddd13546c83dbc36536fdc74b29564736f6c63430008070033
0x60806040526008805460ff191690553480156200001b57600080fd5b5060405162001c0538038062001c058339810160408190526200003e91620001dc565b604080518082018252601681527f50726f6a656374204461726b2045796520546f6b656e000000000000000000006020808301918252835180850190945260048452634445594560e01b9084015281519192916200009f9160039162000136565b508051620000b590600490602084019062000136565b505050620000d2620000cc620000e060201b60201c565b620000e4565b600755600060065562000233565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200014490620001f6565b90600052602060002090601f016020900481019282620001685760008555620001b3565b82601f106200018357805160ff1916838001178555620001b3565b82800160010185558215620001b3579182015b82811115620001b357825182559160200191906001019062000196565b50620001c1929150620001c5565b5090565b5b80821115620001c15760008155600101620001c6565b600060208284031215620001ef57600080fd5b5051919050565b600181811c908216806200020b57607f821691505b602082108114156200022d57634e487b7160e01b600052602260045260246000fd5b50919050565b6119c280620002436000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638a8f12791161011a578063ae0b51df116100ad578063dc9055b21161007c578063dc9055b21461043d578063dd62ed3e14610450578063f2fde38b14610463578063f3ae241514610476578063fdff9b4d146104a257600080fd5b8063ae0b51df146103e4578063b0f37f41146103f7578063c884ef831461040a578063da73ff151461042a57600080fd5b8063a2309ff8116100e9578063a2309ff8146103a2578063a457c2d7146103ab578063a9059cbb146103be578063add5a4fa146103d157600080fd5b80638a8f1279146103595780638da5cb5b1461036c57806392929a091461038757806395d89b411461039a57600080fd5b806336bc89ad1161019257806370a082311161016157806370a0823114610302578063715018a61461032b57806379cc679014610333578063881d603e1461034657600080fd5b806336bc89ad1461029e57806339509351146102c75780633bdcc923146102da57806342966c68146102ef57600080fd5b806323b872dd116101ce57806323b872dd1461025c5780632866ed211461026f578063313ce5671461027c57806332cb6b0c1461028b57600080fd5b806306fdde0314610200578063095ea7b31461021e57806318160ddd1461024157806320f0372514610253575b600080fd5b6102086104c5565b60405161021591906116dc565b60405180910390f35b61023161022c366004611522565b610557565b6040519015158152602001610215565b6002545b604051908152602001610215565b61024560075481565b61023161026a3660046114e6565b610571565b6008546102319060ff1681565b60405160128152602001610215565b6102456b204fce5e3e2502611000000081565b6102456102ac366004611491565b6001600160a01b031660009081526009602052604090205490565b6102316102d5366004611522565b610595565b6102ed6102e83660046115a6565b6105b7565b005b6102ed6102fd366004611688565b6106d6565b610245610310366004611491565b6001600160a01b031660009081526020819052604090205490565b6102ed6106e3565b6102ed610341366004611522565b610719565b6102ed610354366004611688565b610732565b6102ed610367366004611522565b6107c4565b6005546040516001600160a01b039091168152602001610215565b6102ed61039536600461166d565b6108b1565b6102086108ee565b61024560065481565b6102316103b9366004611522565b6108fd565b6102316103cc366004611522565b610978565b6102ed6103df366004611522565b610986565b6102ed6103f23660046116a1565b6109b0565b61023161040536600461154c565b610b7e565b610245610418366004611491565b60096020526000908152604090205481565b610245610438366004611522565b610bd3565b6102ed61044b366004611688565b610c1a565b61024561045e3660046114b3565b610c6e565b6102ed610471366004611491565b610c99565b610231610484366004611491565b6001600160a01b03166000908152600a602052604090205460ff1690565b6102316104b0366004611491565b600a6020526000908152604090205460ff1681565b6060600380546104d4906118f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610500906118f4565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b5050505050905090565b600033610565818585610d31565b60019150505b92915050565b60003361057f858285610e55565b61058a858585610ec9565b506001949350505050565b6000336105658185856105a88383610c6e565b6105b291906117bb565b610d31565b6005546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e190611731565b60405180910390fd5b80518251146106515760405162461bcd60e51b815260206004820152602d60248201527f61646472657373657320646f6573206e6f74206d6174636820616c6c6f77656460448201526c0acc2d8eacae640d8cadccee8d609b1b60648201526084016105e1565b60005b82518110156106d15781818151811061066f5761066f611960565b6020026020010151600a600085848151811061068d5761068d611960565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106c98161192f565b915050610654565b505050565b6106e03382611097565b50565b6005546001600160a01b0316331461070d5760405162461bcd60e51b81526004016105e190611731565b61071760006111e5565b565b610724823383610e55565b61072e8282611097565b5050565b6005546001600160a01b0316331461075c5760405162461bcd60e51b81526004016105e190611731565b6007548114156107bf5760405162461bcd60e51b815260206004820152602860248201527f6d65726b6c65526f6f74206973207468652073616d652061732070726576696f60448201526775732076616c756560c01b60648201526084016105e1565b600755565b336000908152600a602052604090205460ff166108185760405162461bcd60e51b815260206004820152601260248201527110d85b1b195c881b9bdd08185b1b1bddd95960721b60448201526064016105e1565b6b204fce5e3e250261100000008160065461083391906117bb565b11156108815760405162461bcd60e51b815260206004820152601e60248201527f5265717565737420686967686572207468616e206d617820737570706c79000060448201526064016105e1565b8060065461088f91906117bb565b60065561072e826108a26012600a611816565b6108ac90846118be565b611237565b6005546001600160a01b031633146108db5760405162461bcd60e51b81526004016105e190611731565b6008805460ff1916911515919091179055565b6060600480546104d4906118f4565b6000338161090b8286610c6e565b90508381101561096b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105e1565b61058a8286868403610d31565b600033610565818585610ec9565b6005546001600160a01b031633146108185760405162461bcd60e51b81526004016105e190611731565b60085460ff166109f65760405162461bcd60e51b815260206004820152601160248201527010db185a5b481b9bdd08195b98589b1959607a1b60448201526064016105e1565b610a0233848484610b7e565b610a4e5760405162461bcd60e51b815260206004820152601d60248201527f4661696c656420616c6c6f77616e636520766572696669636174696f6e00000060448201526064016105e1565b336000908152600960205260409020548390610a6b9086906117bb565b1115610ab95760405162461bcd60e51b815260206004820152601d60248201527f5265717565737420686967686572207468616e20616c6c6f77616e636500000060448201526064016105e1565b6b204fce5e3e2502611000000084600654610ad491906117bb565b1115610b225760405162461bcd60e51b815260206004820152601e60248201527f5265717565737420686967686572207468616e206d617820737570706c79000060448201526064016105e1565b33600090815260096020526040902054610b3d9085906117bb565b33600090815260096020526040902055600654610b5b9085906117bb565b600655610b7833610b6e6012600a611816565b6108ac90876118be565b50505050565b6000610bca838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506007549150610bc590508888610bd3565b611316565b95945050505050565b6040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260009060540160405160208183030381529060405280519060200120905092915050565b336000908152600a602052604090205460ff1661075c5760405162461bcd60e51b815260206004820152601260248201527110d85b1b195c881b9bdd08185b1b1bddd95960721b60448201526064016105e1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6005546001600160a01b03163314610cc35760405162461bcd60e51b81526004016105e190611731565b6001600160a01b038116610d285760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e1565b6106e0816111e5565b6001600160a01b038316610d935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e1565b6001600160a01b038216610df45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610e618484610c6e565b90506000198114610b785781811015610ebc5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105e1565b610b788484848403610d31565b6001600160a01b038316610f2d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e1565b6001600160a01b038216610f8f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e1565b6001600160a01b038316600090815260208190526040902054818110156110075760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105e1565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061103e9084906117bb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161108a91815260200190565b60405180910390a3610b78565b6001600160a01b0382166110f75760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105e1565b6001600160a01b0382166000908152602081905260409020548181101561116b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105e1565b6001600160a01b038316600090815260208190526040812083830390556002805484929061119a9084906118dd565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821661128d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105e1565b806002600082825461129f91906117bb565b90915550506001600160a01b038216600090815260208190526040812080548392906112cc9084906117bb565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600082611323858461132c565b14949350505050565b600081815b845181101561139857600085828151811061134e5761134e611960565b602002602001015190508083116113745760008381526020829052604090209250611385565b600081815260208490526040902092505b50806113908161192f565b915050611331565b509392505050565b80356001600160a01b03811681146113b757600080fd5b919050565b600082601f8301126113cd57600080fd5b813560206113e26113dd83611797565b611766565b80838252828201915082860187848660051b890101111561140257600080fd5b60005b858110156114285761141682611481565b84529284019290840190600101611405565b5090979650505050505050565b60008083601f84011261144757600080fd5b50813567ffffffffffffffff81111561145f57600080fd5b6020830191508360208260051b850101111561147a57600080fd5b9250929050565b803580151581146113b757600080fd5b6000602082840312156114a357600080fd5b6114ac826113a0565b9392505050565b600080604083850312156114c657600080fd5b6114cf836113a0565b91506114dd602084016113a0565b90509250929050565b6000806000606084860312156114fb57600080fd5b611504846113a0565b9250611512602085016113a0565b9150604084013590509250925092565b6000806040838503121561153557600080fd5b61153e836113a0565b946020939093013593505050565b6000806000806060858703121561156257600080fd5b61156b856113a0565b935060208501359250604085013567ffffffffffffffff81111561158e57600080fd5b61159a87828801611435565b95989497509550505050565b600080604083850312156115b957600080fd5b823567ffffffffffffffff808211156115d157600080fd5b818501915085601f8301126115e557600080fd5b813560206115f56113dd83611797565b8083825282820191508286018a848660051b890101111561161557600080fd5b600096505b8487101561163f5761162b816113a0565b83526001969096019591830191830161161a565b509650508601359250508082111561165657600080fd5b50611663858286016113bc565b9150509250929050565b60006020828403121561167f57600080fd5b6114ac82611481565b60006020828403121561169a57600080fd5b5035919050565b600080600080606085870312156116b757600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561158e57600080fd5b600060208083528351808285015260005b81811015611709578581018301518582016040015282016116ed565b8181111561171b576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff8111828210171561178f5761178f611976565b604052919050565b600067ffffffffffffffff8211156117b1576117b1611976565b5060051b60200190565b600082198211156117ce576117ce61194a565b500190565b600181815b8085111561180e5781600019048211156117f4576117f461194a565b8085161561180157918102915b93841c93908002906117d8565b509250929050565b60006114ac838360008261182c5750600161056b565b816118395750600061056b565b816001811461184f576002811461185957611875565b600191505061056b565b60ff84111561186a5761186a61194a565b50506001821b61056b565b5060208310610133831016604e8410600b8410161715611898575081810a61056b565b6118a283836117d3565b80600019048211156118b6576118b661194a565b029392505050565b60008160001904831182151516156118d8576118d861194a565b500290565b6000828210156118ef576118ef61194a565b500390565b600181811c9082168061190857607f821691505b6020821081141561192957634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156119435761194361194a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122019ac3803fdedc1d55b4c1a23dc6ccbf7ccdeddd13546c83dbc36536fdc74b29564736f6c63430008070033ab1330d92c447082ec9d14f32ff45c9a6e5b1109d34520d85cba9e5e10f26b32