0x608060405234801561001057600080fd5b50600436106102055760003560e01c8063a50118bf1161011a578063e2b0a15d116100ad578063f92e2e001161007c578063f92e2e001461045c578063faa4926c1461046f578063fc2a5b1d14610482578063fc2c0880146104cc578063fc5960c2146104df57600080fd5b8063e2b0a15d1461041a578063e3ca2d6514610423578063f2fde38b14610436578063f887ea401461044957600080fd5b8063c50c97d0116100e9578063c50c97d0146103d7578063c83abb85146103ea578063c93ab77e146103fd578063cf4bb2eb1461040557600080fd5b8063a50118bf1461038b578063b0d87a0b1461039e578063b6cb7eee146103b1578063c0d78655146103c457600080fd5b8063715018a61161019d5780638da5cb5b1161016c5780638da5cb5b1461031e5780639149295614610343578063918f86741461035657806392c2bcb414610365578063a1e50e8d1461037857600080fd5b8063715018a6146102e8578063757882ac146102f05780637b551836146102f85780637fabe0351461030b57600080fd5b8063150b7a02116101d9578063150b7a021461027f57806335003f6d146102b757806353bda15b146102ca578063572b2b88146102d357600080fd5b806202eab71461020a57806301ffc9a714610229578063029b1aa91461024c5780630902f1ac14610262575b600080fd5b6102126104f2565b6040516102209291906129cb565b60405180910390f35b61023c6102373660046129ed565b610557565b6040519015158152602001610220565b610254600081565b604051908152602001610220565b61026a610583565b60408051928352602083019190915201610220565b61029e61028d366004612a33565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610220565b600154600160a01b900460ff161561023c565b610254600d5481565b6102e66102e1366004612adc565b6105a2565b005b6102e66108b6565b6102e66108ca565b6102e6610306366004612adc565b6108da565b6102e66103193660046129ed565b610af2565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610220565b61026a610351366004612b38565b610b06565b610254670de0b6b3a764000081565b6102e6610373366004612b51565b610c0b565b6102e6610386366004612b38565b610ccc565b6102e6610399366004612c12565b610d63565b61023c6103ac3660046129ed565b610dbf565b600c5461032b906001600160a01b031681565b6102e66103d2366004612b51565b610df8565b6102e66103e5366004612b51565b610ebc565b6102e66103f8366004612c59565b610f75565b610254600181565b61040d610fe1565b6040516102209190612cb0565b610254600e5481565b6102e6610431366004612cc3565b61103c565b6102e6610444366004612b51565b611157565b60015461032b906001600160a01b031681565b6102e661046a366004612ce5565b6111cd565b6102e661047d366004612d1e565b611414565b6003546004546005546104a2926001600160a01b03908116928116911683565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610220565b6102e66104da366004612d66565b61149a565b6102e66104ed366004612da2565b611520565b6006805460408051602080840282018101909252828152606093600093849383018282801561054057602002820191906000526020600020905b81548152602001906001019080831161052c575b509397670de0b6b3a7640000975095505050505050565b60006105628261172e565b8061057d57506001600160e01b0319821663a14401f360e01b145b92915050565b60078054600854909160009161059b90600190612e19565b9150509091565b600c546001600160a01b031633146105d55760405162461bcd60e51b81526004016105cc90612e30565b60405180910390fd5b60408051608081018252600380546001600160a01b0390811683526004548116602080850191909152600554909116838501526006805485518184028101840190965280865260009560608601939092919083018282801561065657602002820191906000526020600020905b815481526020019060010190808311610642575b5050505050815250509050811561077d5760098054600181019091557f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af81018890556000888152600a60205260409020556106c8866106b58587612e19565b6003546001600160a01b03169190611764565b6106db81600001518260400151856117c7565b60045460035460408301516001600160a01b03808a16937f88fdad7942d7861acf9e434a6aba9deafe6fe899e4cf5db38b2d35f3d4a87276939082169291169089908c8a8a61072a8183612e19565b604080516001600160a01b03998a1681529789166020890152870195909552959092166060850152608084015260a083015260c082019290925260e08101919091526101000160405180910390a2610895565b6020810151604051632142170760e11b81526007916001600160a01b0316906342842e0e906107b49030908b908d90600401612e79565b600060405180830381600087803b1580156107ce57600080fd5b505af11580156107e2573d6000803e3d6000fd5b5050505061081760078683600001546107fb9190612e9d565b6001846001015461080c9190612e19565b908255600190910155565b60045460035486916001600160a01b03808b16927f7a461a7f9eb0365917db819863ab9941e96eca311fca7a21797c3d21ab87272b92821691168a8961085d8188612e9d565b604080516001600160a01b039687168152959094166020860152928401919091526060830152608082015260a00160405180910390a3505b6001600e60008282546108a89190612e19565b909155505050505050505050565b6108be611829565b6108c86000611883565b565b6108d2611829565b6108c86118d3565b600c546001600160a01b031633146109045760405162461bcd60e51b81526004016105cc90612e30565b60408051608081018252600380546001600160a01b0390811683526004548116602080850191909152600554909116838501526006805485518184028101840190965280865260009560608601939092919083018282801561098557602002820191906000526020600020905b815481526020019060010190808311610971575b50505050508152505090508115610a665761099f87611939565b60048054604051632142170760e11b81526001600160a01b03909116916342842e0e916109d29130918b918d9101612e79565b600060405180830381600087803b1580156109ec57600080fd5b505af1158015610a00573d6000803e3d6000fd5b50505050610a178160000151826040015185611a27565b60035460045460408301516001600160a01b03808a16937fe1e45ebf7e1fc132bdec9385c9fbb7258d69d469d70245a69881d86e847d14cd939082169291169089908c8a8a61072a8183612e9d565b6007610a8887610a768688612e9d565b84516001600160a01b03169190611764565b610aac6007868360000154610a9d9190612e19565b60018085015461080c91612e9d565b60035460045486916001600160a01b03808b16927f653a03487c8134b70fbaa6b945859535caae528f4d8eeb8e0cacdbc1a67a44f092821691168a8961085d8188612e9d565b610afa611829565b610b0381611a80565b50565b600080610b8b6007604051806060016040529081600082015481526020016001820154815260200160028201805480602002602001604051908101604052809291908181526020018280548015610b7c57602002820191906000526020600020905b815481526020019060010190808311610b68575b50505050508152505084611ae4565b60408051606081018252600780548252600854602080840191909152600980548551818402810184018752818152610c029686019390929190830182828015610bf357602002820191906000526020600020905b815481526020019060010190808311610bdf575b50505050508152505085611b27565b91509150915091565b610c13611829565b806001600160a01b038116610c765760405162461bcd60e51b815260206004820152602360248201527f506169723a20726563697069656e742063616e2774206265206164647265737360448201526228302960e81b60648201526084016105cc565b600580546001600160a01b0319166001600160a01b0383169081179091556040519081527fff2d07bd188a9eb41acbc4a7db39e18956c95ab7f54f434d97849bf6206e577c906020015b60405180910390a15050565b610cd4611829565b8080610d2e5760405162461bcd60e51b8152602060048201526024808201527f4d797374657279426f78506169723a20696e76616c6964206172726179206c656044820152630dccee8d60e31b60648201526084016105cc565b600d8190556040518181527f12635e198518d6aff56da7d2a027944eadc2e10259788409303176f0b99c217990602001610cc0565b610d6b611b39565b6001546001600160a01b03163314610d955760405162461bcd60e51b81526004016105cc90612eb5565b610db1610daa6000546001600160a01b031690565b8383611b93565b610dbb6001600b55565b5050565b600154600090600160a01b900460ff1615801561057d5750506001600160e01b03191660009081526002602052604090205460ff161590565b610e00611829565b6001600160a01b0381163b610e675760405162461bcd60e51b815260206004820152602760248201527f526f757465725365747465723a20526f757465722073686f756c6420626520636044820152661bdb9d1c9858dd60ca1b60648201526084016105cc565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fc6b438e6a8a59579ce6a4406cbd203b740e0d47b458aae6596339bcd40c40d15906020015b60405180910390a150565b610ec4611829565b806001600160a01b0381163b610f275760405162461bcd60e51b815260206004820152602260248201527f4d797374657279426f78506169723a2073746f72616765206d75737420626520604482015261636160f01b60648201526084016105cc565b600c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f8cbb7a6ee88dbf214a9b660a9f1af063e42a24cbfe26a046a718b3f621baa53990602001610cc0565b610f7d611b39565b6001546001600160a01b03163314610fa75760405162461bcd60e51b81526004016105cc90612eb5565b600e5415610fc75760405162461bcd60e51b81526004016105cc90612ef7565b610fd2838383611dc6565b610fdc6001600b55565b505050565b6060600760020180548060200260200160405190810160405280929190818152602001828054801561103257602002820191906000526020600020905b81548152602001906001019080831161101e575b5050505050905090565b611044611829565b6006548290829060039082106110925760405162461bcd60e51b81526020600482015260136024820152720a0c2d2e47440d2dcecc2d8d2c840d2dcc8caf606b1b60448201526064016105cc565b670de0b6b3a76400008311156110ea5760405162461bcd60e51b815260206004820181905260248201527f506169723a206665652063616e2774206f7665722064656e6f6d696e61746f7260448201526064016105cc565b8281600301838154811061110057611100612f42565b90600052602060002001819055507f5fc463da23c1b063e66f9e352006a7fbe8db7223c455dc429e881a2dfe2f94f18383604051611148929190918252602082015260400190565b60405180910390a15050505050565b61115f611829565b6001600160a01b0381166111c45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105cc565b610b0381611883565b6111d5611b39565b6001546001600160a01b031633146111ff5760405162461bcd60e51b81526004016105cc90612eb5565b6000611209610583565b9150506000811161125c5760405162461bcd60e51b815260206004820152601f60248201527f4d797374657279426f78506169723a20656d707479207377617020706f6f6c0060448201526064016105cc565b600154627c971760e91b90600160a01b900460ff1615801561129857506001600160e01b0319811660009081526002602052604090205460ff16155b6112e05760405162461bcd60e51b815260206004820152601960248201527823229d103ab732bc32b1baba30b1363290333ab731ba34b7b760391b60448201526064016105cc565b82158015906112f15750600d548311155b6113505760405162461bcd60e51b815260206004820152602a60248201527f4d797374657279426f78506169723a20696e76616c69642072656365697665206044820152691b999d08185b5bdd5b9d60b21b60648201526084016105cc565b60008367ffffffffffffffff81111561136b5761136b612b6c565b604051908082528060200260200182016040528015611394578160200160208202803683370190505b50905060006113d08883600380016000815481106113b4576113b4612f42565b9060005260206000200154611f06611ae46120ae6120cd612112565b925050508087111580156113e45750858111155b6114005760405162461bcd60e51b81526004016105cc90612f58565b5050505061140e6001600b55565b50505050565b61141c611829565b600154600160a01b900460ff1661146f5760405162461bcd60e51b815260206004820152601760248201527611914e88195e1958dd5d18589b194818dbdb9d1c9858dd604a1b60448201526064016105cc565b600e541561148f5760405162461bcd60e51b81526004016105cc90612ef7565b610fdc838383612287565b6114a2611829565b600154600160a01b900460ff166114f55760405162461bcd60e51b815260206004820152601760248201527611914e88195e1958dd5d18589b194818dbdb9d1c9858dd604a1b60448201526064016105cc565b600e54156115155760405162461bcd60e51b81526004016105cc90612ef7565b610fdc838383612382565b611528611b39565b6001546001600160a01b031633146115525760405162461bcd60e51b81526004016105cc90612eb5565b600061155c610583565b915050600081116115af5760405162461bcd60e51b815260206004820152601f60248201527f4d797374657279426f78506169723a20656d707479207377617020706f6f6c0060448201526064016105cc565b600154637e2cb06160e11b90600160a01b900460ff161580156115ec57506001600160e01b0319811660009081526002602052604090205460ff16155b6116345760405162461bcd60e51b815260206004820152601960248201527823229d103ab732bc32b1baba30b1363290333ab731ba34b7b760391b60448201526064016105cc565b8251158015906116475750600d54835111155b6116a95760405162461bcd60e51b815260206004820152602d60248201527f4d797374657279426f78506169723a20696e76616c6964206e66742073656c6c60448201526c696e67206c6973742073697a6560981b60648201526084016105cc565b60006116e28785600380016001815481106116c6576116c6612f42565b90600052602060002001546123d6611b276120ae6120cd612112565b925050508086111580156116f65750848111155b6117125760405162461bcd60e51b81526004016105cc90612f58565b50505061140e6001600b55565b6001600160a01b03163b151590565b60006301ffc9a760e01b6001600160e01b03198316148061057d57506001600160e01b03198216632b81405360e11b1492915050565b6040516001600160a01b038316602482015260448101829052610fdc90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612611565b6117db6001600160a01b0384168383611764565b604080518281524360208201526001600160a01b0380861692908516917fbc084d1f5e93931f1c904c3e99b8378ea71bdf22d3b40be511f4f4ef06bd35b191015b60405180910390a3505050565b6000546001600160a01b031633146108c85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105cc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001805460ff600160a01b808304821615810260ff60a01b1990931692909217928390556040517f639a63b6286243e0bf05b56d2108fd64b2272d3150739a8fa541c614989b9e309361192f9390049091161515815260200190565b60405180910390a1565b6000818152600a60205260408120546009546007929061195b90600190612e19565b90508082146119df5782600201818154811061197957611979612f42565b906000526020600020015483600201838154811061199957611999612f42565b906000526020600020018190555081600a60008560020185815481106119c1576119c1612f42565b90600052602060002001548152602001908152602001600020819055505b826002018054806119f2576119f2612fa8565b600190038181906000526020600020016000905590556000600a60008681526020019081526020016000208190555050505050565b611a3b6001600160a01b0384168383611764565b604080518281524360208201526001600160a01b0380861692908516917fd8cc5d0498534517ce42a9c3794955e32bc3a2114ff2d4f6858522b3c83a03b9910161181c565b6001600160e01b03198116600081815260026020908152604091829020805460ff8082161560ff1990921682179092558351948552161515908301527f4b7d8f7ae6d08d1cac36a241ba1f1bb7a749caad2ccd22518dfeee8730b9afd39101610eb1565b600081836020015111611af95750600061057d565b818360200151611b099190612e19565b8351611b16908490612fbe565b611b209190612fdd565b9392505050565b6000818360200151611b099190612e9d565b6002600b541415611b8c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105cc565b6002600b55565b60408051608081018252600380546001600160a01b03908116835260045481166020808501919091526005549091168385015260068054855181840281018401909652808652600095606086019390929190830182828015611c1457602002820191906000526020600020905b815481526020019060010190808311611c00575b5050509190925250508151919250600791611c3291508630876126e3565b8251815484919086908490600090611c4b908490612e9d565b9250508190555080836001016000828254611c669190612e9d565b90915550600090505b81811015611d5e5784602001516001600160a01b03166342842e0e8930868581518110611c9e57611c9e612f42565b60200260200101516040518463ffffffff1660e01b8152600401611cc493929190612e79565b600060405180830381600087803b158015611cde57600080fd5b505af1158015611cf2573d6000803e3d6000fd5b50505050611d56838281518110611d0b57611d0b612f42565b602002602001015160098054600181019091557f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af81018290556000918252600a602052604090912055565b600101611c6f565b5083602001516001600160a01b031684600001516001600160a01b03167f36f3b2e1a21c19137dd82ec243b0708a1d26b3d1fa1dc49c44c4c366a58781388884604051611db5929190918252602082015260400190565b60405180910390a350505050505050565b6007805460039190841115611e2d5760405162461bcd60e51b815260206004820152602760248201527f4d797374657279426f78506169723a2072657175657374206f766572206674206044820152667265736572766560c81b60648201526084016105cc565b8154600183015486916001600160a01b0390811691168686611e50848684612382565b611e5b838683612287565b611e8086838860000154611e6f9190612e19565b8351896001015461080c9190612e19565b60005b8151811015611eb657611eae828281518110611ea157611ea1612f42565b6020026020010151611939565b600101611e83565b50604080516001600160a01b038087168252851660208201527fd04e6350fe09fd82d32a2e9549de19274bab2fafa4013189498798d981a763e7910160405180910390a150505050505050505050565b60408051608081018252600380546001600160a01b0390811683526004548116602080850191909152600554909116838501526006805485518184028101840190965280865260009586958695869591949093606086019392830182828015611f8e57602002820191906000526020600020905b815481526020019060010190808311611f7a575b5050509190925250508151602083015188519197509550919250611fb490508789612e9d565b9250611fcb6001600160a01b0386168a3086612847565b60078054611ff0908290611fe0908c90612e9d565b84846001015461080c9190612e19565b60005b8281101561208757600c5460405163f49e7d1560e01b81526001600160a01b038d8116600483015243602483015242604483015260006064830152608482018d905260a482018c90529091169063f49e7d159060c401600060405180830381600087803b15801561206357600080fd5b505af1158015612077573d6000803e3d6000fd5b505060019092019150611ff39050565b5081600e600082825461209a9190612e9d565b925050819055505050509450945094915050565b6000826120bb8386612fbe565b6120c59190612fdd565b949350505050565b604080518281524360208201526001600160a01b0380861692908516917f0e1ad1538d54101c00773234e60fdc58b27ea0c97de18a9e1df77d999dcd8c3d910161181c565b60008060008089905060008b90506129888990506000835190506000816121b560076040518060600160405290816000820154815260200160018201548152602001600282018054806020026020016040519081016040528092919081815260200182805480156121a257602002820191906000526020600020905b81548152602001906001019080831161218e575b505050505081525050848e63ffffffff16565b6121bf9190612fbe565b905060006121da8e670de0b6b3a7640000848e63ffffffff16565b90506121ec858383898863ffffffff16565b600354600554939c50919a50985061221e916001600160a01b0391821691166122158685612fbe565b8d63ffffffff16565b6005546040516001600160a01b03808816927f168b31ffda15fbd3ce0c9c7e38de5fc8204f26669e364e36f287cbe9cd6f420d9261226c928e928e92911690889088908f908f904390612fff565b60405180910390a25050505050509750975097945050505050565b8051801561140e5760005b8181101561237b57846001600160a01b03166342842e0e30868685815181106122bd576122bd612f42565b60200260200101516040518463ffffffff1660e01b81526004016122e393929190612e79565b600060405180830381600087803b1580156122fd57600080fd5b505af1158015612311573d6000803e3d6000fd5b505050507fe7a9bbc68ffc5ef55c4992454bd401d15a750ba00be3c3f868b16d92d8a0d30e858585848151811061234a5761234a612f42565b602002602001015160405161236193929190612e79565b60405180910390a1806123738161305f565b915050612292565b5050505050565b6123966001600160a01b0384168383611764565b7f358d91a7e78bdcc9133a20aa8a01420031abfbb1cdb449ca1f05682fa5971b398383836040516123c993929190612e79565b60405180910390a1505050565b60408051608081018252600380546001600160a01b039081168352600454811660208085019190915260055490911683850152600680548551818402810184019096528086526000958695869586959194909360608601939283018282801561245e57602002820191906000526020600020905b81548152602001906001019080831161244a575b5050509190925250505060208101518151875191965094509091506124838789612e19565b925060005b8181101561251757856001600160a01b03166342842e0e8b308a85815181106124b3576124b3612f42565b60200260200101516040518463ffffffff1660e01b81526004016124d993929190612e79565b600060405180830381600087803b1580156124f357600080fd5b505af1158015612507573d6000803e3d6000fd5b5050600190920191506124889050565b506007805461253d90829061252d908c90612e19565b84846001015461080c9190612e9d565b60005b8281101561208757600c60009054906101000a90046001600160a01b03166001600160a01b031663f49e7d158c43428c868151811061258157612581612f42565b60209081029190910101516040516001600160e01b031960e087901b1681526001600160a01b039094166004850152602484019290925260448301526064820152608481018d905260a481018c905260c401600060405180830381600087803b1580156125ed57600080fd5b505af1158015612601573d6000803e3d6000fd5b5050600190920191506125409050565b6000612666826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128689092919063ffffffff16565b805190915015610fdc5780806020019051810190612684919061307a565b610fdc5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105cc565b6040516370a0823160e01b81526001600160a01b038381166004830152600091908616906370a0823190602401602060405180830381865afa15801561272d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127519190613097565b90506127686001600160a01b038616858585612847565b6040516370a0823160e01b81526001600160a01b038481166004830152600091908716906370a0823190602401602060405180830381865afa1580156127b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d69190613097565b9050826127e38383612e19565b1461283f5760405162461bcd60e51b815260206004820152602660248201527f506169723a206465666c6174696f6e61727920746f6b656e206e6f74207375706044820152651c1bdc9d195960d21b60648201526084016105cc565b505050505050565b61140e846323b872dd60e01b85858560405160240161179093929190612e79565b60606120c5848460008585600080866001600160a01b0316858760405161288f91906130dc565b60006040518083038185875af1925050503d80600081146128cc576040519150601f19603f3d011682016040523d82523d6000602084013e6128d1565b606091505b50915091506128e2878383876128ed565b979650505050505050565b60608315612959578251612952576001600160a01b0385163b6129525760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105cc565b50816120c5565b6120c5838381511561296e5781518083602001fd5b8060405162461bcd60e51b81526004016105cc91906130f8565b6108c861312b565b600081518084526020808501945080840160005b838110156129c0578151875295820195908201906001016129a4565b509495945050505050565b6040815260006129de6040830185612990565b90508260208301529392505050565b6000602082840312156129ff57600080fd5b81356001600160e01b031981168114611b2057600080fd5b80356001600160a01b0381168114612a2e57600080fd5b919050565b600080600080600060808688031215612a4b57600080fd5b612a5486612a17565b9450612a6260208701612a17565b935060408601359250606086013567ffffffffffffffff80821115612a8657600080fd5b818801915088601f830112612a9a57600080fd5b813581811115612aa957600080fd5b896020828501011115612abb57600080fd5b9699959850939650602001949392505050565b8015158114610b0357600080fd5b60008060008060008060c08789031215612af557600080fd5b86359550612b0560208801612a17565b945060408701359350606087013592506080870135915060a0870135612b2a81612ace565b809150509295509295509295565b600060208284031215612b4a57600080fd5b5035919050565b600060208284031215612b6357600080fd5b611b2082612a17565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612b9357600080fd5b8135602067ffffffffffffffff80831115612bb057612bb0612b6c565b8260051b604051601f19603f83011681018181108482111715612bd557612bd5612b6c565b604052938452858101830193838101925087851115612bf357600080fd5b83870191505b848210156128e257813583529183019190830190612bf9565b60008060408385031215612c2557600080fd5b82359150602083013567ffffffffffffffff811115612c4357600080fd5b612c4f85828601612b82565b9150509250929050565b600080600060608486031215612c6e57600080fd5b612c7784612a17565b925060208401359150604084013567ffffffffffffffff811115612c9a57600080fd5b612ca686828701612b82565b9150509250925092565b602081526000611b206020830184612990565b60008060408385031215612cd657600080fd5b50508035926020909101359150565b60008060008060808587031215612cfb57600080fd5b612d0485612a17565b966020860135965060408601359560600135945092505050565b600080600060608486031215612d3357600080fd5b612d3c84612a17565b9250612d4a60208501612a17565b9150604084013567ffffffffffffffff811115612c9a57600080fd5b600080600060608486031215612d7b57600080fd5b612d8484612a17565b9250612d9260208501612a17565b9150604084013590509250925092565b60008060008060808587031215612db857600080fd5b612dc185612a17565b93506020850135925060408501359150606085013567ffffffffffffffff811115612deb57600080fd5b612df787828801612b82565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b600082821015612e2b57612e2b612e03565b500390565b60208082526029908201527f4d797374657279426f78506169723a206d73672073656e646572206973206e6f604082015268742073746f7261676560b81b606082015260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60008219821115612eb057612eb0612e03565b500190565b60208082526022908201527f526f757465725365747465723a2073656e646572206973206e6f7420526f757460408201526132b960f11b606082015260800190565b6020808252602b908201527f4d797374657279426f78506169723a2070656e64696e6720726571756573742060408201526a1cdd1a5b1b08195e1a5cdd60aa1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526030908201527f4d797374657279426f78506169723a206578706563746564207265636569766560408201526f040e0e4d2c6ca40dcdee840dac2e8c6d60831b606082015260800190565b634e487b7160e01b600052603160045260246000fd5b6000816000190483118215151615612fd857612fd8612e03565b500290565b600082612ffa57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905261010060c0820181905260009061304983820186612990565b9150508260e08301529998505050505050505050565b600060001982141561307357613073612e03565b5060010190565b60006020828403121561308c57600080fd5b8151611b2081612ace565b6000602082840312156130a957600080fd5b5051919050565b60005b838110156130cb5781810151838201526020016130b3565b8381111561140e5750506000910152565b600082516130ee8184602087016130b0565b9190910192915050565b60208152600082518060208401526131178160408501602087016130b0565b601f01601f19169190910160400192915050565b634e487b7160e01b600052605160045260246000fdfea26469706673582212207c599bc7c7597a8992191773a52992ff502880c7e918f499b4e9b18c6d29903864736f6c634300080a0033