0x6703782dace9d90000600955600a805461ffff191661010117905560c06040526005608081905264173539b7b760d91b60a09081526200004391600b919062000173565b50600d805460ff191690553480156200005b57600080fd5b50604080518082018252600e81526d496d6167696e617279204f6e657360901b602080830191825283518085019094526009845268494d4147494e41525960b81b908401528151919291620000b39160019162000173565b508051620000c990600290602084019062000173565b505050620000e6620000e06200011d60201b60201c565b62000121565b604051806080016040528060518152602001620023846051913980516200011691600c9160209091019062000173565b5062000256565b3390565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620001819062000219565b90600052602060002090601f016020900481019282620001a55760008555620001f0565b82601f10620001c057805160ff1916838001178555620001f0565b82800160010185558215620001f0579182015b82811115620001f0578251825591602001919060010190620001d3565b50620001fe92915062000202565b5090565b5b80821115620001fe576000815560010162000203565b600181811c908216806200022e57607f821691505b602082108114156200025057634e487b7160e01b600052602260045260246000fd5b50919050565b61211e80620002666000396000f3fe6080604052600436106101ae5760003560e01c8063715018a6116100eb578063b88d4fde1161008f578063f2fde38b11610061578063f2fde38b146104e2578063f4a0a52814610502578063fa2a94ef14610522578063fd9af71f1461053557005b8063b88d4fde14610443578063c002d23d14610463578063c87b56dd14610479578063e985e9c51461049957005b806390f94c65116100c857806390f94c65146103d557806395d89b41146103f45780639da3f8fd14610409578063a22cb4651461042357005b8063715018a61461038d57806381d40909146103a25780638da5cb5b146103b757005b80632d5537b01161015257806355f804b31161012f57806355f804b31461030a5780636352211e1461032a5780636c0360eb1461034a57806370a082311461035f57005b80632d5537b0146102c0578063396983f9146102d557806342842e0e146102ea57005b8063095ea7b31161018b578063095ea7b314610246578063160754c11461026657806322f3e2d41461028657806323b872dd146102a057005b806301ffc9a7146101b757806306fdde03146101ec578063081812fc1461020e57005b366101b557005b005b3480156101c357600080fd5b506101d76101d2366004611c48565b61054a565b60405190151581526020015b60405180910390f35b3480156101f857600080fd5b5061020161059c565b6040516101e39190611e34565b34801561021a57600080fd5b5061022e610229366004611ccb565b61062e565b6040516001600160a01b0390911681526020016101e3565b34801561025257600080fd5b506101b5610261366004611b41565b6106c8565b34801561027257600080fd5b506101b5610281366004611ce4565b6107de565b34801561029257600080fd5b50600d546101d79060ff1681565b3480156102ac57600080fd5b506101b56102bb366004611a52565b61088e565b3480156102cc57600080fd5b506102016108bf565b3480156102e157600080fd5b506101b561094d565b3480156102f657600080fd5b506101b5610305366004611a52565b610994565b34801561031657600080fd5b506101b5610325366004611c82565b6109af565b34801561033657600080fd5b5061022e610345366004611ccb565b6109f0565b34801561035657600080fd5b50610201610a67565b34801561036b57600080fd5b5061037f61037a3660046119fd565b610a76565b6040519081526020016101e3565b34801561039957600080fd5b506101b5610afd565b3480156103ae57600080fd5b506101b5610b33565b3480156103c357600080fd5b506008546001600160a01b031661022e565b3480156103e157600080fd5b50600a546101d790610100900460ff1681565b34801561040057600080fd5b50610201610b71565b34801561041557600080fd5b50600a546101d79060ff1681565b34801561042f57600080fd5b506101b561043e366004611b0a565b610b80565b34801561044f57600080fd5b506101b561045e366004611a8e565b610c5a565b34801561046f57600080fd5b5061037f60095481565b34801561048557600080fd5b50610201610494366004611ccb565b610c92565b3480156104a557600080fd5b506101d76104b4366004611a1f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b3480156104ee57600080fd5b506101b56104fd3660046119fd565b610d4c565b34801561050e57600080fd5b506101b561051d366004611ccb565b610de7565b6101b5610530366004611b6b565b610e16565b34801561054157600080fd5b506101b5611003565b60006001600160e01b031982166380ac58cd60e01b148061057b57506001600160e01b03198216635b5e139f60e01b145b8061059657506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546105ab90612002565b80601f01602080910402602001604051908101604052809291908181526020018280546105d790612002565b80156106245780601f106105f957610100808354040283529160200191610624565b820191906000526020600020905b81548152906001019060200180831161060757829003601f168201915b5050505050905090565b6000818152600360205260408120546001600160a01b03166106ac5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b60006106d3826109f0565b9050806001600160a01b0316836001600160a01b031614156107415760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106a3565b336001600160a01b038216148061075d575061075d81336104b4565b6107cf5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106a3565b6107d98383611041565b505050565b6008546001600160a01b031633146108085760405162461bcd60e51b81526004016106a390611e99565b478211156108585760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420746869732062616c616e63650000000000000060448201526064016106a3565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156107d9573d6000803e3d6000fd5b61089833826110af565b6108b45760405162461bcd60e51b81526004016106a390611ece565b6107d98383836111a6565b600b80546108cc90612002565b80601f01602080910402602001604051908101604052809291908181526020018280546108f890612002565b80156109455780601f1061091a57610100808354040283529160200191610945565b820191906000526020600020905b81548152906001019060200180831161092857829003601f168201915b505050505081565b6008546001600160a01b031633146109775760405162461bcd60e51b81526004016106a390611e99565b600a805461ff001981166101009182900460ff1615909102179055565b6107d983838360405180602001604052806000815250610c5a565b6008546001600160a01b031633146109d95760405162461bcd60e51b81526004016106a390611e99565b80516109ec90600c906020840190611877565b5050565b6000818152600360205260408120546001600160a01b0316806105965760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106a3565b6060600c80546105ab90612002565b60006001600160a01b038216610ae15760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016106a3565b506001600160a01b031660009081526004602052604090205490565b6008546001600160a01b03163314610b275760405162461bcd60e51b81526004016106a390611e99565b610b31600061131c565b565b6008546001600160a01b03163314610b5d5760405162461bcd60e51b81526004016106a390611e99565b600a805460ff19811660ff90911615179055565b6060600280546105ab90612002565b6007546001600160a01b031663314de88f30336040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610bdb57600080fd5b505af1158015610bef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c139190611c2b565b610c4f5760405162461bcd60e51b815260206004820152600d60248201526c14da59db9cc8125b9d985b1a59609a1b60448201526064016106a3565b6109ec33838361136e565b610c6433836110af565b610c805760405162461bcd60e51b81526004016106a390611ece565b610c8c8484848461143d565b50505050565b6000818152600360205260409020546060906001600160a01b0316610d115760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016106a3565b610d19610a67565b610d2283611470565b600b604051602001610d3693929190611d33565b6040516020818303038152906040529050919050565b6008546001600160a01b03163314610d765760405162461bcd60e51b81526004016106a390611e99565b6001600160a01b038116610ddb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a3565b610de48161131c565b50565b6008546001600160a01b03163314610e115760405162461bcd60e51b81526004016106a390611e99565b600955565b600a5460ff16610e685760405162461bcd60e51b815260206004820152601b60248201527f5075626c6963204d696e7420686173206e6f742073746172746564000000000060448201526064016106a3565b6001815111610f5457600d5460ff1615610ef25781600081518110610e8f57610e8f612098565b6020026020010151600954610ea49190611fa0565b3414610ef25760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420457468657220616d6f756e742073656e742e00000000000060448201526064016106a3565b600a54610100900460ff1615610f5457600582600081518110610f1757610f17612098565b6020026020010151610f299190611f8c565b82600081518110610f3c57610f3c612098565b60200260200101818151610f509190611f74565b9052505b60005b81518110156107d957600182511115610fad57610fa8838281518110610f7f57610f7f612098565b6020026020010151838381518110610f9957610f99612098565b6020026020010151600061156e565b610ff1565b610ff183600081518110610fc357610fc3612098565b6020026020010151838381518110610fdd57610fdd612098565b6020026020010151610fec3390565b61156e565b80610ffb8161203d565b915050610f57565b6008546001600160a01b0316331461102d5760405162461bcd60e51b81526004016106a390611e99565b600d805460ff19811660ff90911615179055565b600081815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611076826109f0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600360205260408120546001600160a01b03166111285760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106a3565b6000611133836109f0565b9050806001600160a01b0316846001600160a01b0316148061116e5750836001600160a01b03166111638461062e565b6001600160a01b0316145b8061119e57506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166111b9826109f0565b6001600160a01b0316146112215760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016106a3565b6001600160a01b0382166112835760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106a3565b61128e600082611041565b6001600160a01b03831660009081526004602052604081208054600192906112b7908490611fbf565b90915550506001600160a01b03821660009081526004602052604081208054600192906112e5908490611f74565b9091555050600081815260036020526040902080546001600160a01b0319166001600160a01b0384161790556107d98383836115d6565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156113d05760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106a3565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6114488484846111a6565b6114548484848461161c565b610c8c5760405162461bcd60e51b81526004016106a390611e47565b6060816114945750506040805180820190915260018152600360fc1b602082015290565b8160005b81156114be57806114a88161203d565b91506114b79050600a83611f8c565b9150611498565b60008167ffffffffffffffff8111156114d9576114d96120ae565b6040519080825280601f01601f191660200182016040528015611503576020820181803683370190505b5090505b841561119e57611518600183611fbf565b9150611525600a86612058565b611530906030611f74565b60f81b81838151811061154557611545612098565b60200101906001600160f81b031916908160001a905350611567600a86611f8c565b9450611507565b6001600160a01b038116156115cf5760005b83811015610c8c57600160008082825461159a9190611f74565b925050819055506115bd8360005460405180602001604052806000815250611729565b806115c78161203d565b915050611580565b6107d98183855b80826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006001600160a01b0384163b1561171e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611660903390899088908890600401611df7565b602060405180830381600087803b15801561167a57600080fd5b505af19250505080156116aa575060408051601f3d908101601f191682019092526116a791810190611c65565b60015b611704573d8080156116d8576040519150601f19603f3d011682016040523d82523d6000602084013e6116dd565b606091505b5080516116fc5760405162461bcd60e51b81526004016106a390611e47565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061119e565b506001949350505050565b611733838361175c565b611740600084848461161c565b6107d95760405162461bcd60e51b81526004016106a390611e47565b6001600160a01b0382166117b25760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106a3565b6000818152600360205260409020546001600160a01b0316156118175760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106a3565b6001600160a01b0382166000908152600460205260408120805460019290611840908490611f74565b9091555050600081815260036020526040812080546001600160a01b0319166001600160a01b0385161790556109ec9083836115d6565b82805461188390612002565b90600052602060002090601f0160209004810192826118a557600085556118eb565b82601f106118be57805160ff19168380011785556118eb565b828001600101855582156118eb579182015b828111156118eb5782518255916020019190600101906118d0565b506118f79291506118fb565b5090565b5b808211156118f757600081556001016118fc565b600067ffffffffffffffff83111561192a5761192a6120ae565b61193d601f8401601f1916602001611f1f565b905082815283838301111561195157600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b038116811461197f57600080fd5b919050565b600082601f83011261199557600080fd5b813560206119aa6119a583611f50565b611f1f565b80838252828201915082860187848660051b89010111156119ca57600080fd5b60005b858110156119f0576119de82611968565b845292840192908401906001016119cd565b5090979650505050505050565b600060208284031215611a0f57600080fd5b611a1882611968565b9392505050565b60008060408385031215611a3257600080fd5b611a3b83611968565b9150611a4960208401611968565b90509250929050565b600080600060608486031215611a6757600080fd5b611a7084611968565b9250611a7e60208501611968565b9150604084013590509250925092565b60008060008060808587031215611aa457600080fd5b611aad85611968565b9350611abb60208601611968565b925060408501359150606085013567ffffffffffffffff811115611ade57600080fd5b8501601f81018713611aef57600080fd5b611afe87823560208401611910565b91505092959194509250565b60008060408385031215611b1d57600080fd5b611b2683611968565b91506020830135611b36816120c4565b809150509250929050565b60008060408385031215611b5457600080fd5b611b5d83611968565b946020939093013593505050565b60008060408385031215611b7e57600080fd5b823567ffffffffffffffff80821115611b9657600080fd5b818501915085601f830112611baa57600080fd5b81356020611bba6119a583611f50565b8083825282820191508286018a848660051b8901011115611bda57600080fd5b600096505b84871015611bfd578035835260019690960195918301918301611bdf565b5096505086013592505080821115611c1457600080fd5b50611c2185828601611984565b9150509250929050565b600060208284031215611c3d57600080fd5b8151611a18816120c4565b600060208284031215611c5a57600080fd5b8135611a18816120d2565b600060208284031215611c7757600080fd5b8151611a18816120d2565b600060208284031215611c9457600080fd5b813567ffffffffffffffff811115611cab57600080fd5b8201601f81018413611cbc57600080fd5b61119e84823560208401611910565b600060208284031215611cdd57600080fd5b5035919050565b60008060408385031215611cf757600080fd5b82359150611a4960208401611968565b60008151808452611d1f816020860160208601611fd6565b601f01601f19169290920160200192915050565b600084516020611d468285838a01611fd6565b855191840191611d598184848a01611fd6565b8554920191600090600181811c9080831680611d7657607f831692505b858310811415611d9457634e487b7160e01b85526022600452602485fd5b808015611da85760018114611db957611de6565b60ff19851688528388019550611de6565b60008b81526020902060005b85811015611dde5781548a820152908401908801611dc5565b505083880195505b50939b9a5050505050505050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611e2a90830184611d07565b9695505050505050565b602081526000611a186020830184611d07565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f4857611f486120ae565b604052919050565b600067ffffffffffffffff821115611f6a57611f6a6120ae565b5060051b60200190565b60008219821115611f8757611f8761206c565b500190565b600082611f9b57611f9b612082565b500490565b6000816000190483118215151615611fba57611fba61206c565b500290565b600082821015611fd157611fd161206c565b500390565b60005b83811015611ff1578181015183820152602001611fd9565b83811115610c8c5750506000910152565b600181811c9082168061201657607f821691505b6020821081141561203757634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156120515761205161206c565b5060010190565b60008261206757612067612082565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8015158114610de457600080fd5b6001600160e01b031981168114610de457600080fdfea2646970667358221220920b49b943d5952bc46766c19841a9462d68f88055a9ccac4c65c2d3345c708864736f6c6343000807003368747470733a2f2f6d657461732e6d7970696e6174612e636c6f75642f697066732f516d59356737553243534b3738594e524741366e767672445a714c524a63385671456b67645853565777325a37482f