60c06040526019600b55600c805460ff19908116909155610e10600d55610708600f556011805462ffffff19166001908117909155601380549092161790553480156200004a575f80fd5b50604051620035f6380380620035f68339810160408190526200006d91620007fd565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506040805180820190915260098152684d6172696f20496e7560b81b6020820152600290620000dc908262000913565b506040805180820190915260058152644d4152494f60d81b602082015260039062000108908262000913565b5060c0810151600680546001600160a01b0390921661010002610100600160a81b0319909216919091179055600780546001600160a01b03191633179055737a250d5630b4cf539739df2c5dacb4c659f2488d6200016881600162000440565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001b1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001d79190620009db565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000223573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002499190620009db565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000294573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ba9190620009db565b6001600160a01b031660a0819052620002d590600162000440565b60a051620002e5906001620004b6565b6d14bddab3e51a57cff87a5000000060018190556008818155600a82905561271091620003129162000a12565b6200031e919062000a2c565b6009558151601581905560208301516016819055604084015160178190559162000349919062000a4c565b62000355919062000a4c565b601455606082015160198190556080830151601a81905560a0840151601b8190559162000383919062000a4c565b6200038f919062000a4c565b601855620003b0620003a85f546001600160a01b031690565b60016200051b565b620003bd3060016200051b565b600654620003db9061010090046001600160a01b031660016200051b565b620003f9620003f15f546001600160a01b031690565b600162000440565b6200040630600162000440565b600654620004249061010090046001600160a01b0316600162000440565b6200043833600154620005c260201b60201c565b505062000a83565b5f546001600160a01b031633146200048d5760405162461bcd60e51b815260206004820181905260248201525f80516020620035d683398151915260448201526064015b60405180910390fd5b6001600160a01b03919091165f9081526020805260409020805460ff1916911515919091179055565b6001600160a01b0382165f81815260216020526040808220805460ff1916851515908117909155600780546001600160a01b0319168517905590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b5f546001600160a01b03163314620005645760405162461bcd60e51b815260206004820181905260248201525f80516020620035d6833981519152604482015260640162000484565b6001600160a01b0382165f818152601f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166200061a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000484565b620006275f8383620006a8565b6001600160a01b0382165f908152600460205260409020546200064b908262000762565b6001600160a01b0383165f818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200069c9085815260200190565b60405180910390a35050565b60065461010090046001600160a01b031615801590620006d057506001600160a01b03831615155b156200075d576006546040516323b872dd60e01b81526001600160a01b038581166004830152848116602483015260448201849052610100909204909116906323b872dd906064016020604051808303815f875af115801562000735573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200075b919062000a62565b505b505050565b5f8062000770838562000a4c565b905083811015620007c45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000484565b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620007f8575f80fd5b919050565b5f60e082840312156200080e575f80fd5b60405160e081016001600160401b0381118282101715620008335762000833620007cd565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526200087c60c08401620007e1565b60c08201529392505050565b600181811c908216806200089d57607f821691505b602082108103620008bc57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200075d575f81815260208120601f850160051c81016020861015620008ea5750805b601f850160051c820191505b818110156200090b57828155600101620008f6565b505050505050565b81516001600160401b038111156200092f576200092f620007cd565b620009478162000940845462000888565b84620008c2565b602080601f8311600181146200097d575f8415620009655750858301515b5f19600386901b1c1916600185901b1785556200090b565b5f85815260208120601f198616915b82811015620009ad578886015182559484019460019091019084016200098c565b5085821015620009cb57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f60208284031215620009ec575f80fd5b620009f782620007e1565b9392505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620007c757620007c7620009fe565b5f8262000a4757634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620007c757620007c7620009fe565b5f6020828403121562000a73575f80fd5b81518015158114620007c4575f80fd5b60805160a051612acf62000b075f395f81816104c201528181610cc701528181611049015281816110e00152818161110b0152818161149c015281816120ae0152818161214c015261217701525f818161037e0152818161145e015281816123ed015281816124a4015281816124e00152818161254c01526125a80152612acf5ff3fe6080604052600436106102dc575f3560e01c80637571336a11610189578063bbc0c742116100d8578063dd62ed3e11610092578063f2fde38b1161006d578063f2fde38b14610869578063f637434214610888578063f8b45b051461089d578063fe72b27a146108b2575f80fd5b8063dd62ed3e146107fb578063e2f456051461083f578063f11a24d314610854575f80fd5b8063bbc0c74214610766578063c024666814610784578063c876d0b9146107a3578063c8c8ebe4146107bc578063cc2ffe7c146107d1578063d85ba063146107e6575f80fd5b80639ec22c0e11610143578063a457c2d71161011e578063a457c2d7146106e5578063a4c82a0014610704578063a9059cbb14610719578063b62496f514610738575f80fd5b80639ec22c0e146106a65780639fccce32146106bb578063a0d82dc5146106d0575f80fd5b80637571336a1461060f5780638a8c523c1461062e5780638da5cb5b1461064257806395d89b411461065e5780639a7a23d6146106725780639c3b4fdc14610691575f80fd5b8063313ce567116102455780636a486a8e116101ff57806370a08231116101da57806370a0823114610592578063715018a6146105c6578063730c1888146105dc578063751039fc146105fb575f80fd5b80636a486a8e146105495780636b2fb1241461055e5780636ddd171314610573575f80fd5b8063313ce56714610477578063395093511461049257806349bd5a5e146104b15780634a62bb65146104e45780634fbee193146104fd5780635c068a8c14610534575f80fd5b8063199ffc7211610296578063199ffc72146103eb5780631a8145bb1461040057806323b872dd1461041557806327c8f835146104345780632c3e486c146104495780632e82f1a01461045e575f80fd5b806306fdde03146102e7578063095ea7b31461031157806310d5de53146103405780631694505e1461036d57806318160ddd146103b8578063184c16c5146103d6575f80fd5b366102e357005b5f80fd5b3480156102f2575f80fd5b506102fb6108d1565b6040516103089190612624565b60405180910390f35b34801561031c575f80fd5b5061033061032b366004612686565b610961565b6040519015158152602001610308565b34801561034b575f80fd5b5061033061035a3660046126b0565b602080525f908152604090205460ff1681565b348015610378575f80fd5b506103a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610308565b3480156103c3575f80fd5b506001545b604051908152602001610308565b3480156103e1575f80fd5b506103c8600f5481565b3480156103f6575f80fd5b506103c8600b5481565b34801561040b575f80fd5b506103c8601d5481565b348015610420575f80fd5b5061033061042f3660046126cb565b610977565b34801561043f575f80fd5b506103a061dead81565b348015610454575f80fd5b506103c8600d5481565b348015610469575f80fd5b50600c546103309060ff1681565b348015610482575f80fd5b5060405160128152602001610308565b34801561049d575f80fd5b506103306104ac366004612686565b6109de565b3480156104bc575f80fd5b506103a07f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ef575f80fd5b506011546103309060ff1681565b348015610508575f80fd5b506103306105173660046126b0565b6001600160a01b03165f908152601f602052604090205460ff1690565b34801561053f575f80fd5b506103c860155481565b348015610554575f80fd5b506103c860185481565b348015610569575f80fd5b506103c860195481565b34801561057e575f80fd5b506011546103309062010000900460ff1681565b34801561059d575f80fd5b506103c86105ac3660046126b0565b6001600160a01b03165f9081526004602052604090205490565b3480156105d1575f80fd5b506105da610a13565b005b3480156105e7575f80fd5b506105da6105f6366004612716565b610a8d565b348015610606575f80fd5b50610330610bb5565b34801561061a575f80fd5b506105da61062936600461274c565b610bfb565b348015610639575f80fd5b506105da610c4d565b34801561064d575f80fd5b505f546001600160a01b03166103a0565b348015610669575f80fd5b506102fb610c8d565b34801561067d575f80fd5b506105da61068c36600461274c565b610c9c565b34801561069c575f80fd5b506103c860175481565b3480156106b1575f80fd5b506103c860105481565b3480156106c6575f80fd5b506103c8601e5481565b3480156106db575f80fd5b506103c8601b5481565b3480156106f0575f80fd5b506103306106ff366004612686565b610d7a565b34801561070f575f80fd5b506103c8600e5481565b348015610724575f80fd5b50610330610733366004612686565b610dc7565b348015610743575f80fd5b506103306107523660046126b0565b60216020525f908152604090205460ff1681565b348015610771575f80fd5b5060115461033090610100900460ff1681565b34801561078f575f80fd5b506105da61079e36600461274c565b610dd3565b3480156107ae575f80fd5b506013546103309060ff1681565b3480156107c7575f80fd5b506103c860085481565b3480156107dc575f80fd5b506103c8601c5481565b3480156107f1575f80fd5b506103c860145481565b348015610806575f80fd5b506103c8610815366004612783565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b34801561084a575f80fd5b506103c860095481565b34801561085f575f80fd5b506103c860165481565b348015610874575f80fd5b506105da6108833660046126b0565b610e5a565b348015610893575f80fd5b506103c8601a5481565b3480156108a8575f80fd5b506103c8600a5481565b3480156108bd575f80fd5b506103306108cc3660046127af565b610f41565b6060600280546108e0906127c6565b80601f016020809104026020016040519081016040528092919081815260200182805461090c906127c6565b80156109575780601f1061092e57610100808354040283529160200191610957565b820191905f5260205f20905b81548152906001019060200180831161093a57829003601f168201915b5050505050905090565b5f61096d3384846111ad565b5060015b92915050565b5f6109838484846112d1565b6109d484336109cf85604051806060016040528060288152602001612a4d602891396001600160a01b038a165f9081526005602090815260408083203384529091529020549190611b75565b6111ad565b5060019392505050565b335f8181526005602090815260408083206001600160a01b0387168452909152812054909161096d9185906109cf9086611bad565b5f546001600160a01b03163314610a455760405162461bcd60e51b8152600401610a3c906127fe565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ab65760405162461bcd60e51b8152600401610a3c906127fe565b610258831015610b245760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b6064820152608401610a3c565b6103e88211158015610b34575060015b610b995760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201526f747765656e20302520616e642031302560801b6064820152608401610a3c565b600d92909255600b55600c805460ff1916911515919091179055565b5f80546001600160a01b03163314610bdf5760405162461bcd60e51b8152600401610a3c906127fe565b506011805460ff19908116909155601380549091169055600190565b5f546001600160a01b03163314610c245760405162461bcd60e51b8152600401610a3c906127fe565b6001600160a01b03919091165f9081526020805260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610c765760405162461bcd60e51b8152600401610a3c906127fe565b6011805462ffff0019166201010017905542600e55565b6060600380546108e0906127c6565b5f546001600160a01b03163314610cc55760405162461bcd60e51b8152600401610a3c906127fe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610d6c5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610a3c565b610d768282611c12565b5050565b5f61096d33846109cf85604051806060016040528060258152602001612a7560259139335f9081526005602090815260408083206001600160a01b038d1684529091529020549190611b75565b5f61096d3384846112d1565b5f546001600160a01b03163314610dfc5760405162461bcd60e51b8152600401610a3c906127fe565b6001600160a01b0382165f818152601f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b5f546001600160a01b03163314610e835760405162461bcd60e51b8152600401610a3c906127fe565b6001600160a01b038116610ee85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a3c565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80546001600160a01b03163314610f6b5760405162461bcd60e51b8152600401610a3c906127fe565b600f54601054610f7b9190612847565b4211610fc95760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610a3c565b6103e882111561102e5760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b6064820152608401610a3c565b426010556040516370a0823160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201525f9030906370a0823190602401602060405180830381865afa158015611096573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ba919061285a565b90505f6110d36127106110cd8487611c77565b90611cf5565b90508015611108576111087f000000000000000000000000000000000000000000000000000000000000000061dead83611d36565b5f7f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611164575f80fd5b505af1158015611176573d5f803e3d5ffd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb92505f9150a1506001949350505050565b6001600160a01b03831661120f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a3c565b6001600160a01b0382166112705760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a3c565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166112f75760405162461bcd60e51b8152600401610a3c90612871565b6001600160a01b03821661131d5760405162461bcd60e51b8152600401610a3c906128b6565b805f036113345761132f83835f611d36565b505050565b60115460ff16156117d9575f546001600160a01b0384811691161480159061136957505f546001600160a01b03838116911614155b801561137d57506001600160a01b03821615155b801561139457506001600160a01b03821661dead14155b80156113a3575060065460ff16155b156117d957601154610100900460ff16611439576001600160a01b0383165f908152601f602052604090205460ff16806113f457506001600160a01b0382165f908152601f602052604090205460ff165b6114395760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a3c565b60135460ff161561157d575f546001600160a01b0383811691161480159061149357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b80156114d157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b1561157d57325f90815260126020526040902054431161156b5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610a3c565b325f9081526012602052604090204390555b6001600160a01b0383165f9081526021602052604090205460ff1680156115bb57506001600160a01b0382165f90815260208052604090205460ff16155b1561169e576008548111156116305760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610a3c565b600a546001600160a01b0383165f908152600460205260409020546116559083612847565b11156116995760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610a3c565b6117d9565b6001600160a01b0382165f9081526021602052604090205460ff1680156116dc57506001600160a01b0383165f90815260208052604090205460ff16155b15611752576008548111156116995760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610a3c565b6001600160a01b0382165f90815260208052604090205460ff166117d957600a546001600160a01b0383165f908152600460205260409020546117959083612847565b11156117d95760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610a3c565b305f9081526004602052604090205460095481108015908190611804575060115462010000900460ff165b8015611813575060065460ff16155b801561183757506001600160a01b0385165f9081526021602052604090205460ff16155b801561185b57506001600160a01b0385165f908152601f602052604090205460ff16155b801561187f57506001600160a01b0384165f908152601f602052604090205460ff16155b156118a4576006805460ff19166001179055611899611e4a565b6006805460ff191690555b60065460ff161580156118ce57506001600160a01b0384165f9081526021602052604090205460ff165b80156118dc5750600c5460ff165b80156118f75750600d54600e546118f39190612847565b4210155b801561191b57506001600160a01b0385165f908152601f602052604090205460ff16155b1561192a57611928612093565b505b6006546001600160a01b0386165f908152601f602052604090205460ff9182161591168061196f57506001600160a01b0385165f908152601f602052604090205460ff165b156119875761197f868686612218565b505050505050565b5f8115611b61576001600160a01b0386165f9081526021602052604090205460ff1680156119b657505f601854115b15611a6b576119d560646110cd60185488611c7790919063ffffffff16565b9050601854601a54826119e891906128f9565b6119f29190612910565b601d5f828254611a029190612847565b9091555050601854601b54611a1790836128f9565b611a219190612910565b601e5f828254611a319190612847565b9091555050601854601954611a4690836128f9565b611a509190612910565b601c5f828254611a609190612847565b90915550611b439050565b6001600160a01b0387165f9081526021602052604090205460ff168015611a9357505f601454115b15611b4357611ab260646110cd60145488611c7790919063ffffffff16565b905060145460165482611ac591906128f9565b611acf9190612910565b601d5f828254611adf9190612847565b9091555050601454601754611af490836128f9565b611afe9190612910565b601e5f828254611b0e9190612847565b9091555050601454601554611b2390836128f9565b611b2d9190612910565b601c5f828254611b3d9190612847565b90915550505b8015611b5457611b54873083611d36565b611b5e818661292f565b94505b611b6c878787611d36565b50505050505050565b5f8184841115611b985760405162461bcd60e51b8152600401610a3c9190612624565b505f611ba4848661292f565b95945050505050565b5f80611bb98385612847565b905083811015611c0b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a3c565b9392505050565b6001600160a01b0382165f81815260216020526040808220805460ff1916851515908117909155600780546001600160a01b0319168517905590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b5f825f03611c8657505f610971565b5f611c9183856128f9565b905082611c9e8583612910565b14611c0b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a3c565b5f611c0b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061227d565b6001600160a01b038316611d5c5760405162461bcd60e51b8152600401610a3c90612871565b6001600160a01b038216611d825760405162461bcd60e51b8152600401610a3c906128b6565b611d8d8383836122a9565b611dc981604051806060016040528060268152602001612a27602691396001600160a01b0386165f908152600460205260409020549190611b75565b6001600160a01b038085165f908152600460205260408082209390935590841681522054611df79082611bad565b6001600160a01b038084165f8181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112c49085815260200190565b305f9081526004602052604081205490505f601e54601c54601d54611e6f9190612847565b611e799190612847565b90505f821580611e87575081155b15611e9157505050565b600954611e9f90600a6128f9565b831115611eb757600954611eb490600a6128f9565b92505b5f600283601d5486611ec991906128f9565b611ed39190612910565b611edd9190612910565b90505f611eea8583612357565b905047611ef682612398565b5f611f014783612357565b90505f611f1d876110cd601c5485611c7790919063ffffffff16565b90505f611f39886110cd601e5486611c7790919063ffffffff16565b90505f81611f47848661292f565b611f51919061292f565b5f601d819055601c819055601e81905560065460405192935061010090046001600160a01b031691849181818185875af1925050503d805f8114611fb0576040519150601f19603f3d011682016040523d82523d5f602084013e611fb5565b606091505b50508098505087611fc4575f80fd5b5f87118015611fd257505f81115b1561202557611fe18782612546565b601d54604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6006546040516101009091046001600160a01b03169047905f81818185875af1925050503d805f8114612073576040519150601f19603f3d011682016040523d82523d5f602084013e612078565b606091505b50508098505087612087575f80fd5b50505050505050505050565b42600e556040516370a0823160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201525f90819030906370a0823190602401602060405180830381865afa1580156120fd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612121919061285a565b90505f61213f6127106110cd600b5485611c7790919063ffffffff16565b90508015612174576121747f000000000000000000000000000000000000000000000000000000000000000061dead83611d36565b5f7f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156121d0575f80fd5b505af11580156121e2573d5f803e3d5ffd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d92505f9150a16001935050505090565b61deac196001600160a01b03831601612272576007546001600160a01b03165f9081526004602052604081205461225090839061292f565b60075490915061226c906001600160a01b031661dead83611d36565b50505050565b61132f838383611d36565b5f818361229d5760405162461bcd60e51b8152600401610a3c9190612624565b505f611ba48486612910565b60065461010090046001600160a01b0316158015906122d057506001600160a01b03831615155b1561132f576006546040516323b872dd60e01b81526001600160a01b038581166004830152848116602483015260448201849052610100909204909116906323b872dd906064016020604051808303815f875af1158015612333573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226c9190612942565b5f611c0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b75565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106123cb576123cb61295d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612447573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246b9190612971565b8160018151811061247e5761247e61295d565b60200260200101906001600160a01b031690816001600160a01b0316815250506124c9307f0000000000000000000000000000000000000000000000000000000000000000846111ad565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061251d9085905f9086903090429060040161298c565b5f604051808303815f87803b158015612534575f80fd5b505af115801561197f573d5f803e3d5ffd5b612571307f0000000000000000000000000000000000000000000000000000000000000000846111ad565b60405163f305d71960e01b8152306004820152602481018390525f60448201819052606482015261dead60848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f305d71990839060c40160606040518083038185885af11580156125f8573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061261d91906129fb565b5050505050565b5f6020808352835180828501525f5b8181101561264f57858101830151858201604001528201612633565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114612683575f80fd5b50565b5f8060408385031215612697575f80fd5b82356126a28161266f565b946020939093013593505050565b5f602082840312156126c0575f80fd5b8135611c0b8161266f565b5f805f606084860312156126dd575f80fd5b83356126e88161266f565b925060208401356126f88161266f565b929592945050506040919091013590565b8015158114612683575f80fd5b5f805f60608486031215612728575f80fd5b8335925060208401359150604084013561274181612709565b809150509250925092565b5f806040838503121561275d575f80fd5b82356127688161266f565b9150602083013561277881612709565b809150509250929050565b5f8060408385031215612794575f80fd5b823561279f8161266f565b915060208301356127788161266f565b5f602082840312156127bf575f80fd5b5035919050565b600181811c908216806127da57607f821691505b6020821081036127f857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561097157610971612833565b5f6020828403121561286a575f80fd5b5051919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b808202811582820484141761097157610971612833565b5f8261292a57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561097157610971612833565b5f60208284031215612952575f80fd5b8151611c0b81612709565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612981575f80fd5b8151611c0b8161266f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156129da5784516001600160a01b0316835293830193918301916001016129b5565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215612a0d575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a33709cfbd74eeddafd6da0fb37bb6fbd938b2592395c3b3570790d504ebce9664736f6c634300081400334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f34ddbbc097e7af3e50041565f91e10238edfb1