0x60c06040526005608090815264173539b7b760d91b60a052600c9062000026908262000287565b50662386f26fc10000600e55612710600f5560146010819055601155601280546001600160b81b031916769c7a67775d8746685ff1a4a1ada6a836af0aea5d0001001790553480156200007857600080fd5b5060405162003abc38038062003abc8339810160408190526200009b9162000402565b83836000620000ab838262000287565b506001620000ba828262000287565b505050620000d7620000d1620000f760201b60201c565b620000fb565b620000e2826200014d565b620000ed8162000169565b50505050620004bb565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6200015762000181565b600b62000165828262000287565b5050565b6200017362000181565b600d62000165828262000287565b600a546001600160a01b03163314620001e05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200020d57607f821691505b6020821081036200022e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200028257600081815260208120601f850160051c810160208610156200025d5750805b601f850160051c820191505b818110156200027e5782815560010162000269565b5050505b505050565b81516001600160401b03811115620002a357620002a3620001e2565b620002bb81620002b48454620001f8565b8462000234565b602080601f831160018114620002f35760008415620002da5750858301515b600019600386901b1c1916600185901b1785556200027e565b600085815260208120601f198616915b82811015620003245788860151825594840194600190910190840162000303565b5085821015620003435787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082601f8301126200036557600080fd5b81516001600160401b0380821115620003825762000382620001e2565b604051601f8301601f19908116603f01168101908282118183101715620003ad57620003ad620001e2565b81604052838152602092508683858801011115620003ca57600080fd5b600091505b83821015620003ee5785820183015181830184015290820190620003cf565b600093810190920192909252949350505050565b600080600080608085870312156200041957600080fd5b84516001600160401b03808211156200043157600080fd5b6200043f8883890162000353565b955060208701519150808211156200045657600080fd5b620004648883890162000353565b945060408701519150808211156200047b57600080fd5b620004898883890162000353565b93506060870151915080821115620004a057600080fd5b50620004af8782880162000353565b91505092959194509250565b6135f180620004cb6000396000f3fe6080604052600436106102f25760003560e01c80636352211e1161018f578063b88d4fde116100e1578063d5abeb011161008a578063edec5f2711610064578063edec5f271461083d578063f2c4ce1e1461085d578063f2fde38b1461087d57600080fd5b8063d5abeb01146107b1578063da3ef23f146107c7578063e985e9c5146107e757600080fd5b8063c6682862116100bb578063c66828621461075c578063c87b56dd14610771578063d0eb26b01461079157600080fd5b8063b88d4fde14610706578063ba4e5c4914610726578063ba7d2c761461074657600080fd5b80638da5cb5b11610143578063a0712d681161011d578063a0712d68146106be578063a22cb465146106d1578063a475b5dd146106f157600080fd5b80638da5cb5b1461065e57806395d89b41146106895780639c70b5121461069e57600080fd5b806370a082311161017457806370a0823114610609578063715018a6146106295780637f00c7a61461063e57600080fd5b80636352211e146105d45780636c0360eb146105f457600080fd5b80632f745c5911610248578063438b6300116101fc57806351830227116101d6578063518302271461057b57806355f804b31461059a5780635c975abb146105ba57600080fd5b8063438b63001461050e57806344a0d68a1461053b5780634f6ccce71461055b57600080fd5b80633c9527641161022d5780633c952764146104c65780633ccfd60b146104e657806342842e0e146104ee57600080fd5b80632f745c59146104865780633af32abf146104a657600080fd5b8063095ea7b3116102aa57806318cae2691161028457806318cae26914610423578063239c70ae1461045057806323b872dd1461046657600080fd5b8063095ea7b3146103ca57806313faede6146103ea57806318160ddd1461040e57600080fd5b806306fdde03116102db57806306fdde031461034e578063081812fc14610370578063081c8c44146103b557600080fd5b806301ffc9a7146102f757806302329a291461032c575b600080fd5b34801561030357600080fd5b50610317610312366004612db0565b61089d565b60405190151581526020015b60405180910390f35b34801561033857600080fd5b5061034c610347366004612de2565b6108f9565b005b34801561035a57600080fd5b50610363610932565b6040516103239190612e6b565b34801561037c57600080fd5b5061039061038b366004612e7e565b6109c4565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610323565b3480156103c157600080fd5b506103636109f8565b3480156103d657600080fd5b5061034c6103e5366004612ebb565b610a86565b3480156103f657600080fd5b50610400600e5481565b604051908152602001610323565b34801561041a57600080fd5b50600854610400565b34801561042f57600080fd5b5061040061043e366004612ee5565b60146020526000908152604090205481565b34801561045c57600080fd5b5061040060105481565b34801561047257600080fd5b5061034c610481366004612f00565b610c17565b34801561049257600080fd5b506104006104a1366004612ebb565b610cb8565b3480156104b257600080fd5b506103176104c1366004612ee5565b610d87565b3480156104d257600080fd5b5061034c6104e1366004612de2565b610e0a565b61034c610e4a565b3480156104fa57600080fd5b5061034c610509366004612f00565b610ee0565b34801561051a57600080fd5b5061052e610529366004612ee5565b610efb565b6040516103239190612f3c565b34801561054757600080fd5b5061034c610556366004612e7e565b610f9d565b34801561056757600080fd5b50610400610576366004612e7e565b610faa565b34801561058757600080fd5b5060125461031790610100900460ff1681565b3480156105a657600080fd5b5061034c6105b5366004613043565b611068565b3480156105c657600080fd5b506012546103179060ff1681565b3480156105e057600080fd5b506103906105ef366004612e7e565b611080565b34801561060057600080fd5b5061036361110c565b34801561061557600080fd5b50610400610624366004612ee5565b611119565b34801561063557600080fd5b5061034c6111e7565b34801561064a57600080fd5b5061034c610659366004612e7e565b6111fb565b34801561066a57600080fd5b50600a5473ffffffffffffffffffffffffffffffffffffffff16610390565b34801561069557600080fd5b50610363611208565b3480156106aa57600080fd5b506012546103179062010000900460ff1681565b61034c6106cc366004612e7e565b611217565b3480156106dd57600080fd5b5061034c6106ec36600461308c565b61164d565b3480156106fd57600080fd5b5061034c611658565b34801561071257600080fd5b5061034c6107213660046130bf565b61168e565b34801561073257600080fd5b50610390610741366004612e7e565b611736565b34801561075257600080fd5b5061040060115481565b34801561076857600080fd5b5061036361176d565b34801561077d57600080fd5b5061036361078c366004612e7e565b61177a565b34801561079d57600080fd5b5061034c6107ac366004612e7e565b611933565b3480156107bd57600080fd5b50610400600f5481565b3480156107d357600080fd5b5061034c6107e2366004613043565b611940565b3480156107f357600080fd5b5061031761080236600461313b565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561084957600080fd5b5061034c610858366004613165565b611954565b34801561086957600080fd5b5061034c610878366004613043565b611974565b34801561088957600080fd5b5061034c610898366004612ee5565b611988565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d630000000000000000000000000000000000000000000000000000000014806108f357506108f382611a3c565b92915050565b610901611b1f565b601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b606060008054610941906131da565b80601f016020809104026020016040519081016040528092919081815260200182805461096d906131da565b80156109ba5780601f1061098f576101008083540402835291602001916109ba565b820191906000526020600020905b81548152906001019060200180831161099d57829003601f168201915b5050505050905090565b60006109cf82611ba0565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600d8054610a05906131da565b80601f0160208091040260200160405190810160405280929190818152602001828054610a31906131da565b8015610a7e5780601f10610a5357610100808354040283529160200191610a7e565b820191906000526020600020905b815481529060010190602001808311610a6157829003601f168201915b505050505081565b6000610a9182611080565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610b7c5750610b7c8133610802565b610c08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610b4a565b610c128383611c2b565b505050565b610c213382611ccb565b610cad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610b4a565b610c12838383611d8b565b6000610cc383611119565b8210610d51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610b4a565b5073ffffffffffffffffffffffffffffffffffffffff919091166000908152600660209081526040808320938352929052205490565b6000805b601354811015610e01578273ffffffffffffffffffffffffffffffffffffffff1660138281548110610dbf57610dbf61322d565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603610def5750600192915050565b80610df98161328b565b915050610d8b565b50600092915050565b610e12611b1f565b6012805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055565b610e52611b1f565b6000610e73600a5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff164760405160006040518083038185875af1925050503d8060008114610eca576040519150601f19603f3d011682016040523d82523d6000602084013e610ecf565b606091505b5050905080610edd57600080fd5b50565b610c128383836040518060200160405280600081525061168e565b60606000610f0883611119565b905060008167ffffffffffffffff811115610f2557610f25612f80565b604051908082528060200260200182016040528015610f4e578160200160208202803683370190505b50905060005b82811015610f9557610f668582610cb8565b828281518110610f7857610f7861322d565b602090810291909101015280610f8d8161328b565b915050610f54565b509392505050565b610fa5611b1f565b600e55565b6000610fb560085490565b8210611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e647300000000000000000000000000000000000000006064820152608401610b4a565b600882815481106110565761105661322d565b90600052602060002001549050919050565b611070611b1f565b600b61107c8282613311565b5050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff16806108f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610b4a565b600b8054610a05906131da565b600073ffffffffffffffffffffffffffffffffffffffff82166111be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610b4a565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6111ef611b1f565b6111f96000612093565b565b611203611b1f565b601055565b606060018054610941906131da565b60125460ff1615611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f74686520636f6e747261637420697320706175736564000000000000000000006044820152606401610b4a565b600061128f60085490565b9050600082116112fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6e65656420746f206d696e74206174206c656173742031204e465400000000006044820152606401610b4a565b60105482111561138c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6d6178206d696e7420616d6f756e74207065722073657373696f6e206578636560448201527f65646564000000000000000000000000000000000000000000000000000000006064820152608401610b4a565b600f54611399838361342b565b1115611401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6d6178204e4654206c696d6974206578636565646564000000000000000000006044820152606401610b4a565b600a5473ffffffffffffffffffffffffffffffffffffffff1633146115a25760125462010000900460ff16151560010361152b5761143e33610d87565b6114a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f75736572206973206e6f742077686974656c69737465640000000000000000006044820152606401610b4a565b336000908152601460205260409020546011546114c1848361342b565b1115611529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6d6178204e4654207065722061646472657373206578636565646564000000006044820152606401610b4a565b505b81600e54611539919061343e565b3410156115a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f696e73756666696369656e742066756e647300000000000000000000000000006044820152606401610b4a565b60015b828111610c12573360009081526014602052604081208054916115c78361328b565b909155506115e09050336115db838561342b565b61210a565b7fa9975d353f3bb3d569f18d5f57ba88ede78e42ab3dd91a81a4e4343fa19000693361160c838561342b565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520160405180910390a1806116458161328b565b9150506115a5565b61107c338383612124565b611660611b1f565b601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6116983383611ccb565b611724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610b4a565b61173084848484612251565b50505050565b6013818154811061174657600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b600c8054610a05906131da565b60008181526002602052604090205460609073ffffffffffffffffffffffffffffffffffffffff1661182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006064820152608401610b4a565b601254610100900460ff1615156000036118d457600d805461184f906131da565b80601f016020809104026020016040519081016040528092919081815260200182805461187b906131da565b80156118c85780601f1061189d576101008083540402835291602001916118c8565b820191906000526020600020905b8154815290600101906020018083116118ab57829003601f168201915b50505050509050919050565b60006118de6122f4565b905060008151116118fe576040518060200160405280600081525061192c565b8061190884612303565b600c60405160200161191c93929190613455565b6040516020818303038152906040525b9392505050565b61193b611b1f565b601155565b611948611b1f565b600c61107c8282613311565b61195c611b1f565b61196860136000612cc7565b610c1260138383612ce5565b61197c611b1f565b600d61107c8282613311565b611990611b1f565b73ffffffffffffffffffffffffffffffffffffffff8116611a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b4a565b610edd81612093565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd000000000000000000000000000000000000000000000000000000001480611acf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806108f357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146108f3565b600a5473ffffffffffffffffffffffffffffffffffffffff1633146111f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b4a565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610edd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610b4a565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c8582611080565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611cd783611080565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611d45575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80611d8357508373ffffffffffffffffffffffffffffffffffffffff16611d6b846109c4565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611dab82611080565b73ffffffffffffffffffffffffffffffffffffffff1614611e4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610b4a565b73ffffffffffffffffffffffffffffffffffffffff8216611ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610b4a565b611efd83838360016123c1565b8273ffffffffffffffffffffffffffffffffffffffff16611f1d82611080565b73ffffffffffffffffffffffffffffffffffffffff1614611fc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610b4a565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600a805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61107c828260405180602001604052806000815250612565565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b4a565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61225c848484611d8b565b61226884848484612608565b611730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b4a565b6060600b8054610941906131da565b60606000612310836127fb565b600101905060008167ffffffffffffffff81111561233057612330612f80565b6040519080825280601f01601f19166020018201604052801561235a576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461236457509392505050565b6001811115612452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e736563757469766520747260448201527f616e7366657273206e6f7420737570706f7274656400000000000000000000006064820152608401610b4a565b8173ffffffffffffffffffffffffffffffffffffffff85166124bb576124b681600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6124f8565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146124f8576124f885826128dd565b73ffffffffffffffffffffffffffffffffffffffff84166125215761251c81612994565b61255e565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461255e5761255e8482612a43565b5050505050565b61256f8383612a94565b61257c6000848484612608565b610c12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b4a565b600073ffffffffffffffffffffffffffffffffffffffff84163b156127f0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061267f903390899088908890600401613513565b6020604051808303816000875af19250505080156126d8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526126d59181019061355c565b60015b6127a5573d808015612706576040519150601f19603f3d011682016040523d82523d6000602084013e61270b565b606091505b50805160000361279d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b4a565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611d83565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612844577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612870576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061288e57662386f26fc10000830492506010015b6305f5e10083106128a6576305f5e100830492506008015b61271083106128ba57612710830492506004015b606483106128cc576064830492506002015b600a83106108f35760010192915050565b600060016128ea84611119565b6128f49190613579565b6000838152600760205260409020549091508082146129545773ffffffffffffffffffffffffffffffffffffffff841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b50600091825260076020908152604080842084905573ffffffffffffffffffffffffffffffffffffffff9094168352600681528383209183525290812055565b6008546000906129a690600190613579565b600083815260096020526040812054600880549394509092849081106129ce576129ce61322d565b9060005260206000200154905080600883815481106129ef576129ef61322d565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480612a2757612a2761358c565b6001900381819060005260206000200160009055905550505050565b6000612a4e83611119565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b73ffffffffffffffffffffffffffffffffffffffff8216612b11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b4a565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b4a565b612bab6000838360016123c1565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612c37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b4a565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5080546000825590600052602060002090810190610edd9190612d6d565b828054828255906000526020600020908101928215612d5d579160200282015b82811115612d5d5781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff843516178255602090920191600190910190612d05565b50612d69929150612d6d565b5090565b5b80821115612d695760008155600101612d6e565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610edd57600080fd5b600060208284031215612dc257600080fd5b813561192c81612d82565b80358015158114612ddd57600080fd5b919050565b600060208284031215612df457600080fd5b61192c82612dcd565b60005b83811015612e18578181015183820152602001612e00565b50506000910152565b60008151808452612e39816020860160208601612dfd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061192c6020830184612e21565b600060208284031215612e9057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612ddd57600080fd5b60008060408385031215612ece57600080fd5b612ed783612e97565b946020939093013593505050565b600060208284031215612ef757600080fd5b61192c82612e97565b600080600060608486031215612f1557600080fd5b612f1e84612e97565b9250612f2c60208501612e97565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b81811015612f7457835183529284019291840191600101612f58565b50909695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115612fca57612fca612f80565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561301057613010612f80565b8160405280935085815286868601111561302957600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561305557600080fd5b813567ffffffffffffffff81111561306c57600080fd5b8201601f8101841361307d57600080fd5b611d8384823560208401612faf565b6000806040838503121561309f57600080fd5b6130a883612e97565b91506130b660208401612dcd565b90509250929050565b600080600080608085870312156130d557600080fd5b6130de85612e97565b93506130ec60208601612e97565b925060408501359150606085013567ffffffffffffffff81111561310f57600080fd5b8501601f8101871361312057600080fd5b61312f87823560208401612faf565b91505092959194509250565b6000806040838503121561314e57600080fd5b61315783612e97565b91506130b660208401612e97565b6000806020838503121561317857600080fd5b823567ffffffffffffffff8082111561319057600080fd5b818501915085601f8301126131a457600080fd5b8135818111156131b357600080fd5b8660208260051b85010111156131c857600080fd5b60209290920196919550909350505050565b600181811c908216806131ee57607f821691505b602082108103613227577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132bc576132bc61325c565b5060010190565b601f821115610c1257600081815260208120601f850160051c810160208610156132ea5750805b601f850160051c820191505b81811015613309578281556001016132f6565b505050505050565b815167ffffffffffffffff81111561332b5761332b612f80565b61333f8161333984546131da565b846132c3565b602080601f831160018114613392576000841561335c5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613309565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156133df578886015182559484019460019091019084016133c0565b508582101561341b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156108f3576108f361325c565b80820281158282048414176108f3576108f361325c565b6000845160206134688285838a01612dfd565b85519184019161347b8184848a01612dfd565b855492019160009061348c816131da565b600182811680156134a457600181146134d757613503565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450613503565b896000528560002060005b848110156134fb578154898201529083019087016134e2565b505082870194505b50929a9950505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526135526080830184612e21565b9695505050505050565b60006020828403121561356e57600080fd5b815161192c81612d82565b818103818111156108f3576108f361325c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122017872c9fe701c34ac83573251aa0b96211bc65f9538426c0938bcecc217f440764736f6c63430008110033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000a486170707950756e6b7a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003504b5a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043697066733a2f2f6261667962656967653474747369787770786c3279767670736f326c736a676f35613577696277796c746534676d7a79786c7a68677874366a75612f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000