Transaction Hash:
0xca0e35dfcdbf5af31b8fdee21575f680ba7c63d992c13462bd331895d3ddf5f4
Timestamp:
691 days ago (Mar-28-2023 03:37:59 AM UTC )
ERC-20 Tokens Transferred:
Gas Price:
20. 608590706 Gwei (0. 000000020608590706 ETH)
Ether Price:
$1,773.53 / ETH
Gas Limit & Usage by Txn:
2,059,774
|
1,976,467 (95.96%)
Gas Fees:
Base: 19. 904864795 Gwei
Burnt Fees:
🔥 Burnt: 0. 039341308406779265 ETH ($106.29)
Other Attributes:
Txn Type: 0 (Legacy)
Nonce: 149
Position In Block: 76
Input Data:
0x5e9145c90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000148ee7daf16574cd020afa34cc658f8f3fbd2800000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000139200000000000000000000000000000000000000000000000000000000000019340000000000000000000000000000000000000000000000000000000000001a2a0000000000000000000000000000000000000000000000000000000000001c0c0000000000000000000000000000000000000000000000000000000000000008019672a9679a1ce942da1407a03c68face967890623922f7bbdb209a8630dd32b0000000000000000000000000000000000000000000000000000000064225e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001592f9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02e7fbcf02e530611947cd524ea84c5194c4b74b1e70cb83ae8b3d1ad4a8348eedd365f96549c7b3d87f35174959f53c662d680fd2f28987dfc83b86e06aa52f250f8223e23cc63ff13a4994ca9ef3e0978a1b715805785e699e8a4c8b6be2e908f4ecfedf957531d480427fc3f108b320635ff020955974238355ee5211a1723ec87c725ba19d5b5364560c0b7f8db98e546d4abfa030261053d9cbd8c2e2edbd54ac52c3a5a6468bfdf611a5a1f31d83b2e6dc45ae7467d5a9e554e71a8b35d06b050a6eea2173d0f7700513b639ef2a7b87286a31029358528a828175bb765dcffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f839867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9000000000000000000000000000000000000000000000000000000000000043c63301b0e7b4bade89ea9196867892f9c877814dad3e4519d190b68665c2727fec4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca4892100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000031140c451c98048ec82780ec6148cf69d45bc459000000000000000000000000000000000000000000000000011fc51222ce80000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d8080b2c04a248b6d1c0fdc0a4aa2fa0486e26e827e03d4a9e65f58d58e3b5c162c6a01b696741fd51c43ab0a5ed4e6416252b3b75ee992d1e51640acf42ab34c9a111bee01850168031600825208949f403140bc0574d7d36ea472b82daa1bbd4ef32788058d15e1762800008082044d808065bc5b0da37ebf1f80a2f2a6675f6f456107fe1ab45d6d0beae62cdceab756405a782ce583417aa417030d08cc02394d09f69922085bada31b8d0e4a38fadd2c1bed0285017c4713008252089476f6d257ceb5736cbcaab5c48e4225a45f74d6e587b1a2bc2ec500008082044d80804edefb92d233f70ba8fc07cf0b20c2c0e0317775e4dbe37d746eee7e494440dc5e002e15404c07ee916b47480574af09c7f2476f47764e04326a9a5cfa24daf91cf9011301850175200500830493e0942a3dd3eb832af982ec71669e178424b10dca2ede87567b007b8a6400b8e4cd5865790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000573aaafce41839cef3e6d5b9ad727db44bce8ba900000000000000000000000000000000000000000000000000567b007b8a64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000082044d8080d2e37d626f94e1e24af57fc482c5b5f1b93d22de6c9e4eed8973e00debc50c502cd71426d0ca37cce6f07758d487e2366ef754d7439edd531fd8e10f97c1bd5c1cf9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02e9076dcb33f8b28b09517321e83ac7b87a4c4551ba15bb03b8567c2b1f324627a9bf7e57c36189813cd0fdabec199213a997af9799532e31739a07a77098e09159106580da28f6c18354b358fddc1f252a6c4cdae6833f75737e5ce4701fbe327f17eae3853dd0e6331b092d22b9cab127c82a6d23cc0aded326d761542d13081aab836f3db189ca3c57e3d16172ee1d1f5f64174167b8cea40901db9b5fabe5443cf64c08e87d381c35e7d52cfe29c7d6ec9911c476023c21331df98073761f5d459a4f0bb820adeea2fc96d878213cd79e2d750c8171f92b203e8a907f7894affd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f839867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9000000000000000000000000000000000000000000000000000000000000047562d8051085e9cf4fee981f5998d80ad40122d3fb387ddcbeab6e67e66b48a026c4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000761225b1800af40fa73ca615bb588cf63dd85bc7000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d8080303028159096a3d09a7e6eb850aebd259d115004cbeadf6cb26372283e17936a1b885965d1141ed4d0a8457ccd5c9f4a0e1f9a81d188dc796ad8d5433f4f89cb1cf9056801808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02e56ea767710a08e3f7e3a828e4e37ab3248390ae225a74d3aa5ad66bd04eee2ee98bf47a9f6b60ff732357a98af4ab4ddef0de58461631f79d512a5aa1ba0452f3a56e5a1b5212070ca3d5606a82ec4a0afed60280a27eeb3539cdef184d3c7c3f17eae3853dd0e6331b092d22b9cab127c82a6d23cc0aded326d761542d13081aab836f3db189ca3c57e3d16172ee1d1f5f64174167b8cea40901db9b5fabe5443cf64c08e87d381c35e7d52cfe29c7d6ec9911c476023c21331df98073761f5d459a4f0bb820adeea2fc96d878213cd79e2d750c8171f92b203e8a907f7894affd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f839867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9000000000000000000000000000000000000000000000000000000000000047362d8051085e9cf4fee981f5998d80ad40122d3fb387ddcbeab6e67e66b48a026c4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000761225b1800af40fa73ca615bb588cf63dd85bc7000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d8080703393d10203241e84d8840405af5bb71e2a7ad1162c163a56855690a0044082638d54d8b18d7caaca9ebe0b3fbc99962ae4a1ef77f6ed2b498ea26a4bf1ada81bf9013402850160dc0800830370e39488d08628a2a3bc6aeed929f06d0f6fec9946041687071afd498d0000b901040d23d6690000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000e3636c01412c8309a78b89bdb80cac75bc0ee07f0000000000000000000000000000000000000000000000000000000000a6d22e000000000000000000000000000000000000000000000000000000000000001c442c61d1ed37ae952ded93dc1929cedf8a63ddd86a07d67e4df8f11f6f73feb00dffbcc586e6fb0d5b2a1834a503592594ca4a93d1b8182d24dee7915a57fac382044d8080d112404291bfa48da479c14ec9c41cb4e384d63b53df384dd28cbf09191646ca543db6d626f03024b8c961558216dc4d05301525ca68c13649f9c687b338656f1bee03850160dc080082520894e93685f3bba03016f02bd1828badd6195988d9508806f05b59d3b200008082044d808079dde04752bc21a03a95121a48a728fde7dbaa8aaa73a444374976315666ea49618d0451d726df9f3ceb382331515aea926da64926c7cbc2209e1836c99397b11cee0485016508258082520894339d413ccefd986b1b3647a9cfa9cbbe70a30749880585fae42c9b00008082044d80807e552a82eb416a54217c0488bf5a3ea30e4d00e64ea8916d8ef139d436a989f6238e40c7b4b7820b7ec7cb454796f3313fce7533129f88ae34d09e02421796961b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008060427c29021d2867ebde828d16a409b053238aba68154d8056191b20e42d38e90000000000000000000000000000000000000000000000000000000064225e7e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012166f9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02eb62a10fd1e999032e7addbb1e3c36fc028ff416948857463bf26bfc530d1ee043e24043cff1f76adac43d718d8c59909b26ddf9b435565613f71cc3867931da6aecbdacf975c6526c1522f917600a96d405e50ace8440003819e93f7a3593acc3987c5508364e5b67de73de8ed35a130e7438501208eef691c4c001fb7106ca86e42ee9df9cbfe9ea7076ecbcef7611aaa38e13bcc2c462db155827023b2d68f68bc710995cde255bf8b52e28c83f0f49ae3cfeec7bf29b2329113fc9ad6c2bbd459a4f0bb820adeea2fc96d878213cd79e2d750c8171f92b203e8a907f7894affd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f839867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9000000000000000000000000000000000000000000000000000000000000045d62d8051085e9cf4fee981f5998d80ad40122d3fb387ddcbeab6e67e66b48a026c4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000848569941c58aa3274c4153c1dd4f867cd5c543f00000000000000000000000000000000000000000000000000753d533d9680000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d8080cced9d8d82a7b084fad35124775757eec689c52a5de385f6db135bcec3c667d27ba56e7df532e2d522c613d8f699f22d4d413822fc53a5ac6828e82117fd69491cf93ccb8085015b7ebd808333d7a48080b93cb660a06040526008805461ff001960ff19909116600117166101001790553480156200002957600080fd5b5060405162003c9638038062003c96833981810160405260208110156200004f57600080fd5b505160006200005d620000bd565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060f01b6001600160f01b031916608052620000c1565b3390565b60805160f01c613bb2620000e4600039806117d75280611eb75250613bb26000f3fe6080604052600436106102855760003560e01c80639c729da111610153578063ca066b35116100cb578063f2fde38b1161007f578063f5ecbdbc11610064578063f5ecbdbc14610f17578063faee093f14610fe6578063fdc07c7014610ffb57610285565b8063f2fde38b14610e54578063f4abee4b14610e9457610285565b8063da1a7c9a116100b0578063da1a7c9a14610dea578063e97a448a14610e2a578063ebfea6e014610e3f57610285565b8063ca066b3514610d3d578063cbed8b9c14610d5257610285565b8063bd42a71311610122578063c2fa481311610107578063c2fa481314610abe578063c580310014610bca578063c7e3711714610d0f57610285565b8063bd42a71314610a7b578063c07f47d414610aa957610285565b80639c729da114610902578063a91606df14610942578063aaff5f1614610957578063b208649914610a3157610285565b806342d65a8d1161020157806376a386dc116101b55780638da5cb5b1161019a5780638da5cb5b1461081a5780639924d33b1461082f5780639a8a0592146108ed57610285565b806376a386dc146106b75780637a145748146107b357610285565b80635d9ef01a116101e65780635d9ef01a1461064d578063715018a61461066257806371ba2fd61461067757610285565b806342d65a8d146105875780634afb422b1461060f57610285565b806310ddb1371161025857806324ba3f2c1161023d57806324ba3f2c146104495780633408e4701461045e57806340a7bb101461047357610285565b806310ddb137146103db578063158c81ad1461040957610285565b806307e0db171461028a578063096568f6146102ba5780630b837bb5146103115780630eaf6ea61461033f575b600080fd5b34801561029657600080fd5b506102b8600480360360208110156102ad57600080fd5b503561ffff16611083565b005b3480156102c657600080fd5b506102fa600480360360208110156102dd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111c7565b6040805161ffff9092168252519081900360200190f35b34801561031d57600080fd5b506102b86004803603602081101561033457600080fd5b503561ffff16611213565b34801561034b57600080fd5b506103c76004803603604081101561036257600080fd5b61ffff823516919081019060408101602082013564010000000081111561038857600080fd5b82018360208201111561039a57600080fd5b803590602001918460018302840111640100000000831117156103bc57600080fd5b50909250905061141a565b604080519115158252519081900360200190f35b3480156103e757600080fd5b506102b8600480360360208110156103fe57600080fd5b503561ffff16611466565b34801561041557600080fd5b506102b86004803603602081101561042c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166115b3565b34801561045557600080fd5b506102fa6117d0565b34801561046a57600080fd5b506102fa6117d5565b34801561047f57600080fd5b5061056e600480360360a081101561049657600080fd5b61ffff8235169173ffffffffffffffffffffffffffffffffffffffff602082013516918101906060810160408201356401000000008111156104d757600080fd5b8201836020820111156104e957600080fd5b8035906020019184600183028401116401000000008311171561050b57600080fd5b91939092823515159260408101906020013564010000000081111561052f57600080fd5b82018360208201111561054157600080fd5b8035906020019184600183028401116401000000008311171561056357600080fd5b5090925090506117f9565b6040805192835260208301919091528051918290030190f35b34801561059357600080fd5b506102b8600480360360408110156105aa57600080fd5b61ffff82351691908101906040810160208201356401000000008111156105d057600080fd5b8201836020820111156105e257600080fd5b8035906020019184600183028401116401000000008311171561060457600080fd5b5090925090506119b1565b34801561061b57600080fd5b50610624611b7c565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561065957600080fd5b506102fa611ba0565b34801561066e57600080fd5b506102b8611baa565b34801561068357600080fd5b506106246004803603602081101561069a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611ca7565b3480156106c357600080fd5b50610775600480360360408110156106da57600080fd5b61ffff823516919081019060408101602082013564010000000081111561070057600080fd5b82018360208201111561071257600080fd5b8035906020019184600183028401116401000000008311171561073457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611db8945050505050565b6040805167ffffffffffffffff909416845273ffffffffffffffffffffffffffffffffffffffff909216602084015282820152519081900360600190f35b3480156107bf57600080fd5b506107fd600480360360408110156107d657600080fd5b50803561ffff16906020013573ffffffffffffffffffffffffffffffffffffffff16611e1c565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561082657600080fd5b50610624611e61565b34801561083b57600080fd5b506107fd6004803603604081101561085257600080fd5b61ffff823516919081019060408101602082013564010000000081111561087857600080fd5b82018360208201111561088a57600080fd5b803590602001918460018302840111640100000000831117156108ac57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611e7d945050505050565b3480156108f957600080fd5b506102fa611eb5565b34801561090e57600080fd5b506106246004803603602081101561092557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611ed9565b34801561094e57600080fd5b506102fa611fdd565b34801561096357600080fd5b506102b86004803603606081101561097a57600080fd5b61ffff82351691908101906040810160208201356401000000008111156109a057600080fd5b8201836020820111156109b257600080fd5b803590602001918460018302840111640100000000831117156109d457600080fd5b9193909290916020810190356401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b509092509050611fe3565b348015610a3d57600080fd5b506107fd60048036036040811015610a5457600080fd5b50803561ffff16906020013573ffffffffffffffffffffffffffffffffffffffff1661242b565b348015610a8757600080fd5b506102b860048036036020811015610a9e57600080fd5b503561ffff16612452565b348015610ab557600080fd5b506102fa61265f565b348015610aca57600080fd5b506102b8600480360360c0811015610ae157600080fd5b61ffff8235169190810190604081016020820135640100000000811115610b0757600080fd5b820183602082011115610b1957600080fd5b80359060200191846001830284011164010000000083111715610b3b57600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff8335169267ffffffffffffffff602082013516926040820135929091608081019060600135640100000000811115610b8b57600080fd5b820183602082011115610b9d57600080fd5b80359060200191846001830284011164010000000083111715610bbf57600080fd5b509092509050612681565b6102b8600480360360c0811015610be057600080fd5b61ffff8235169190810190604081016020820135640100000000811115610c0657600080fd5b820183602082011115610c1857600080fd5b80359060200191846001830284011164010000000083111715610c3a57600080fd5b919390929091602081019035640100000000811115610c5857600080fd5b820183602082011115610c6a57600080fd5b80359060200191846001830284011164010000000083111715610c8c57600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff83358116936020810135909116929190606081019060400135640100000000811115610cd057600080fd5b820183602082011115610ce257600080fd5b80359060200191846001830284011164010000000083111715610d0457600080fd5b509092509050612d66565b348015610d1b57600080fd5b5061062460048036036020811015610d3257600080fd5b503561ffff16613035565b348015610d4957600080fd5b506103c761305d565b348015610d5e57600080fd5b506102b860048036036080811015610d7557600080fd5b61ffff823581169260208101359091169160408201359190810190608081016060820135640100000000811115610dab57600080fd5b820183602082011115610dbd57600080fd5b80359060200191846001830284011164010000000083111715610ddf57600080fd5b50909250905061306e565b348015610df657600080fd5b506102fa60048036036020811015610e0d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613271565b348015610e3657600080fd5b506103c76132cc565b348015610e4b57600080fd5b506106246132d8565b348015610e6057600080fd5b506102b860048036036020811015610e7757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166132f4565b348015610ea057600080fd5b50610ed460048036036020811015610eb757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613461565b6040805161ffff958616815293909416602084015273ffffffffffffffffffffffffffffffffffffffff9182168385015216606082015290519081900360800190f35b348015610f2357600080fd5b50610f7160048036036080811015610f3a57600080fd5b5061ffff813581169160208101359091169073ffffffffffffffffffffffffffffffffffffffff60408201351690606001356134ad565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610fab578181015183820152602001610f93565b50505050905090810190601f168015610fd85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ff257600080fd5b506102fa613768565b34801561100757600080fd5b506107fd6004803603604081101561101e57600080fd5b61ffff823516919081019060408101602082013564010000000081111561104457600080fd5b82018360208201111561105657600080fd5b8035906020019184600183028401116401000000008311171561107857600080fd5b509092509050613778565b600054819061ffff7401000000000000000000000000000000000000000090910481169082161115806110b9575061ffff818116145b6110f45760405162461bcd60e51b815260040180806020018281038252602c8152602001806138c0602c913960400191505060405180910390fd5b336000818152600460209081526040808320805461ffff88167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909116811782558085526001808552948390205494820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9690961695909517909455815194855291840192909252815190927ff2bc255571446a2f9b7cb2f0c75fd6a279bdb469f515d5a5c9910f713aeb32ca92908290030190a1505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260408120805461ffff161561120257805461ffff1661120a565b60025461ffff165b9150505b919050565b61121b6137c5565b73ffffffffffffffffffffffffffffffffffffffff16611239611e61565b73ffffffffffffffffffffffffffffffffffffffff16146112a1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600054819061ffff7401000000000000000000000000000000000000000090910481169082161115806112d7575061ffff818116145b6113125760405162461bcd60e51b815260040180806020018281038252602c8152602001806138c0602c913960400191505060405180910390fd5b61ffff82166113525760405162461bcd60e51b8152600401808060200182810382526028815260200180613afb6028913960400191505060405180910390fd5b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff848116918217808455908116600090815260016020908152604091829020547fffffffffffffffff0000000000000000000000000000000000000000ffffffff90931673ffffffffffffffffffffffffffffffffffffffff9093166401000000000292909217909355825191825291517feb685c087d38029bbde35299b748c6b80f099c7e5c3f9fe2dbb3ace1099e3b07929181900390910190a15050565b61ffff8316600090815260076020526040808220905182919085908590808383808284379190910194855250506040519283900360200190922060010154151593505050509392505050565b600054819061ffff74010000000000000000000000000000000000000000909104811690821611158061149c575061ffff818116145b6114d75760405162461bcd60e51b815260040180806020018281038252602c8152602001806138c0602c913960400191505060405180910390fd5b33600081815260046020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000061ffff8916908102919091178083558186526001855294839020547fffffffffffffffff0000000000000000000000000000000000000000ffffffff90951673ffffffffffffffffffffffffffffffffffffffff90951664010000000002949094178155815194855291840192909252815190927f9c199418af68d1547d7b99c71ee6a9eb18b27990dfcfb38982f3e3fb8c7b6bef92908290030190a1505050565b6115bb6137c5565b73ffffffffffffffffffffffffffffffffffffffff166115d9611e61565b73ffffffffffffffffffffffffffffffffffffffff1614611641576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166116935760405162461bcd60e51b815260040180806020018281038252602d815260200180613a51602d913960400191505060405180910390fd5b60005461ffff740100000000000000000000000000000000000000009091048116106116f05760405162461bcd60e51b815260040180806020018281038252602c815260200180613a25602c913960400191505060405180910390fd5b60008054600161ffff7401000000000000000000000000000000000000000080840482168301821681027fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff909416939093178085558390048116845260209182526040808520805473ffffffffffffffffffffffffffffffffffffffff88167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790559354845193900416825291517f18c7402e58a1bec57f4eb75af242f65ababbbe09d9db383e0542f00635e5b8c5929181900390910190a150565b600081565b7f000000000000000000000000000000000000000000000000000000000000000090565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602052604081208054829190829061ffff161561184e57600182015473ffffffffffffffffffffffffffffffffffffffff16611870565b600254640100000000900473ffffffffffffffffffffffffffffffffffffffff165b90508073ffffffffffffffffffffffffffffffffffffffff166340a7bb108c8c8c8c8c8c8c6040518863ffffffff1660e01b8152600401808861ffff1681526020018773ffffffffffffffffffffffffffffffffffffffff168152602001806020018515158152602001806020018381038352888882818152602001925080828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509950505050505050505050604080518083038186803b15801561196c57600080fd5b505afa158015611980573d6000803e3d6000fd5b505050506040513d604081101561199657600080fd5b508051602090910151909c909b509950505050505050505050565b61ffff83166000908152600760205260408082209051849084908083838082843791909101948552505060405192839003602001909220600181015490935015159150611a479050576040805162461bcd60e51b815260206004820152601c60248201527f4c617965725a65726f3a206e6f2073746f726564207061796c6f616400000000604482015290519081900360640190fd5b805468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff163314611abe576040805162461bcd60e51b815260206004820152601960248201527f4c617965725a65726f3a20696e76616c69642063616c6c657200000000000000604482015290519081900360640190fd5b80547fffffffff00000000000000000000000000000000000000000000000000000000168155600060018201556040805161ffff86168152602081018281529181018490527f23d2684f396e92a6e2ff2d16f98e6fea00d50cb27a64b531bc0748f730211f98918691869186919060608201848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201829003965090945050505050a150505050565b600254640100000000900473ffffffffffffffffffffffffffffffffffffffff1681565b60025461ffff1681565b611bb26137c5565b73ffffffffffffffffffffffffffffffffffffffff16611bd0611e61565b73ffffffffffffffffffffffffffffffffffffffff1614611c38576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260408120805461ffff62010000909104811690811415611d195760405162461bcd60e51b815260040180806020018281038252602b815260200180613b52602b913960400191505060405180910390fd5b61ffff8116611d8e5760025462010000900461ffff9081161415611d6e5760405162461bcd60e51b81526004018080602001828103825260358152602001806138ec6035913960400191505060405180910390fd5b60035473ffffffffffffffffffffffffffffffffffffffff169250611db1565b8154640100000000900473ffffffffffffffffffffffffffffffffffffffff1692505b5050919050565b600760209081526000928352604090922081518083018401805192815290840192909301919091209152805460019091015467ffffffffffffffff82169168010000000000000000900473ffffffffffffffffffffffffffffffffffffffff169083565b61ffff8216600090815260066020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205467ffffffffffffffff1692915050565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005602090815260009283526040909220815180830184018051928152908401929093019190912091525467ffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260408120805461ffff90811690811415611f455760405162461bcd60e51b81526004018080602001828103825260288152602001806139fd6028913960400191505060405180910390fd5b61ffff8116611fbc5760025461ffff9081161415611f945760405162461bcd60e51b81526004018080602001828103825260328152602001806139956032913960400191505060405180910390fd5b600254640100000000900473ffffffffffffffffffffffffffffffffffffffff169250611db1565b506001015473ffffffffffffffffffffffffffffffffffffffff1692915050565b61ffff81565b600854610100900460ff16600114612042576040805162461bcd60e51b815260206004820181905260248201527f4c617965725a65726f3a206e6f2072656365697665207265656e7472616e6379604482015290519081900360640190fd5b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661020017905561ffff851660009081526007602052604080822090518690869080838380828437919091019485525050604051928390036020019092206001810154909350151591506121049050576040805162461bcd60e51b815260206004820152601c60248201527f4c617965725a65726f3a206e6f2073746f726564207061796c6f616400000000604482015290519081900360640190fd5b805467ffffffffffffffff168214801561213f5750806001015483836040518083838082843780830192505050925050506040518091039020145b612190576040805162461bcd60e51b815260206004820152601a60248201527f4c617965725a65726f3a20696e76616c6964207061796c6f6164000000000000604482015290519081900360640190fd5b80547fffffffff000000000000000000000000000000000000000000000000000000008116825560006001830181905561ffff881681526005602052604080822090516801000000000000000090930473ffffffffffffffffffffffffffffffffffffffff16928890889080838380828437919091019485525050604051928390036020018320547e1d356700000000000000000000000000000000000000000000000000000000845261ffff8c166004850190815267ffffffffffffffff90911660448501819052608060248601908152608486018c905290955073ffffffffffffffffffffffffffffffffffffffff871694621d356794508d93508c928c9288928d928d929091606481019060a401888880828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b15801561232357600080fd5b505af1158015612337573d6000803e3d6000fd5b505050507f612434f39581c8e7d99746c9c20c6eb0ce8c0eb99f007c5719d620841370957d8888888486604051808661ffff168152602001806020018467ffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039850909650505050505050a15050600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055505050505050565b600660209081526000928352604080842090915290825290205467ffffffffffffffff1681565b61245a6137c5565b73ffffffffffffffffffffffffffffffffffffffff16612478611e61565b73ffffffffffffffffffffffffffffffffffffffff16146124e0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600054819061ffff740100000000000000000000000000000000000000009091048116908216111580612516575061ffff818116145b6125515760405162461bcd60e51b815260040180806020018281038252602c8152602001806138c0602c913960400191505060405180910390fd5b61ffff82166125915760405162461bcd60e51b815260040180806020018281038252602b815260200180613aad602b913960400191505060405180910390fd5b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000061ffff85811682810293909317938490559204909116600090815260016020908152604091829020546003805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000909216919091179055815192835290517f96874dbe70c8a59e7996847475489a70a1b5096ed92cdc858b63ebabd071f8199281900390910190a15050565b60005474010000000000000000000000000000000000000000900461ffff1681565b600854610100900460ff166001146126e0576040805162461bcd60e51b815260206004820181905260248201527f4c617965725a65726f3a206e6f2072656365697665207265656e7472616e6379604482015290519081900360640190fd5b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661020017905561ffff8816600090815260056020526040908190209051889088908083838082843791909101948552505060405192839003602001909220805467ffffffffffffffff80821660010181167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090921682179092559087161491506127d99050576040805162461bcd60e51b815260206004820152601660248201527f4c617965725a65726f3a2077726f6e67206e6f6e636500000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff85166000908152600460205260409020805462010000900461ffff166128695760035473ffffffffffffffffffffffffffffffffffffffff1633146128645760405162461bcd60e51b81526004018080602001828103825260228152602001806139216022913960400191505060405180910390fd5b6128dc565b8054640100000000900473ffffffffffffffffffffffffffffffffffffffff1633146128dc576040805162461bcd60e51b815260206004820152601a60248201527f4c617965725a65726f3a20696e76616c6964206c696272617279000000000000604482015290519081900360640190fd5b61ffff891660009081526007602052604080822090518a908a90808383808284379190910194855250506040519283900360200190922060018101549093501591506129719050576040805162461bcd60e51b815260206004820152601e60248201527f4c617965725a65726f3a20696e206d65737361676520626c6f636b696e670000604482015290519081900360640190fd5b8673ffffffffffffffffffffffffffffffffffffffff16621d3567868c8c8c8b8a8a6040518863ffffffff1660e01b8152600401808761ffff168152602001806020018567ffffffffffffffff168152602001806020018381038352888882818152602001925080828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600088803b158015612a5857600080fd5b5087f193505050508015612a6a575060015b612d2e573d808015612a98576040519150601f19603f3d011682016040523d82523d6000602084013e612a9d565b606091505b5060405180606001604052808686905067ffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815260200186866040518083838082843780830192505050925050506040518091039020815250600760008d61ffff1661ffff1681526020019081526020016000208b8b604051808383808284378083019250505092505050908152602001604051809103902060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101559050507f0f9e4d95b62f08222d612b5ab92039cd8fbbbea550a95e8df9f927436bbdf5db8b8b8b8b8b8a8a88604051808961ffff168152602001806020018773ffffffffffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff168152602001806020018060200184810384528b8b82818152602001925080828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909101858103845287815260200190508787808284376000838201819052601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690920186810384528751815287516020918201939189019250908190849084905b83811015612ce9578181015183820152602001612cd1565b50505050905090810190601f168015612d165780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a1505b5050600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555050505050505050565b60085460ff16600114612dc0576040805162461bcd60e51b815260206004820152601d60248201527f4c617965725a65726f3a206e6f2073656e64207265656e7472616e6379000000604482015290519081900360640190fd5b6008805460027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911617905533600081815260046020908152604080832061ffff8e1684526006835281842094845293909152902080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000811667ffffffffffffffff91821660010191821617909155612e5a826137c9565b73ffffffffffffffffffffffffffffffffffffffff16634d3a0f7c3433848f8f8f8f8f8f8f8f8f6040518d63ffffffff1660e01b8152600401808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b67ffffffffffffffff1681526020018a61ffff16815260200180602001806020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184810384528c8c82818152602001925080828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910185810384528a815260200190508a8a80828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910185810383528681526020019050868680828437600081840152601f19601f8201169050808301925050509e5050505050505050505050505050506000604051808303818588803b158015612fe457600080fd5b505af1158015612ff8573d6000803e3d6000fd5b5050600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050505050505050505050565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b600854610100900460ff1660021490565b600054859061ffff7401000000000000000000000000000000000000000090910481169082161115806130a4575061ffff818116145b6130df5760405162461bcd60e51b815260040180806020018281038252602c8152602001806138c0602c913960400191505060405180910390fd5b61ffff861661313f5760025461ffff8082166201000090920416146131355760405162461bcd60e51b81526004018080602001828103825260368152602001806139c76036913960400191505060405180910390fd5b60025461ffff1695505b61ffff86811614156131825760405162461bcd60e51b815260040180806020018281038252602f815260200180613b23602f913960400191505060405180910390fd5b61ffff808716600090815260016020526040908190205490517ff8e1734c000000000000000000000000000000000000000000000000000000008152918716600483019081523360248401819052604484018890526080606485019081526084850187905273ffffffffffffffffffffffffffffffffffffffff9093169363f8e1734c938a938a928a928a929160a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561325157600080fd5b505af1158015613265573d6000803e3d6000fd5b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260408120805462010000900461ffff16156132b857805462010000900461ffff1661120a565b505060025462010000900461ffff16919050565b60085460ff1660021490565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b6132fc6137c5565b73ffffffffffffffffffffffffffffffffffffffff1661331a611e61565b73ffffffffffffffffffffffffffffffffffffffff1614613382576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166133d45760405162461bcd60e51b81526004018080602001828103825260268152602001806139436026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6004602052600090815260409020805460019091015461ffff808316926201000081049091169173ffffffffffffffffffffffffffffffffffffffff6401000000009092048216911684565b600054606090859061ffff7401000000000000000000000000000000000000000090910481169082161115806134e6575061ffff818116145b6135215760405162461bcd60e51b815260040180806020018281038252602c8152602001806138c0602c913960400191505060405180910390fd5b61ffff86166135815760025461ffff8082166201000090920416146135775760405162461bcd60e51b815260040180806020018281038252602c815260200180613969602c913960400191505060405180910390fd5b60025461ffff1695505b61ffff86811614156135c45760405162461bcd60e51b815260040180806020018281038252602f815260200180613a7e602f913960400191505060405180910390fd5b61ffff8087166000908152600160205260408082205481517f52d2871f000000000000000000000000000000000000000000000000000000008152938916600485015273ffffffffffffffffffffffffffffffffffffffff88811660248601526044850188905291519116926352d2871f926064808301939192829003018186803b15801561365257600080fd5b505afa158015613666573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405260208110156136ad57600080fd5b81019080805160405193929190846401000000008211156136cd57600080fd5b9083019060208201858111156136e257600080fd5b82516401000000008111828201881017156136fc57600080fd5b82525081516020918201929091019080838360005b83811015613729578181015183820152602001613711565b50505050905090810190601f1680156137565780820380516001836020036101000a031916815260200191505b50604052505050915050949350505050565b60025462010000900461ffff1681565b61ffff831660009081526005602052604080822090518490849080838380828437919091019485525050604051928390036020019092205467ffffffffffffffff16925050509392505050565b3390565b805460009061ffff166138435760025461ffff908116141561381c5760405162461bcd60e51b8152600401808060200182810382526023815260200180613ad86023913960400191505060405180910390fd5b50600254640100000000900473ffffffffffffffffffffffffffffffffffffffff1661120e565b815461ffff908116141561389e576040805162461bcd60e51b815260206004820152601b60248201527f4c617965725a65726f3a20696e20424c4f434b5f56455253494f4e0000000000604482015290519081900360640190fd5b50600181015473ffffffffffffffffffffffffffffffffffffffff1661120e56fe4c617965725a65726f3a20696e76616c6964206d6573736167696e67206c6962726172792076657273696f6e4c617965725a65726f3a20726563656976652076657273696f6e202864656661756c742920697320424c4f434b5f56455253494f4e4c617965725a65726f3a20696e76616c69642064656661756c74206c6962726172794f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734c617965725a65726f3a206e6f2044454641554c5420636f6e666967207768696c65206d6967726174696f6e4c617965725a65726f3a2073656e642076657273696f6e202864656661756c742920697320424c4f434b5f56455253494f4e4c617965725a65726f3a2063616e206e6f742073657420436f6e66696720647572696e672044454641554c54206d6967726174696f6e4c617965725a65726f3a2073656e642076657273696f6e20697320424c4f434b5f56455253494f4e4c617965725a65726f3a2063616e206e6f7420616464206e6577206d6573736167696e67206c6962726172794c617965725a65726f3a206e65772076657273696f6e2063616e6e6f74206265207a65726f20616464726573734c617965725a65726f3a2063616e206e6f742067657420636f6e66696720666f7220424c4f434b5f56455253494f4e4c617965725a65726f3a2064656661756c7420726563656976652076657273696f6e206d757374203e20304c617965725a65726f3a2064656661756c7420696e20424c4f434b5f56455253494f4e4c617965725a65726f3a2064656661756c742073656e642076657273696f6e206d757374203e20304c617965725a65726f3a2063616e206e6f742073657420636f6e66696720666f7220424c4f434b5f56455253494f4e4c617965725a65726f3a20726563656976652076657273696f6e20697320424c4f434b5f56455253494f4ea2646970667358221220e6b5d21c6f8c2c9877013db38439d495d6ef7349de08e614e2356e88b774c06c64736f6c63430007060033000000000000000000000000000000000000000000000000000000000000009e82044d80807f4ebc2aa2094ed76bdd7b3decc5ee77c3dd5c0c380ae2b0926bac397ea707875bd7a635a6066569aa8d4dfbe6258e2f53f9608fc67595f1e4ceae69cd0db4db1cf8e00185015e79ae00830171068080b8cc608060405234801561001057600080fd5b5060ad8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063b5f9dc9114602d575b600080fd5b605d60048036036020811015604157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166071565b604080519115158252519081900360200190f35b3b15159056fea2646970667358221220363832ae3e22852496343e3e812f3ee0e4710ce157a54331a13cc230e1e6bed364736f6c6343000706003382044d808042e6833305747c41f4ef9175829027af4713202c75a9a1638b7e7d7429a71f6d7aa4a43ac756ab42f3b4a91587321abfe8db08807cfed41f047e9013929a980b1bf90b890285015b7ebd80830a4ce18080b90b74608060405234801561001057600080fd5b50604051610b54380380610b548339818101604052602081101561003357600080fd5b5051600080546001600160a01b0319166001600160a01b03831690811782556040518392907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35050610ac68061008e6000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461015d57806399a88ec414610229578063f2fde38b14610271578063f3b7dead146102b15761007b565b8063204e1c7a14610080578063715018a6146100e95780637eff275e146101005780638da5cb5b14610148575b600080fd5b34801561008c57600080fd5b506100c0600480360360208110156100a357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166102f1565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100f557600080fd5b506100fe6103a9565b005b34801561010c57600080fd5b506100fe6004803603604081101561012357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166104a9565b34801561015457600080fd5b506100c06105bf565b6100fe6004803603606081101561017357600080fd5b73ffffffffffffffffffffffffffffffffffffffff82358116926020810135909116918101906060810160408201356401000000008111156101b457600080fd5b8201836020820111156101c657600080fd5b803590602001918460018302840111640100000000831117156101e857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105db945050505050565b34801561023557600080fd5b506100fe6004803603604081101561024c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602001351661075d565b34801561027d57600080fd5b506100fe6004803603602081101561029457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610857565b3480156102bd57600080fd5b506100c0600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166109e1565b60008060008373ffffffffffffffffffffffffffffffffffffffff1660405180807f5c60da1b000000000000000000000000000000000000000000000000000000008152506004019050600060405180830381855afa9150503d8060008114610376576040519150601f19603f3d011682016040523d82523d6000602084013e61037b565b606091505b50915091508161038a57600080fd5b80806020019051602081101561039f57600080fd5b5051949350505050565b6103b1610a66565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461043a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6104b1610a66565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461053a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff16638f283970826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156105a357600080fd5b505af11580156105b7573d6000803e3d6000fd5b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6105e3610a66565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461066c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b8273ffffffffffffffffffffffffffffffffffffffff16634f1ef2863484846040518463ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106f35781810151838201526020016106db565b50505050905090810190601f1680156107205780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b15801561073f57600080fd5b505af1158015610753573d6000803e3d6000fd5b5050505050505050565b610765610a66565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146107ee57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff16633659cfe6826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156105a357600080fd5b61085f610a66565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146108e857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610954576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a6b6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008060008373ffffffffffffffffffffffffffffffffffffffff1660405180807ff851a440000000000000000000000000000000000000000000000000000000008152506004019050600060405180830381855afa9150503d8060008114610376576040519150601f19603f3d011682016040523d82523d6000602084013e61037b565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a264697066735822122033c7eab8e5a7904ed291c191ebc004b4929d46e0bcbd0fea73fa80b0475d931164736f6c6343000706003300000000000000000000000076f6d257ceb5736cbcaab5c48e4225a45f74d6e582044d8080a4151d3e81223293fd36bfdb5fdd134b1f9b37f424b31f26dc81efc4d9f03c0a643d8b5ce2daacdea118cec30f951f62b69ae528978dbb4e6e3afe9f979266f31bf91ecd0385015b7ebd80831a85c48080b91eb8608060405234801561001057600080fd5b50611e98806100206000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80638da5cb5b116100cd578063d350ad2511610081578063e15d16e811610066578063e15d16e8146102ae578063f2fde38b146102c1578063ff37b496146102d457610151565b8063d350ad251461027b578063e0ad121a1461028e57610151565b8063ab1518ab116100b2578063ab1518ab1461024d578063c184032714610260578063c4d66de81461026857610151565b80638da5cb5b146102165780638f7002d21461022b57610151565b806352a7251011610124578063715018a611610109578063715018a6146101cd5780637bc3c9ab146101d55780638ca2fb08146101f657610151565b806352a72510146101a7578063711746e2146101ba57610151565b806315527af6146101565780631824a46b1461016b57806336a5beba146101735780633c04741e14610192575b600080fd5b610169610164366004611aac565b6102e7565b005b610169610450565b61017b610507565b604051610189929190611dcd565b60405180910390f35b61019a61052b565b6040516101899190611d56565b6101696101b5366004611a72565b610543565b6101696101c8366004611b1c565b610641565b6101696106ea565b6101e86101e3366004611c13565b610801565b604051610189929190611dad565b610209610204366004611a51565b6108bf565b6040516101899190611c9a565b61021e6108d4565b6040516101899190611c79565b61023e610239366004611bf9565b6108f0565b60405161018993929190611d73565b6101e861025b366004611c13565b610957565b61019a610b11565b610169610276366004611a51565b610b29565b610169610289366004611bdf565b610d48565b6102a161029c366004611bf9565b610e33565b6040516101899190611d13565b6101e86102bc366004611c13565b610ec3565b6101696102cf366004611a51565b610f93565b6101e86102e2366004611c13565b611135565b336102f06108d4565b73ffffffffffffffffffffffffffffffffffffffff161461035d573360009081526066602052604090205460ff1661035d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035490611ca5565b60405180910390fd5b60005b8181101561044b573683838381811061037557fe5b60c0029190910191506103a790506103906020830183611bf9565b6103a236849003840160208501611b7a565b611242565b60006103b960a0830160808401611c5f565b905060006103cd60c0840160a08501611c45565b6068805463ffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff67ffffffffffffffff9095167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009093169290921793909316179091555050600101610360565b505050565b600061045a61135e565b905073ffffffffffffffffffffffffffffffffffffffff81166104b35773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103556104d5565b3373ffffffffffffffffffffffffffffffffffffffff8216146104d557600080fd5b50606580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166402540be400179055565b60685467ffffffffffffffff81169068010000000000000000900463ffffffff1682565b6065546fffffffffffffffffffffffffffffffff1681565b61054b611383565b73ffffffffffffffffffffffffffffffffffffffff166105696108d4565b73ffffffffffffffffffffffffffffffffffffffff16146105eb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260666020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b3361064a6108d4565b73ffffffffffffffffffffffffffffffffffffffff16146106ae573360009081526066602052604090205460ff166106ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035490611ca5565b60005b8181101561044b57368383838181106106c657fe5b6080029190910191506106e190506103906020830183611bf9565b506001016106b1565b6106f2611383565b73ffffffffffffffffffffffffffffffffffffffff166107106108d4565b73ffffffffffffffffffffffffffffffffffffffff161461079257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60335460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6000808461ffff16606e148061081c57508461ffff1661279f145b8061082c57508461ffff16614eaf145b156108455761083c858585611135565b915091506108b7565b8461ffff16606f148061085d57508461ffff16612794145b8061086d57508461ffff16614ea4145b8061087c57508461ffff166097145b8061088c57508461ffff166127a7145b8061089c57508461ffff16614eb7145b156108ac5761083c858585610957565b61083c858585610ec3565b935093915050565b60666020526000908152604090205460ff1681565b60335473ffffffffffffffffffffffffffffffffffffffff1690565b6067602052600090815260409020546fffffffffffffffffffffffffffffffff811690700100000000000000000000000000000000810467ffffffffffffffff16907801000000000000000000000000000000000000000000000000900463ffffffff1683565b600080600061096586611387565b61ffff811660009081526067602052604081208054929350916109bd90610c74906109b7908a9063ffffffff780100000000000000000000000000000000000000000000000090910481169061146116565b906114dd565b82549091506000906109ee908390700100000000000000000000000000000000900467ffffffffffffffff16611461565b61ffff8a166000908152606760205260408120805492935091610a38908b9063ffffffff780100000000000000000000000000000000000000000000000090910481169061146116565b8254909150600090610a7290700100000000000000000000000000000000900467ffffffffffffffff16610a6c848d6114dd565b90611461565b6065548754919250600091610aa8916fffffffffffffffffffffffffffffffff90811691610aa291899116611461565b90611551565b6065548554919250600091610ad8916fffffffffffffffffffffffffffffffff90811691610aa291879116611461565b90506000610ae683836114dd565b9554959f6fffffffffffffffffffffffffffffffff9096169e50949c50505050505050505050505050565b6065546fffffffffffffffffffffffffffffffff1690565b6000610b3361135e565b905073ffffffffffffffffffffffffffffffffffffffff8116610b8c5773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610bae565b3373ffffffffffffffffffffffffffffffffffffffff821614610bae57600080fd5b600054610100900460ff1680610bc75750610bc76115d2565b80610bd5575060005460ff16155b610c2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611e14602e913960400191505060405180910390fd5b600054610100900460ff16158015610c9057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610c986115e3565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260666020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055606580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166402540be400179055801561044b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b610d50611383565b73ffffffffffffffffffffffffffffffffffffffff16610d6e6108d4565b73ffffffffffffffffffffffffffffffffffffffff1614610df057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b606580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b610e3b6119af565b5061ffff16600090815260676020908152604091829020825160608101845290546fffffffffffffffffffffffffffffffff81168252700100000000000000000000000000000000810467ffffffffffffffff1692820192909252780100000000000000000000000000000000000000000000000090910463ffffffff169181019190915290565b61ffff8316600090815260676020526040812080548291908290610f0e90879063ffffffff780100000000000000000000000000000000000000000000000090910481169061146116565b8254909150600090610f4290700100000000000000000000000000000000900467ffffffffffffffff16610a6c84896114dd565b6065548454919250610f6f916fffffffffffffffffffffffffffffffff91821691610aa291859116611461565b925492986fffffffffffffffffffffffffffffffff90931697509195505050505050565b610f9b611383565b73ffffffffffffffffffffffffffffffffffffffff16610fb96108d4565b73ffffffffffffffffffffffffffffffffffffffff161461103b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166110a7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611dee6026913960400191505060405180910390fd5b60335460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61ffff83166000908152606760205260408120606854829190829061117190879063ffffffff6801000000000000000090910481169061146116565b82549091506000906111aa90889063ffffffff780100000000000000000000000000000000000000000000000090910481169061146116565b83546068549192506000916111f09167ffffffffffffffff700100000000000000000000000000000000909104811691610a6c9186916109b791899183918f91166114dd565b606554855491925061121d916fffffffffffffffffffffffffffffffff91821691610aa291859116611461565b935493996fffffffffffffffffffffffffffffffff9094169850929650505050505050565b805160208083015160409384015184516060810186526fffffffffffffffffffffffffffffffff948516815267ffffffffffffffff92831681850190815263ffffffff92831682880190815261ffff909816600090815260679095529590932092518354955196519091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff96909216700100000000000000000000000000000000027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff919094167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090951694909417939093169190911792909216179055565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b3390565b60008161ffff16606e14806113a057508161ffff16606f145b806113af57508161ffff166097145b156113bc5750606561145c565b8161ffff1661279414806113d557508161ffff1661279f145b806113e557508161ffff166127a7145b156113f3575061278961145c565b8161ffff16614ea4148061140c57508161ffff16614eaf145b8061141c57508161ffff16614eb7145b1561142a5750614e9961145c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035490611cdc565b919050565b600082611470575060006114d7565b8282028284828161147d57fe5b04146114d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611e426021913960400191505060405180910390fd5b90505b92915050565b6000828201838110156114d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008082116115c157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115ca57fe5b049392505050565b60006115dd30611707565b15905090565b600054610100900460ff16806115fc57506115fc6115d2565b8061160a575060005460ff16155b61165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611e14602e913960400191505060405180910390fd5b600054610100900460ff161580156116c557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b6116cd61170d565b6116d561181f565b801561170457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50565b3b151590565b600054610100900460ff168061172657506117266115d2565b80611734575060005460ff16155b611789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611e14602e913960400191505060405180910390fd5b600054610100900460ff161580156116d557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90911661010017166001179055801561170457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b600054610100900460ff168061183857506118386115d2565b80611846575060005460ff16155b61189b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611e14602e913960400191505060405180910390fd5b600054610100900460ff1615801561190157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600061190b611383565b603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350801561170457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b604080516060810182526000808252602082018190529181019190915290565b803573ffffffffffffffffffffffffffffffffffffffff8116811461145c57600080fd5b80356fffffffffffffffffffffffffffffffff8116811461145c57600080fd5b803561ffff8116811461145c57600080fd5b803563ffffffff8116811461145c57600080fd5b803567ffffffffffffffff8116811461145c57600080fd5b600060208284031215611a62578081fd5b611a6b826119cf565b9392505050565b60008060408385031215611a84578081fd5b611a8d836119cf565b915060208301358015158114611aa1578182fd5b809150509250929050565b60008060208385031215611abe578182fd5b823567ffffffffffffffff80821115611ad5578384fd5b818501915085601f830112611ae8578384fd5b813581811115611af6578485fd5b86602060c083028501011115611b0a578485fd5b60209290920196919550909350505050565b60008060208385031215611b2e578182fd5b823567ffffffffffffffff80821115611b45578384fd5b818501915085601f830112611b58578384fd5b813581811115611b66578485fd5b866020608083028501011115611b0a578485fd5b600060608284031215611b8b578081fd5b6040516060810181811067ffffffffffffffff82111715611ba857fe5b604052611bb4836119f3565b8152611bc260208401611a39565b6020820152611bd360408401611a25565b60408201529392505050565b600060208284031215611bf0578081fd5b611a6b826119f3565b600060208284031215611c0a578081fd5b611a6b82611a13565b600080600060608486031215611c27578081fd5b611c3084611a13565b95602085013595506040909401359392505050565b600060208284031215611c56578081fd5b611a6b82611a25565b600060208284031215611c70578081fd5b611a6b82611a39565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b6020808252601c908201527f5072696365466565643a206e6f74207072696365207570646174657200000000604082015260600190565b6020808252601e908201527f5072696365466565643a20756e6b6e6f776e206c3220636861696e2069640000604082015260600190565b81516fffffffffffffffffffffffffffffffff16815260208083015167ffffffffffffffff169082015260409182015163ffffffff169181019190915260600190565b6fffffffffffffffffffffffffffffffff91909116815260200190565b6fffffffffffffffffffffffffffffffff93909316835267ffffffffffffffff91909116602083015263ffffffff16604082015260600190565b9182526fffffffffffffffffffffffffffffffff16602082015260400190565b67ffffffffffffffff92909216825263ffffffff1660208201526040019056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220f4e3ed078be4efbf632d5230bdf7b05ddda28f7c70c881e715b9e686209fa1cc64736f6c6343000706003382044d8080ec103561189221ce5a8a431b05eda4a02276011587dd600853aa1b7cb1de64c44f7f5bfc0b6767db975cfa6211e112a8bed4be2f0acb98451eafef47e2bd79451bf909d10485015b7ebd80830850428080b909bc60a06040526040516108fc3803806108fc8339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101e9565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b506001600160601b0319606082901b166080527fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035550610297565b6101fc8161025b60201b6103581760201c565b6102375760405162461bcd60e51b81526004018080602001828103825260368152602001806108c66036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061028f57508115155b949350505050565b60805160601c6106126102b46000398061047352506106126000f3fe6080604052600436106100435760003560e01c80633659cfe61461005a5780634f1ef2861461009a5780635c60da1b14610127578063f851a4401461016557610052565b366100525761005061017a565b005b61005061017a565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610194565b610050600480360360408110156100b057600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156100e857600080fd5b8201836020820111156100fa57600080fd5b8035906020019184600183028401116401000000008311171561011c57600080fd5b5090925090506101e8565b34801561013357600080fd5b5061013c6102bc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561017157600080fd5b5061013c610313565b610182610394565b61019261018d610428565b61044d565b565b61019c610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101dd576101d881610495565b6101e5565b6101e561017a565b50565b6101f0610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102af5761022c83610495565b60008373ffffffffffffffffffffffffffffffffffffffff1683836040518083838082843760405192019450600093509091505080830381855af49150503d8060008114610296576040519150601f19603f3d011682016040523d82523d6000602084013e61029b565b606091505b50509050806102a957600080fd5b506102b7565b6102b761017a565b505050565b60006102c6610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561030857610301610428565b9050610310565b61031061017a565b90565b600061031d610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561030857610301610471565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061038c57508115155b949350505050565b61039c610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604281526020018061059b6042913960600191505060405180910390fd5b610192610192565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561046c573d6000f35b3d6000fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b61049e816104e2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6104eb81610358565b610540576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806105656036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a26469706673582212200f42fc9d1f991236ae26e240c8505def958528031655d7dd335d3988cc0c88f564736f6c634300070600335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd70000000000000000000000003c2269811836af69497e5f486a85d7316753cf6200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000339d413ccefd986b1b3647a9cfa9cbbe70a307490000000000000000000000000000000000000000000000000000000082044d808051c406bff954586e60397160ffc9f88074c9ad7698977befcb1f33d8d8fe51162ef6ec0701f93d5cb860e996e369432cffd98c41884fd9e6f9c779450c9aa4cb1cf904fa05850154f0460083048aed8080b904e560a060405234801561001057600080fd5b506040516104c53803806104c58339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661045961006c600039806101dd528061021a52506104596000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80635e280f11146100465780636fe7b67314610077578063c533338f1461012a575b600080fd5b61004e6101db565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61010d6004803603606081101561008d57600080fd5b61ffff8235169173ffffffffffffffffffffffffffffffffffffffff602082013516918101906060810160408201356401000000008111156100ce57600080fd5b8201836020820111156100e057600080fd5b8035906020019184600183028401116401000000008311171561010257600080fd5b5090925090506101ff565b6040805167ffffffffffffffff9092168252519081900360200190f35b61010d6004803603604081101561014057600080fd5b61ffff823516919081019060408101602082013564010000000081111561016657600080fd5b82018360208201111561017857600080fd5b8035906020019184600183028401116401000000008311171561019a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103bc945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60003373ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639c729da1866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561029f57600080fd5b505afa1580156102b3573d6000803e3d6000fd5b505050506040513d60208110156102c957600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610337576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806103f26032913960400191505060405180910390fd5b6000808661ffff1661ffff1681526020019081526020016000208383604051808383808284379190910194855250506040516020938190039390930190922080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008116600167ffffffffffffffff9283160191821617909155979650505050505050565b6000602081815292815260409020815180830184018051928152908401929093019190912091525467ffffffffffffffff168156fe4e6f6e6365436f6e74726163743a206d73672e73656e646572206973206e6f742076616c69642073656e646c696272617279a26469706673582212207b75dbee65cda6796c99e989b0433d8d6cd841a433b64ec28a9ef98519e7cd4b64736f6c634300070600330000000000000000000000009740ff91f1985d8d2b71494ae1a2f723bb3ed9e482044d8080658ff10adb1f512221e1bd97f2b22f3c90d6adeafc5b1982d66fe7b3055fb5ee1c1a33309571ebab182ee67e0c6d990d2cfdb1f083b236934348e0205ca2d9401bf914bc06850154f046008311a90c8080b914a760c06040526000805461ff001960ff199091166002171661010017905534801561002857600080fd5b5060405161146738038061146783398101604081905261004791610081565b6001600160601b0319606092831b8116608052911b1660a0526100b3565b80516001600160a01b038116811461007c57600080fd5b919050565b60008060408385031215610093578182fd5b61009c83610065565b91506100aa60208401610065565b90509250929050565b60805160601c60a05160601c6113816100e6600039806103dc528061045f525080610200528061037152506113816000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80636348d26911610081578063d633ad611161005b578063d633ad6114610184578063e965c1921461018c578063ea455df914610194576100c9565b80636348d269146101545780639bcd850f14610169578063b71e0f7114610171576100c9565b80632ff20449116100b25780632ff204491461010c57806347713b391461012c5780635711c2a814610134576100c9565b806305af5d35146100ce5780630f222e65146100ec575b600080fd5b6100d66101a7565b6040516100e391906111e3565b60405180910390f35b6100ff6100fa366004610cfa565b6101b0565b6040516100e391906111b4565b61011f61011a366004610e6f565b6101c2565b6040516100e39190611106565b6100d66101dd565b610147610142366004610df7565b6101eb565b6040516100e3919061103d565b61015c6101fe565b6040516100e3919061101c565b6100d6610222565b61011f61017f366004610d7a565b61022b565b6100d661044f565b61015c61045d565b6101476101a2366004610df7565b610481565b60005460ff1681565b6101b8610aeb565b9695505050505050565b6101ca610b0a565b6101d584848461048c565b949350505050565b600054610100900460ff1681565b60606101f682610666565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1690565b610233610b0a565b60008211610276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026d906110cf565b60405180910390fd5b60208311801561029c575084848460405161029292919061100c565b6040518091039020145b6102d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026d90611072565b60006102e160208286886112f7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505060208083015192935061036d915061032f908790818a6112f7565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925085915061048c9050565b92507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff1614156103da576103d48360c00151610666565b60c08401525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff1614156104455761043f8360c00151610787565b60c08401525b5050949350505050565b600054610100900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606101f682610787565b610494610b0a565b835160006104a3856020610831565b90508082101561051457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6008860151600a870151868801600c8101516020909101518486039392919061ffff83166105a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6105ab610b48565b6105b5818c6108ae565b506105c58160008e602a8f6108e8565b506105ce610b48565b86156105fc576105de81886108ae565b506105fa60008e6105f08b6020610831565b849291908b6108e8565b505b6040805160e08101825261ffff968716815294909516602085015267ffffffffffffffff9095169383019390935273ffffffffffffffffffffffffffffffffffffffff1660608201529051608082015260a08101879052905160c082015293505050509392505050565b6020810151606090600160ff82161415610780576000806000806000806000898060200190518101906106999190610ebb565b975097509750975097509750975050600081511115610778578151600090156106c3575060148201515b803b80610775576000826040516020016106dd9190610fdc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260208381018352600080855292519194509192610733928f928f928f928f928f928f928b92016111f1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529c506101f99b505050505050505050505050565b50505b505050505050505b5090919050565b6060600080838060200190518101906107a09190610e2a565b91509150600080835111156107b6575060148201515b73ffffffffffffffffffffffffffffffffffffffff81166108285760405161dead906000906107e9908390602001610fdc565b6040516020818303038152906040529050808460405160200161080d929190611050565b604051602081830303815290604052955050505050506101f9565b50929392505050565b6000828201838110156108a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6108b6610b48565b60208206156108cb5760208206602003820191505b506020828101829052604080518085526000815290920101905290565b6108f0610b48565b8560200151828601111561091a5761091a8661091288602001518886016109c2565b6002026109d9565b6000808751805188602083010193508089870111156109395788860182525b5050508484015b6020841061097d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610940565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b6000818311156109d35750816108a8565b50919050565b81516109e583836108ae565b506109f083826109f6565b50505050565b6109fe610b48565b6108a583846000015151848551610a13610b48565b8251821115610a2157600080fd5b84602001518285011115610a4357610a438561091287602001518786016109c2565b600080865180518760208301019350808887011115610a625787860182525b505050602084015b60208410610aa757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610a6a565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060608152602001600081525090565b60008083601f840112610b73578081fd5b50813567ffffffffffffffff811115610b8a578182fd5b6020830191508360208083028501011115610ba457600080fd5b9250929050565b600082601f830112610bbb578081fd5b8135610bce610bc9826112b7565b611293565b818152846020838601011115610be2578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112610c0c578081fd5b8151610c1a610bc9826112b7565b818152846020838601011115610c2e578283fd5b6101d582602083016020870161131f565b600060408284031215610c50578081fd5b6040516040810181811067ffffffffffffffff82111715610c6d57fe5b604052825181526020928301519281019290925250919050565b600060c08284031215610c98578081fd5b60405160c0810181811067ffffffffffffffff82111715610cb557fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b60008060008060008060808789031215610d12578182fd5b86359550602087013567ffffffffffffffff80821115610d30578384fd5b610d3c8a838b01610b62565b9097509550604089013594506060890135915080821115610d5b578384fd5b50610d6889828a01610b62565b979a9699509497509295939492505050565b60008060008060608587031215610d8f578384fd5b84359350602085013567ffffffffffffffff80821115610dad578485fd5b818701915087601f830112610dc0578485fd5b813581811115610dce578586fd5b886020828501011115610ddf578586fd5b95986020929092019750949560400135945092505050565b600060208284031215610e08578081fd5b813567ffffffffffffffff811115610e1e578182fd5b6101d584828501610bab565b60008060408385031215610e3c578182fd5b825167ffffffffffffffff811115610e52578283fd5b610e5e85828601610bfc565b925050602083015190509250929050565b600080600060608486031215610e83578283fd5b833567ffffffffffffffff811115610e99578384fd5b610ea586828701610bab565b9660208601359650604090950135949350505050565b6000806000806000806000806101c0898b031215610ed7578182fd5b885160ff81168114610ee7578283fd5b80985050602089015196506040890151955060608901519450610f0d8a60808b01610c3f565b9350610f1c8a60c08b01610c87565b925061018089015167ffffffffffffffff80821115610f39578384fd5b610f458c838d01610bfc565b93506101a08b0151915080821115610f5b578283fd5b50610f688b828c01610bfc565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452610faa81602086016020860161131f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6000602082526108a56020830184610f92565b6000604082526110636040830185610f92565b90508260208301529392505050565b60208082526023908201527f50726f6f664c69623a20696e76616c6964207472616e73616374696f6e20707260408201527f6f6f660000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161114b6080840182610f78565b50608083015160e060a0840152611166610100840182610f92565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526111ab8282610f92565b95945050505050565b600060208252825160208301526020830151604083015260408301516060808401526101d56080840182610f92565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261126f81840186610f92565b90508281036101a08401526112848185610f92565b9b9a5050505050505050505050565b60405181810167ffffffffffffffff811182821017156112af57fe5b604052919050565b600067ffffffffffffffff8211156112cb57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008085851115611306578182fd5b83861115611312578182fd5b5050820193919092039150565b60005b8381101561133a578181015183820152602001611322565b838111156109f0575050600091015256fea26469706673582212200b4f78e34b5688581d76fe7d274a93eea70ee98c0e3d891e92de726f9917bed364736f6c634300070600330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082044d8080b45c8eb986ebdd35607baaafafa4c01f65ce7d34f0c5f26f151f270c16bb0f7b467e9acdfdc0a37eafc124091d794983e18dc8d1f4e00903af5d4ae779a2713e1cf9215107850154f04600831c2be98080b9213c60c060405260008054600160ff199091161761ff0019166104001790553480156200002957600080fd5b50604051620020fc380380620020fc8339810160408190526200004c9162000088565b6001600160601b0319606092831b8116608052911b1660a052620000bf565b80516001600160a01b03811681146200008357600080fd5b919050565b600080604083850312156200009b578182fd5b620000a6836200006b565b9150620000b6602084016200006b565b90509250929050565b60805160601c60a05160601c612009620000f3600039806103a7528061045052508061022b528061033c52506120096000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639bcd850f11610081578063d633ad611161005b578063d633ad61146101a4578063e965c192146101ac578063ea455df9146101b4576100d4565b80639bcd850f14610174578063b71e0f711461017c578063be9d395e1461018f576100d4565b806347713b39116100b257806347713b39146101375780635711c2a81461013f5780636348d2691461015f576100d4565b806305af5d35146100d95780630f222e65146100f75780632ff2044914610117575b600080fd5b6100e16101c7565b6040516100ee9190611e0b565b60405180910390f35b61010a6101053660046118bf565b6101d0565b6040516100ee9190611ddc565b61012a610125366004611a28565b6101ed565b6040516100ee9190611d37565b6100e1610208565b61015261014d3660046119b0565b610216565b6040516100ee9190611bef565b610167610229565b6040516100ee9190611bc5565b6100e161024d565b61012a61018a366004611933565b610256565b61019761041c565b6040516100ee9190611be6565b6100e1610440565b61016761044e565b6101526101c23660046119b0565b610472565b60005460ff1681565b6101d8611599565b6101e48585858561047d565b95945050505050565b6101f56115b8565b61020084848461062c565b949350505050565b600054610100900460ff1681565b60606102218261079b565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1690565b61025e6115b8565b600082116102a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029890611d00565b60405180910390fd5b600080806102b186880188611855565b92509250925060006102c58984848761047d565b60208101519091507fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea8214610325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029890611c92565b610338816040015187836000015161062c565b94507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16856060015173ffffffffffffffffffffffffffffffffffffffff1614156103a55761039f8560c0015161079b565b60c08601525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16856060015173ffffffffffffffffffffffffffffffffffffffff1614156104105761040a8560c001516108bc565b60c08601525b50505050949350505050565b7fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea8281565b600054610100900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060610221826108bc565b610485611599565b81518451146104c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029890611c24565b60008251116104fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029890611cc9565b6105036115f6565b606060005b84518110156105af5784818151811061051d57fe5b6020026020010151915081805190602001208814610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029890611c5b565b61058d87828151811061057657fe5b602002602001015161058784610966565b906109da565b925060018551038110156105a7576105a483610b96565b97505b600101610508565b5060006105c0600361058785610cb3565b905060006105d66105d183896109da565b610d3f565b90506105e0611599565b6105f16105ec83610deb565b610b96565b81526106046105ec600061058785610deb565b602082015261061a61061583610deb565b610e9b565b60408201529998505050505050505050565b6106346115b8565b60408401516048850151604a860151858701604c81015160609091015161ffff83166106c157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6106c9611610565b6106d3818a610fc8565b506106e38160008c606a8d611002565b5060006106f18a60206110dc565b905060006106ff8883611157565b9050610709611610565b6107138183610fc8565b5061072f60008e6107258660606110dc565b8492919086611002565b506040805160e08101825261ffff988916815296909716602087015267ffffffffffffffff909716958501959095525073ffffffffffffffffffffffffffffffffffffffff909116606083015251608082015260a08101869052915160c0830152509150509392505050565b6020810151606090600160ff821614156108b5576000806000806000806000898060200190518101906107ce9190611a74565b9750975097509750975097509750506000815111156108ad578151600090156107f8575060148201515b803b806108aa576000826040516020016108129190611b95565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260208381018352600080855292519194509192610868928f928f928f928f928f928f928b9201611e19565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529c506102249b505050505050505050505050565b50505b505050505050505b5090919050565b6060600080838060200190518101906108d591906119e3565b91509150600080835111156108eb575060148201515b73ffffffffffffffffffffffffffffffffffffffff811661095d5760405161dead9060009061091e908390602001611b95565b60405160208183030381529060405290508084604051602001610942929190611c02565b60405160208183030381529060405295505050505050610224565b50929392505050565b61096e6115f6565b602082018051835160009190911a90801580159061098f575060c060ff8316105b156109be57600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040805180820190915290815260208101929092525092915050565b6109e26115f6565b6109eb836111ce565b610a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611f926021913960400191505060405180910390fd5b610a4983611208565b8210610ab657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b8251602084015190810190600090610acd90611260565b60208601510190506000805b85811015610af857610aea836112ff565b928301929150600101610ad9565b50610b02826112ff565b9050828183011115610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610bab57508151602110155b610c1657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610c258360200151611260565b90508083600001511015610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610caa57826020036101000a820491505b50949350505050565b610cbb6115f6565b6000610cca8360200151611260565b60208401518451908201805192935060009290921a91908015801590610cf3575060c060ff8416105b15610d2257600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b610d4761162a565b610d50826111ce565b610dbb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b6000610dca8360200151611260565b60208085015160408051808201909152868152920190820152915050919050565b610df36115f6565b610dfc826113d4565b610e6757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b60208201516000610e77826112ff565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090610ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611fb36021913960400191505060405180910390fd5b6000610f048360200151611260565b90508083600001511015610f63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180611f6a6028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff81118015610f8157600080fd5b506040519080825280601f01601f191660200182016040528015610fac576020820181803683370190505b5090506000816020019050610caa8487602001510182856113e9565b610fd0611610565b6020820615610fe55760208206602003820191505b506020828101829052604080518085526000815290920101905290565b61100a611610565b85602001518286011115611034576110348661102c8860200151888601611470565b600202611487565b6000808751805188602083010193508089870111156110535788860182525b5050508484015b6020841061109757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909301926020918201910161105a565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b60008282018381101561115057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156111c857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80516000906111df57506000610224565b6020820151805160001a9060c08210156111fe57600092505050610224565b5060019392505050565b805160009061121957506000610224565b6000806112298460200151611260565b602085015185519181019250015b8082101561125757611248826112ff565b60019093019290910190611237565b50909392505050565b8051600090811a608081101561127a576000915050610224565b60b8811080611295575060c08110801590611295575060f881105b156112a4576001915050610224565b60c08110156112d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a019050610224565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a019050610224565b80516000908190811a608081101561131a57600191506113cd565b60b881101561134d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81810191506113cd565b60c081101561137a5760b78103600185019450806020036101000a855104600182018101935050506113cd565b60f88110156113ad577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41810191506113cd565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b806113f35761146b565b5b602081106114315782518252602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016113f4565b8251825160208390036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161782525b505050565b600081831115611481575081610b90565b50919050565b81516114938383610fc8565b5061149e83826114a4565b50505050565b6114ac611610565b611150838460000151518485516114c1611610565b82518211156114cf57600080fd5b846020015182850111156114f1576114f18561102c8760200151878601611470565b6000808651805187602083010193508088870111156115105787860182525b505050602084015b6020841061155557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101611518565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b604051806040016040528061163d6115f6565b8152602001600081525090565b600082601f83011261165a578081fd5b8135602061166f61166a83611edf565b611ebb565b82815281810190858301855b858110156116a457611692898684358b010161170b565b8452928401929084019060010161167b565b5090979650505050505050565b600082601f8301126116c1578081fd5b813560206116d161166a83611edf565b82815281810190858301838502870184018810156116ed578586fd5b855b858110156116a4578135845292840192908401906001016116ef565b600082601f83011261171b578081fd5b813561172961166a82611efd565b81815284602083860101111561173d578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611767578081fd5b815161177561166a82611efd565b818152846020838601011115611789578283fd5b610200826020830160208701611f3d565b6000604082840312156117ab578081fd5b6040516040810181811067ffffffffffffffff821117156117c857fe5b604052825181526020928301519281019290925250919050565b600060c082840312156117f3578081fd5b60405160c0810181811067ffffffffffffffff8211171561181057fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b600080600060608486031215611869578283fd5b833567ffffffffffffffff80821115611880578485fd5b61188c8783880161164a565b945060208601359150808211156118a1578384fd5b506118ae868287016116b1565b925050604084013590509250925092565b600080600080608085870312156118d4578081fd5b84359350602085013567ffffffffffffffff808211156118f2578283fd5b6118fe888389016116b1565b945060408701359350606087013591508082111561191a578283fd5b506119278782880161164a565b91505092959194509250565b60008060008060608587031215611948578384fd5b84359350602085013567ffffffffffffffff80821115611966578485fd5b818701915087601f830112611979578485fd5b813581811115611987578586fd5b886020828501011115611998578586fd5b95986020929092019750949560400135945092505050565b6000602082840312156119c1578081fd5b813567ffffffffffffffff8111156119d7578182fd5b6102008482850161170b565b600080604083850312156119f5578182fd5b825167ffffffffffffffff811115611a0b578283fd5b611a1785828601611757565b925050602083015190509250929050565b600080600060608486031215611a3c578283fd5b833567ffffffffffffffff811115611a52578384fd5b611a5e8682870161170b565b9660208601359650604090950135949350505050565b6000806000806000806000806101c0898b031215611a90578586fd5b885160ff81168114611aa0578687fd5b80985050602089015196506040890151955060608901519450611ac68a60808b0161179a565b9350611ad58a60c08b016117e2565b925061018089015167ffffffffffffffff80821115611af2578384fd5b611afe8c838d01611757565b93506101a08b0151915080821115611b14578283fd5b50611b218b828c01611757565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611b63816020860160208601611f3d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b6000602082526111506020830184611b4b565b600060408252611c156040830185611b4b565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff60408401511660608301526060830151611d7c6080840182611b31565b50608083015160e060a0840152611d97610100840182611b4b565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526101e48282611b4b565b600060208252825160208301526020830151604083015260408301516060808401526102006080840182611b4b565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a086015161016084015280610180840152611e9781840186611b4b565b90508281036101a0840152611eac8185611b4b565b9b9a5050505050505050505050565b60405181810167ffffffffffffffff81118282101715611ed757fe5b604052919050565b600067ffffffffffffffff821115611ef357fe5b5060209081020190565b600067ffffffffffffffff821115611f1157fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015611f58578181015183820152602001611f40565b8381111561149e575050600091015256fe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a264697066735822122062c9f8cfb565072d7e8964a34b5c55b13a7c7b71eedfc29503ea7970efb33db864736f6c634300070600330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082044d8080f6e47dc171d041b4ff641c69237f29cb36c7d7c97a2520654e63b86bfd512dda288993fee248bbfc0e928d8b6df1c0fc488128b05b453e5f076cda61bc88bf8b1bf910ed0885015b7ebd80830f8fd58080b910d8608060405234801561001057600080fd5b50600061001b610089565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001808055336000908152600260205260409020805460ff1916909117905561008d565b3390565b61103c8061009c6000396000f3fe6080604052600436106101125760003560e01c8063715018a6116100a5578063cd84b89d11610074578063f136a87411610059578063f136a87414610459578063f2fde38b14610499578063f3fef3a3146104d957610119565b8063cd84b89d14610404578063ddca3f431461044457610119565b8063715018a6146103665780638da5cb5b1461037b578063bccc96d514610390578063c758b017146103ce57610119565b806366530579116100e1578063665305791461024b578063673448dd146102945780636c473aff146102e8578063704316e51461032657610119565b8063059416441461011b5780630b4d5107146101715780632ca4a5b0146101b9578063575765e21461020357610119565b3661011957005b005b34801561012757600080fd5b506101196004803603608081101561013e57600080fd5b5061ffff8135169073ffffffffffffffffffffffffffffffffffffffff602082013516906040810135906060013561051f565b34801561017d57600080fd5b506101a76004803603604081101561019457600080fd5b5061ffff813581169160200135166105cd565b60408051918252519081900360200190f35b3480156101c557600080fd5b50610119600480360360408110156101dc57600080fd5b50803561ffff16906020013573ffffffffffffffffffffffffffffffffffffffff166105f4565b34801561020f57600080fd5b506101196004803603604081101561022657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156106a0565b34801561025757600080fd5b506101196004803603606081101561026e57600080fd5b50803561ffff908116916020810135909116906040013567ffffffffffffffff166106f6565b3480156102a057600080fd5b506102d4600480360360208110156102b757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610749565b604080519115158252519081900360200190f35b3480156102f457600080fd5b506102fd610774565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561033257600080fd5b506101196004803603608081101561034957600080fd5b5061ffff8135169060208101359060408101359060600135610790565b34801561037257600080fd5b506101196108a1565b34801561038757600080fd5b506102fd6109b8565b34801561039c57600080fd5b50610119600480360360608110156103b357600080fd5b5061ffff8135811691602081013590911690604001356109d4565b3480156103da57600080fd5b506101a7600480360360408110156103f157600080fd5b5061ffff81358116916020013516610aa2565b34801561041057600080fd5b506101196004803603602081101561042757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610abf565b34801561045057600080fd5b506101a7610bae565b34801561046557600080fd5b506102d46004803603602081101561047c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610bb4565b3480156104a557600080fd5b50610119600480360360208110156104bc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610bc9565b3480156104e557600080fd5b50610119600480360360408110156104fc57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610d6a565b610527610fb0565b73ffffffffffffffffffffffffffffffffffffffff166105456109b8565b73ffffffffffffffffffffffffffffffffffffffff16146105c757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b50505050565b61ffff80821660009081526003602090815260408083209386168352929052205492915050565b6105fc610fb0565b73ffffffffffffffffffffffffffffffffffffffff1661061a6109b8565b73ffffffffffffffffffffffffffffffffffffffff161461069c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6040805161ffff80861682528416602082015267ffffffffffffffff83168183015290517ff5f7eeb9c1ffb10aced9d0a5354641e9bccdde560963d05f8d26ad4a460c89a29181900360600190a1505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460ff1690565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b3360009081526002602052604090205460ff166107f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610fdb602c913960400191505060405180910390fd5b600554604080517f704316e500000000000000000000000000000000000000000000000000000000815261ffff87166004820152602481018690526044810185905260648101849052905173ffffffffffffffffffffffffffffffffffffffff9092169163704316e59160848082019260009290919082900301818387803b15801561088357600080fd5b505af1158015610897573d6000803e3d6000fd5b5050505050505050565b6108a9610fb0565b73ffffffffffffffffffffffffffffffffffffffff166108c76109b8565b73ffffffffffffffffffffffffffffffffffffffff161461094957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6109dc610fb0565b73ffffffffffffffffffffffffffffffffffffffff166109fa6109b8565b73ffffffffffffffffffffffffffffffffffffffff1614610a7c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff918216600090815260036020908152604080832095909416825293909352912055565b600360209081526000928352604080842090915290825290205481565b610ac7610fb0565b73ffffffffffffffffffffffffffffffffffffffff16610ae56109b8565b73ffffffffffffffffffffffffffffffffffffffff1614610b6757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60045481565b60026020526000908152604090205460ff1681565b610bd1610fb0565b73ffffffffffffffffffffffffffffffffffffffff16610bef6109b8565b73ffffffffffffffffffffffffffffffffffffffff1614610c7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610cdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610fb56026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d72610fb0565b73ffffffffffffffffffffffffffffffffffffffff16610d906109b8565b73ffffffffffffffffffffffffffffffffffffffff1614610e1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60026001541415610e8457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260015560405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d8060008114610ee1576040519150601f19603f3d011682016040523d82523d6000602084013e610ee6565b606091505b5050905080610f5657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f2077697468647261770000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff851681526020810184905281517f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364929181900390910190a150506001805550565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734c617965725a65726f4f7261636c654d6f636b3a2063616c6c6572206d75737420626520617070726f766564a2646970667358221220881ad3773ffabc07dca95d4a44775184c51aeaffe6bd2193ce4cd0ff53b0b2e664736f6c6343000706003382044d8080d3a977619938018365ecc4eabd8a9bcad14accc17c123d611772571da331fe291bdf59af748bf86dfd94e0c9bedcc763b15fcf338f48726e65e6f56db04820591bf95b4d0985015b7ebd80834bf4948080b95b3860e06040523480156200001157600080fd5b5060405162005ad838038062005ad883398101604081905262000034916200013f565b60016000908155620000456200011e565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038316620000c55760405162461bcd60e51b8152600401620000bc9062000191565b60405180910390fd5b6001600160a01b038216620000ee5760405162461bcd60e51b8152600401620000bc90620001db565b60f01b6001600160f01b03191660a052606091821b6001600160601b0319908116608052911b1660c0526200022a565b3390565b80516001600160a01b03811681146200013a57600080fd5b919050565b60008060006060848603121562000154578283fd5b6200015f8462000122565b92506200016f6020850162000122565b9150604084015161ffff8116811462000186578182fd5b809150509250925092565b6020808252602a908201527f4c617965725a65726f3a20656e64706f696e742063616e6e6f74206265207a65604082015269726f206164647265737360b01b606082015260800190565b6020808252602f908201527f4c617965725a65726f3a206e6f6e6365436f6e74726163742063616e6e6f742060408201526e6265207a65726f206164647265737360881b606082015260800190565b60805160601c60a05160f01c60c05160601c615855620002836000398061084d52806110ee5280612991525080611305528061189552806126ba525080610f2052806118b9528061287b5280612fe852506158556000f3fe6080604052600436106102e75760003560e01c80638317814a11610184578063d543c774116100d6578063ed28580a1161008a578063f47a5feb11610064578063f47a5feb146107f6578063f58589a21461080b578063f8e1734c1461082b576102e7565b8063ed28580a14610796578063f0f44260146107b6578063f2fde38b146107d6576102e7565b8063ddfdef5a116100bb578063ddfdef5a14610736578063ea216c2114610756578063eb0d4c3114610776576102e7565b8063d543c774146106e9578063db00719b14610716576102e7565b8063959f594311610138578063b77d22ad11610112578063b77d22ad14610687578063b8e7e3e01461069c578063b9a99bed146106bc576102e7565b8063959f59431461061a578063987fa2d51461063a578063a46622221461065a576102e7565b806387078f9f1161016957806387078f9f146105d05780638da5cb5b146105f0578063904d3b8d14610605576102e7565b80638317814a146105905780638525b711146105b0576102e7565b806352d2871f1161023d5780636a14ac82116101f1578063759c5b3b116101cb578063759c5b3b1461053b5780638140666e1461055b5780638207f79d14610570576102e7565b80636a14ac82146104e6578063704316e514610506578063715018a614610526576102e7565b80635b056da5116102225780635b056da51461048f5780635e280f11146104b157806369412bfa146104c6576102e7565b806352d2871f1461044f57806352d3b5001461046f576102e7565b80632cfacb061161029f57806340a7bb101161027957806340a7bb10146103f957806349148c37146104275780634d3a0f7c1461043c576102e7565b80632cfacb06146103905780632f813464146103b257806331bd2430146103e4576102e7565b806307b9ca7c116102d057806307b9ca7c1461033957806318da00111461034e5780632a819bbf14610363576102e7565b806302bd9743146102ec57806307b18bde14610317575b600080fd5b3480156102f857600080fd5b5061030161084b565b60405161030e91906149ba565b60405180910390f35b34801561032357600080fd5b50610337610332366004614168565b61086f565b005b34801561034557600080fd5b50610301610a2d565b34801561035a57600080fd5b50610301610a49565b34801561036f57600080fd5b5061038361037e3660046146ae565b610a65565b60405161030e9190614a5c565b34801561039c57600080fd5b506103a5610b27565b60405161030e91906149fe565b3480156103be57600080fd5b506103d26103cd3660046143ee565b610b2c565b60405161030e96959493929190615693565b3480156103f057600080fd5b506103a5610bbd565b34801561040557600080fd5b50610419610414366004614437565b610bc2565b60405161030e9291906156e9565b34801561043357600080fd5b506103a5610f19565b61033761044a366004614222565b610f1e565b34801561045b57600080fd5b5061038361046a3660046144e2565b61139e565b34801561047b57600080fd5b5061033761048a36600461414c565b611763565b34801561049b57600080fd5b506104a4611893565b60405161030e919061552a565b3480156104bd57600080fd5b506103016118b7565b3480156104d257600080fd5b506103a56104e136600461414c565b6118db565b3480156104f257600080fd5b5061033761050136600461472e565b611907565b34801561051257600080fd5b50610337610521366004614621565b611ceb565b34801561053257600080fd5b50610337611db0565b34801561054757600080fd5b506103a56105563660046141cb565b611ead565b34801561056757600080fd5b506103a5611ed9565b34801561057c57600080fd5b5061033761058b36600461440a565b611ede565b34801561059c57600080fd5b506103376105ab3660046146cb565b6120ab565b3480156105bc57600080fd5b506103376105cb366004614210565b6121ae565b3480156105dc57600080fd5b506103376105eb366004614604565b6122e4565b3480156105fc57600080fd5b506103016123f5565b34801561061157600080fd5b506103a5612411565b34801561062657600080fd5b506103a56106353660046143ee565b612416565b34801561064657600080fd5b50610337610655366004614522565b612428565b34801561066657600080fd5b5061067a61067536600461440a565b612924565b60405161030e91906154b1565b34801561069357600080fd5b506103a5612936565b3480156106a857600080fd5b506104a46106b73660046143ee565b61293b565b3480156106c857600080fd5b506106dc6106d736600461465b565b612951565b60405161030e91906156f7565b3480156106f557600080fd5b506107096107043660046146ae565b612a22565b60405161030e91906149db565b34801561072257600080fd5b506103016107313660046146ae565b612a42565b34801561074257600080fd5b506103d2610751366004614193565b612a75565b34801561076257600080fd5b506103a56107713660046143ee565b612b11565b34801561078257600080fd5b506103376107913660046146ae565b612b23565b3480156107a257600080fd5b506103376107b1366004614604565b612c2b565b3480156107c257600080fd5b506103376107d136600461414c565b612d30565b3480156107e257600080fd5b506103376107f136600461414c565b612e60565b34801561080257600080fd5b506103a5612fce565b34801561081757600080fd5b506103a561082636600461414c565b612fd4565b34801561083757600080fd5b50610337610846366004614593565b612fe6565b7f000000000000000000000000000000000000000000000000000000000000000081565b600260005414156108c7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005573ffffffffffffffffffffffffffffffffffffffff82166109085760405162461bcd60e51b81526004016108ff90614c80565b60405180910390fd5b33600090815260046020526040902054610922908261338e565b3360009081526004602052604080822092909255905173ffffffffffffffffffffffffffffffffffffffff841690839061095b906148ef565b60006040518083038185875af1925050503d8060008114610998576040519150601f19603f3d011682016040523d82523d6000602084013e61099d565b606091505b50509050806109be5760405162461bcd60e51b81526004016108ff90614bec565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3bfd26201736b5cb14a562ab3cfc2bef76901726e3a78483d6288af47131e1d984604051610a1b91906149fe565b60405180910390a35050600160005550565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60086020908152600092835260408084208252918352918190208054825160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f810185900485028201850190935282815292909190830182828015610b1f5780601f10610af457610100808354040283529160200191610b1f565b820191906000526020600020905b815481529060010190602001808311610b0257829003601f168201915b505050505081565b600381565b6007602052600090815260409020805460019091015461ffff8083169267ffffffffffffffff62010000820481169373ffffffffffffffffffffffffffffffffffffffff6a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600681565b6000806000610bd18a8a6133eb565b905060608415610c1a5785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929350610ce992505050565b61ffff808c166000908152600860209081526040808320606087015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018616150201909316929092049182018490048402810184019094528084529091830182828015610ce15780601f10610cb657610100808354040283529160200191610ce1565b820191906000526020600020905b815481529060010190602001808311610cc457829003601f168201915b505050505090505b6000826040015173ffffffffffffffffffffffffffffffffffffffff1663c03f15298d85606001518e8e8e9050876040518663ffffffff1660e01b8152600401610d37959493929190615607565b60206040518083038186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8791906147c3565b905060008b905060008460a0015173ffffffffffffffffffffffffffffffffffffffff16635553fb8e8f87606001518860800151866040518563ffffffff1660e01b8152600401610ddb9493929190615650565b60206040518083038186803b158015610df357600080fd5b505afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b91906147c3565b6003546040517f5cbbbd7500000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff90911690635cbbbd7590610e8b908e90889087906004016149e6565b60206040518083038186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb91906147c3565b90508a610eeb5780975087610ef0565b809650865b50610f0582610eff8a876135f7565b906135f7565b975050505050505097509795505050505050565b600281565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610f735760405162461bcd60e51b81526004016108ff906152a9565b61ffff89166000908152600e60205260409020548b908a90610fa75760405162461bcd60e51b81526004016108ff90614b21565b61ffff81166000908152600c6020526040812054606091908015801590610fd05750601481018c145b610fec5760405162461bcd60e51b81526004016108ff9061533d565b6000808e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050838101601401519250905073ffffffffffffffffffffffffffffffffffffffff878116908316146110685760405162461bcd60e51b81526004016108ff90614f8a565b8e8e600090859261107b93929190615730565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f6fe7b6730000000000000000000000000000000000000000000000000000000081529297505073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691636fe7b67391506111289089908b908690600401615539565b602060405180830381600087803b15801561114257600080fd5b505af1158015611156573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117a91906147f7565b935050505060008a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394506111c692508791508890506133eb565b9050600061120e86838986518d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061365192505050565b9050600061121d87848a613838565b9050600061122d83838b8f6138ff565b9050600061123f82610eff86866135f7565b9050348111156112615760405162461bcd60e51b81526004016108ff90614c23565b600061126d348361338e565b905080156113005760008f73ffffffffffffffffffffffffffffffffffffffff168260405161129b906148ef565b60006040518083038185875af1925050503d80600081146112d8576040519150601f19603f3d011682016040523d82523d6000602084013e6112dd565b606091505b50509050806112fe5760405162461bcd60e51b81526004016108ff90614d97565b505b6000887f00000000000000000000000000000000000000000000000000000000000000008d8d8d8c60405160200161133d969594939291906148f2565b60405160208183030381529060405290507fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea828160405161137d9190614a5c565b60405180910390a15050505050505050505050505050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260066020908152604080832061ffff871684529091529020606090600183141561143f57805461ffff166114295761ffff8086166000908152600760209081526040918290205491516114129392909216910161552a565b60405160208183030381529060405291505061175c565b80546040516114129161ffff169060200161552a565b60028314156114b557805462010000900467ffffffffffffffff166114935761ffff85166000908152600760209081526040918290205491516114129262010000900467ffffffffffffffff1691016156f7565b80546040516114129162010000900467ffffffffffffffff16906020016156f7565b60038314156115675780546a0100000000000000000000900473ffffffffffffffffffffffffffffffffffffffff166115315761ffff8516600090815260076020908152604091829020549151611412926a0100000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1691016149ba565b8054604051611412916a0100000000000000000000900473ffffffffffffffffffffffffffffffffffffffff16906020016149ba565b60048314156116205780547e01000000000000000000000000000000000000000000000000000000000000900461ffff166115e85761ffff808616600090815260076020908152604091829020549151611412937e01000000000000000000000000000000000000000000000000000000000000909304909216910161552a565b8054604051611412917e01000000000000000000000000000000000000000000000000000000000000900461ffff169060200161552a565b600583141561168d57600181015467ffffffffffffffff1661166e5761ffff85166000908152600760209081526040918290206001015491516114129267ffffffffffffffff1691016156f7565b60018101546040516114129167ffffffffffffffff16906020016156f7565b600683141561174257600181015468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1661170b5761ffff85166000908152600760209081526040918290206001015491516114129268010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1691016149ba565b60018101546040516114129168010000000000000000900473ffffffffffffffffffffffffffffffffffffffff16906020016149ba565b60405162461bcd60e51b81526004016108ff90614bb5565b505b9392505050565b61176b613ad1565b73ffffffffffffffffffffffffffffffffffffffff166117896123f5565b73ffffffffffffffffffffffffffffffffffffffff16146117f1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166118245760405162461bcd60e51b81526004016108ff90614cdd565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f6490600090a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260409020545b919050565b61190f613ad1565b73ffffffffffffffffffffffffffffffffffffffff1661192d6123f5565b73ffffffffffffffffffffffffffffffffffffffff1614611995576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8088166000908152600a60205260409020548116908716118015906119c1575060008661ffff16115b6119dd5760405162461bcd60e51b81526004016108ff906150d8565b60008567ffffffffffffffff1611611a075760405162461bcd60e51b81526004016108ff906153f7565b73ffffffffffffffffffffffffffffffffffffffff8416611a3a5760405162461bcd60e51b81526004016108ff90614d3a565b61ffff8088166000908152600b602090815260408083209387168352929052205460ff16611a7a5760405162461bcd60e51b81526004016108ff90614ac4565b60008267ffffffffffffffff1611611aa45760405162461bcd60e51b81526004016108ff906152e0565b73ffffffffffffffffffffffffffffffffffffffff8116611ad75760405162461bcd60e51b81526004016108ff90614e62565b6040518060c001604052808761ffff1681526020018667ffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018461ffff1681526020018367ffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815250600760008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550604082015181600001600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050508661ffff167f5a76432853a0871c4e780def7f3ffc7912339b53f022ac31127fe5ff84a36fa1878787878787604051611cda96959493929190615693565b60405180910390a250505050505050565b336000908152600d6020908152604080832061ffff8816845282528083208684528252808320848452909152902054828110611d395760405162461bcd60e51b81526004016108ff9061501e565b336000818152600d6020908152604080832061ffff8a1680855290835281842089855283528184208785529092529182902086905590517f74bbc026808dcba59692d6a8bb20596849ca718e10e2432c6cdf48af865bc5d990611da190889087908990614a07565b60405180910390a35050505050565b611db8613ad1565b73ffffffffffffffffffffffffffffffffffffffff16611dd66123f5565b73ffffffffffffffffffffffffffffffffffffffff1614611e3e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60015460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600d60209081526000948552604080862082529385528385208152918452828420909152825290205481565b600481565b611ee6613ad1565b73ffffffffffffffffffffffffffffffffffffffff16611f046123f5565b73ffffffffffffffffffffffffffffffffffffffff1614611f6c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611f9f5760405162461bcd60e51b81526004016108ff90614fc1565b61ffff8083166000908152600a60205260409020548116908110611fd55760405162461bcd60e51b81526004016108ff9061524c565b61ffff8381166000818152600a6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660019790970195861696871790556009825280832095835294905283902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861617905591519091907f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a9061209e9085906149ba565b60405180910390a2505050565b6120b3613ad1565b73ffffffffffffffffffffffffffffffffffffffff166120d16123f5565b73ffffffffffffffffffffffffffffffffffffffff1614612139576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8085166000908152600860209081526040808320938716835292905220612164908383613f17565b508261ffff168461ffff167f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb5493284846040516121a0929190614a48565b60405180910390a350505050565b60026000541415612206576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005560035473ffffffffffffffffffffffffffffffffffffffff1633146122425760405162461bcd60e51b81526004016108ff90614b7e565b60055461224f908261338e565b6005556002546122769073ffffffffffffffffffffffffffffffffffffffff168383613ad5565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d5836040516122d391906149fe565b60405180910390a350506001600055565b6122ec613ad1565b73ffffffffffffffffffffffffffffffffffffffff1661230a6123f5565b73ffffffffffffffffffffffffffffffffffffffff1614612372576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600c6020526040902054156123a35760405162461bcd60e51b81526004016108ff9061539a565b61ffff82166000818152600c602052604090819020839055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906123e99084906149fe565b60405180910390a25050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b600581565b600c6020526000908152604090205481565b600061243488886133eb565b604081015190915073ffffffffffffffffffffffffffffffffffffffff1633146124705760405162461bcd60e51b81526004016108ff90614f53565b612478613fc1565b61ffff89166000908152600c6020526040902054806124a95760405162461bcd60e51b81526004016108ff9061533d565b60a083015173ffffffffffffffffffffffffffffffffffffffff166000908152600d6020908152604080832061ffff8e16845282528083208a84528252808320898452909152902054801580159061250f5750836020015167ffffffffffffffff168110155b61252b5760405162461bcd60e51b81526004016108ff90615454565b61ffff808c166000908152600960209081526040808320885190941683529290528190205490517fb71e0f7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690819063b71e0f71906125aa908b908b908b908990600401614a1d565b600060405180830381600087803b1580156125c457600080fd5b505af11580156125d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261261e9190810190614312565b60a081015161ffff8e166000908152600e602052604090205491955014915050801561264d575060a082015115155b6126695760405162461bcd60e51b81526004016108ff90614ebf565b8961ffff16826000015161ffff16146126945760405162461bcd60e51b81526004016108ff90614f1c565b80826080015151146126b85760405162461bcd60e51b81526004016108ff90615135565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16826020015161ffff16146127035760405162461bcd60e51b81526004016108ff906150a1565b8873ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff16146127525760405162461bcd60e51b81526004016108ff90614e2b565b61275b89613b67565b6127d957816060015173ffffffffffffffffffffffffffffffffffffffff16826000015161ffff167fa2786598bd84ae4a299103996359e6cb4333404583256079dfc279386baf5832846080015185604001518660c00151805190602001206040516127c993929190614a95565b60405180910390a350505061291b565b6000826080015183606001516040516020016127f69291906148a5565b6040516020818303038152906040529050826060015173ffffffffffffffffffffffffffffffffffffffff16836000015161ffff167f2bd2d8a84b748439fd50d79a49502b4eb5faa25b864da6a9ab5c150704be9a4d856080015186604001518760c001518051906020012060405161287193929190614a95565b60405180910390a37f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c2fa48138c838d87604001518e8960c001516040518763ffffffff1660e01b81526004016128e496959493929190615599565b600060405180830381600087803b1580156128fe57600080fd5b505af1158015612912573d6000803e3d6000fd5b50505050505050505b50505050505050565b61292c613fff565b61175c83836133eb565b600181565b600a6020526000908152604090205461ffff1681565b6040517fc533338f00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063c533338f906129ca9087908790879060040161557b565b60206040518083038186803b1580156129e257600080fd5b505afa1580156129f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a1a91906147f7565b949350505050565b600b60209081526000928352604080842090915290825290205460ff1681565b600960209081526000928352604080842090915290825290205473ffffffffffffffffffffffffffffffffffffffff1681565b60066020908152600092835260408084209091529082529020805460019091015461ffff8083169267ffffffffffffffff62010000820481169373ffffffffffffffffffffffffffffffffffffffff6a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600e6020526000908152604090205481565b612b2b613ad1565b73ffffffffffffffffffffffffffffffffffffffff16612b496123f5565b73ffffffffffffffffffffffffffffffffffffffff1614612bb1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8083166000818152600b60209081526040808320948616835293905282902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906123e990849061552a565b612c33613ad1565b73ffffffffffffffffffffffffffffffffffffffff16612c516123f5565b73ffffffffffffffffffffffffffffffffffffffff1614612cb9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600e602052604090205415612cea5760405162461bcd60e51b81526004016108ff906151ef565b61ffff82166000818152600e602052604090819020839055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906123e99084906149fe565b612d38613ad1565b73ffffffffffffffffffffffffffffffffffffffff16612d566123f5565b73ffffffffffffffffffffffffffffffffffffffff1614612dbe576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116612df15760405162461bcd60e51b81526004016108ff90615192565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b612e68613ad1565b73ffffffffffffffffffffffffffffffffffffffff16612e866123f5565b73ffffffffffffffffffffffffffffffffffffffff1614612eee576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116612f405760405162461bcd60e51b81526004018080602001828103825260268152602001806157d06026913960400191505060405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60055481565b60046020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461303b5760405162461bcd60e51b81526004016108ff906152a9565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260066020908152604080832061ffff89168452909152902060018414156130f5576000613086838501856143ee565b61ffff8089166000908152600a602052604090205491925090811690821611156130c25760405162461bcd60e51b81526004016108ff906150d8565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff91909116178155613335565b600284141561314c57600061310c838501856147db565b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff90911617825550613335565b60038414156131b75760006131638385018561414c565b825473ffffffffffffffffffffffffffffffffffffffff9091166a0100000000000000000000027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550613335565b60048414156132715760006131ce838501856143ee565b61ffff8089166000908152600b602090815260408083209385168352929052205490915060ff1680613202575061ffff8116155b61321e5760405162461bcd60e51b81526004016108ff90614ac4565b815461ffff9091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155613335565b60058414156132c9576000613288838501856147db565b6001830180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905550613335565b60068414156117425760006132e08385018561414c565b60018301805473ffffffffffffffffffffffffffffffffffffffff90921668010000000000000000027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b838573ffffffffffffffffffffffffffffffffffffffff167ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d252858560405161337e929190614a48565b60405180910390a3505050505050565b6000828211156133e5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6133f3613fff565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260066020908152604080832061ffff808916808652918452828520835160c0810185528154808416825267ffffffffffffffff6201000082048116838901526a010000000000000000000082048a16838801527e010000000000000000000000000000000000000000000000000000000000009091048416606083015260019092015491821660808201526801000000000000000090910490961660a0870152908452600790925290912082519091166134cd57805461ffff1682525b602082015167ffffffffffffffff166134f857805462010000900467ffffffffffffffff1660208301525b604082015173ffffffffffffffffffffffffffffffffffffffff166135435780546a0100000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1660408301525b606082015161ffff1661357e5780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1660608301525b608082015167ffffffffffffffff166135a657600181015467ffffffffffffffff1660808301525b60a082015173ffffffffffffffffffffffffffffffffffffffff1661175a576001015468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1660a08201529392505050565b60008282018381101561175c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081516000141561372c5761ffff808716600090815260086020908152604080832060608a015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156137245780601f106136f957610100808354040283529160200191613724565b820191906000526020600020905b81548152906001019060200180831161370757829003601f168201915b505050505091505b604080860151606087015191517f5886ea650000000000000000000000000000000000000000000000000000000081529091829173ffffffffffffffffffffffffffffffffffffffff831691635886ea6591613792918c918b908b908b90600401615607565b602060405180830381600087803b1580156137ac57600080fd5b505af11580156137c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137e491906147c3565b92506137f08284613b6d565b7fb0c632f55f1e1b3b2c3d82f41ee4716bb4c00f0f5d84cdafc141581bb8757a4f848860600151604051613825929190614a6f565b60405180910390a1505095945050505050565b60a0820151606083015160808401516040517fc5e193cd0000000000000000000000000000000000000000000000000000000081526000939273ffffffffffffffffffffffffffffffffffffffff84169263c5e193cd926138a1928a9290918990600401615650565b602060405180830381600087803b1580156138bb57600080fd5b505af11580156138cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f391906147c3565b915061175a8183613b6d565b60008073ffffffffffffffffffffffffffffffffffffffff8316158061393b575060025473ffffffffffffffffffffffffffffffffffffffff16155b6003546040517f5cbbbd7500000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff90911690635cbbbd759061399c908515908b908b906004016149e6565b60206040518083038186803b1580156139b457600080fd5b505afa1580156139c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ec91906147c3565b90508015613ac7578115613a265760035473ffffffffffffffffffffffffffffffffffffffff16613a1d8183613b6d565b81935050613ac7565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480613a75575073ffffffffffffffffffffffffffffffffffffffff841632145b613a915760405162461bcd60e51b81526004016108ff90614dce565b600254613ab69073ffffffffffffffffffffffffffffffffffffffff16853084613bca565b600554613ac390826135f7565b6005555b5050949350505050565b3390565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613b62908490613c65565b505050565b3b151590565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040902054613b9d90826135f7565b73ffffffffffffffffffffffffffffffffffffffff90921660009081526004602052604090209190915550565b6040805173ffffffffffffffffffffffffffffffffffffffff80861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052613c5f908590613c65565b50505050565b6000613cc7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613d239092919063ffffffff16565b805190915015613b6257808060200190516020811015613ce657600080fd5b5051613b625760405162461bcd60e51b815260040180806020018281038252602a8152602001806157f6602a913960400191505060405180910390fd5b6060612a1a848460008585613d3785613b67565b613d88576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310613df157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613db4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613e53576040519150601f19603f3d011682016040523d82523d6000602084013e613e58565b606091505b5091509150613e68828286613e73565b979650505050505050565b60608315613e8257508161175c565b825115613e925782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613edc578181015183820152602001613ec4565b50505050905090810190601f168015613f095780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282613f4d5760008555613fb1565b82601f10613f84578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555613fb1565b82800160010185558215613fb1579182015b82811115613fb1578235825591602001919060010190613f96565b50613fbd929150614034565b5090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b5b80821115613fbd5760008155600101614035565b803561190281615784565b805161190281615784565b60008083601f840112614070578182fd5b50813567ffffffffffffffff811115614087578182fd5b60208301915083602082850101111561409f57600080fd5b9250929050565b600082601f8301126140b6578081fd5b815167ffffffffffffffff8111156140ca57fe5b6140fb60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161570c565b81815284602083860101111561410f578283fd5b612a1a826020830160208701615758565b8035611902816157a9565b8051611902816157a9565b8035611902816157b9565b8051611902816157b9565b60006020828403121561415d578081fd5b813561175c81615784565b6000806040838503121561417a578081fd5b823561418581615784565b946020939093013593505050565b600080604083850312156141a5578182fd5b82356141b081615784565b915060208301356141c0816157a9565b809150509250929050565b600080600080608085870312156141e0578182fd5b84356141eb81615784565b935060208501356141fb816157a9565b93969395505050506040820135916060013590565b6000806040838503121561417a578182fd5b60008060008060008060008060008060006101008c8e031215614243578687fd5b61424c8c614049565b9a5061425a60208d01614136565b995061426860408d01614120565b985067ffffffffffffffff8060608e01351115614283578788fd5b6142938e60608f01358f0161405f565b909950975060808d01358110156142a8578687fd5b6142b88e60808f01358f0161405f565b90975095506142c960a08e01614049565b94506142d760c08e01614049565b93508060e08e013511156142e9578283fd5b506142fa8d60e08e01358e0161405f565b81935080925050509295989b509295989b9093969950565b600060208284031215614323578081fd5b815167ffffffffffffffff8082111561433a578283fd5b9083019060e0828603121561434d578283fd5b61435760e061570c565b6143608361412b565b815261436e6020840161412b565b602082015261437f60408401614141565b604082015261439060608401614054565b60608201526080830151828111156143a6578485fd5b6143b2878286016140a6565b60808301525060a083015160a082015260c0830151828111156143d3578485fd5b6143df878286016140a6565b60c08301525095945050505050565b6000602082840312156143ff578081fd5b813561175c816157a9565b6000806040838503121561441c578182fd5b8235614427816157a9565b915060208301356141c081615784565b600080600080600080600060a0888a031215614451578081fd5b873561445c816157a9565b9650602088013561446c81615784565b9550604088013567ffffffffffffffff80821115614488578283fd5b6144948b838c0161405f565b909750955060608a0135915081151582146144ad578283fd5b909350608089013590808211156144c2578283fd5b506144cf8a828b0161405f565b989b979a50959850939692959293505050565b6000806000606084860312156144f6578081fd5b8335614501816157a9565b9250602084013561451181615784565b929592945050506040919091013590565b600080600080600080600060c0888a03121561453c578081fd5b8735614547816157a9565b9650602088013561455781615784565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115614587578182fd5b6144cf8a828b0161405f565b6000806000806000608086880312156145aa578283fd5b85356145b5816157a9565b945060208601356145c581615784565b935060408601359250606086013567ffffffffffffffff8111156145e7578182fd5b6145f38882890161405f565b969995985093965092949392505050565b60008060408385031215614616578182fd5b8235614185816157a9565b60008060008060808587031215614636578182fd5b8435614641816157a9565b966020860135965060408601359560600135945092505050565b60008060006040848603121561466f578081fd5b833561467a816157a9565b9250602084013567ffffffffffffffff811115614695578182fd5b6146a18682870161405f565b9497909650939450505050565b600080604083850312156146c0578182fd5b82356141b0816157a9565b600080600080606085870312156146e0578182fd5b84356146eb816157a9565b935060208501356146fb816157a9565b9250604085013567ffffffffffffffff811115614716578283fd5b6147228782880161405f565b95989497509550505050565b600080600080600080600060e0888a031215614748578081fd5b8735614753816157a9565b96506020880135614763816157a9565b95506040880135614773816157b9565b9450606088013561478381615784565b93506080880135614793816157a9565b925060a08801356147a3816157b9565b915060c08801356147b381615784565b8091505092959891949750929550565b6000602082840312156147d4578081fd5b5051919050565b6000602082840312156147ec578081fd5b813561175c816157b9565b600060208284031215614808578081fd5b815161175c816157b9565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b60008151808452614873816020860160208601615758565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600083516148b7818460208801615758565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b90565b60007fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b1682527fffff000000000000000000000000000000000000000000000000000000000000808860f01b1660088401527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008760601b16600a840152808660f01b16601e840152508351614992816020850160208801615758565b808301905083516149aa816020840160208801615758565b0160200198975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b600085825260606020830152614a37606083018587614813565b905082604083015295945050505050565b600060208252612a1a602083018486614813565b60006020825261175c602083018461485b565b600060408252614a82604083018561485b565b905061ffff831660208301529392505050565b600060608252614aa8606083018661485b565b67ffffffffffffffff9490941660208301525060400152919050565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201527f6620747970650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f4c617965725a65726f3a20647374436861696e496420646f6573206e6f74206560408201527f7869737400000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f7260408201527f2066656573000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a205f746f2063616e6e6f74206265207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c6179657220616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201527f72206f72206f726967696e000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f4c617965725a65726f3a20696e76616c69642064737441646472657373000000604082015260600190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c652061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a20696e76616c6964205f7061636b65742e756c6e416460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420737263436861696e2049640000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a2077726f6e6720706174682064617461000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a657260408201527f6f20616464726573730000000000000000000000000000000000000000000000606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d61746960608201527f6f6e730000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420647374436861696e2049640000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201527f206c6962726172792076657273696f6e00000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c6964207372634164647265737320736960408201527f7a65000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c726561647920736560408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c6962726160408201527f7279000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201527f6b20636f6e6669726d6174696f6e000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4c617965725a65726f3a20696e636f72726563742072656d6f7465206164647260408201527f6573732073697a65000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201527f73697a6520616c72656164792073657400000000000000000000000000000000606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201527f20636f6e6669726d6174696f6e00000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201527f69726d6174696f6e730000000000000000000000000000000000000000000000606082015260800190565b600060c08201905061ffff808451168352602084015167ffffffffffffffff80821660208601526040860151915073ffffffffffffffffffffffffffffffffffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b61ffff91909116815260200190565b600061ffff8516825273ffffffffffffffffffffffffffffffffffffffff8416602083015260606040830152615572606083018461485b565b95945050505050565b600061ffff8516825260406020830152615572604083018486614813565b600061ffff8816825260c060208301526155b660c083018861485b565b73ffffffffffffffffffffffffffffffffffffffff8716604084015267ffffffffffffffff8616606084015284608084015282810360a08401526155fa818561485b565b9998505050505050505050565b600061ffff808816835280871660208401525073ffffffffffffffffffffffffffffffffffffffff8516604083015283606083015260a06080830152613e6860a083018461485b565b61ffff948516815292909316602083015267ffffffffffffffff16604082015273ffffffffffffffffffffffffffffffffffffffff909116606082015260800190565b61ffff968716815267ffffffffffffffff958616602082015273ffffffffffffffffffffffffffffffffffffffff948516604082015292909516606083015290921660808301529190911660a082015260c00190565b918252602082015260400190565b67ffffffffffffffff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561572857fe5b604052919050565b6000808585111561573f578182fd5b8386111561574b578182fd5b5050820193919092039150565b60005b8381101561577357818101518382015260200161575b565b83811115613c5f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff811681146157a657600080fd5b50565b61ffff811681146157a657600080fd5b67ffffffffffffffff811681146157a657600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220fec2950ded16215c7cfa48e61f5136dfa2770dd4f696d7deb0a7a636056c350964736f6c634300070600330000000000000000000000009740ff91f1985d8d2b71494ae1a2f723bb3ed9e40000000000000000000000002d61dcdd36f10b22176e0433b86f74567d529aaa000000000000000000000000000000000000000000000000000000000000009e82044d8080857acf3a2f09de5c21189b87495f000101ab6e5b4542ef28c9b65dbc14183058648b3813e00b33cb43680ac5065b64ab69e84361feb4293d43b9dbc318f4923a1c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008060427c29021d2867ebde828d16a409b053238aba68154d8056191b20e42d38e90000000000000000000000000000000000000000000000000000000064225eb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005979f933010a85015cafea80832bb86e8080b932ec608060405234801561001057600080fd5b5060016000556132c7806100256000396000f3fe6080604052600436106101d85760003560e01c8063724e78da11610102578063b8f8bad411610095578063f136a87411610064578063f136a87414610538578063f2fde38b14610558578063fa34c84e14610578578063fd9be52214610598576101d8565b8063b8f8bad4146104b8578063bedb86fb146104d8578063c03f1529146104f8578063c3b04e7f14610518576101d8565b80638644c578116100d15780638644c5781461043e5780638da5cb5b1461046c57806398dabd5014610481578063ac353e0414610496576101d8565b8063724e78da146103c7578063741bef1a146103e7578063765a8a54146103fc57806381ba209a14610429576101d8565b8063575765e21161017a578063673448dd11610149578063673448dd1461035b57806369cf4e3a1461037b5780636c473aff1461039d578063715018a6146103b2576101d8565b8063575765e2146102ca5780635886ea65146102ea5780635c975abb146103175780636348d26914610339576101d8565b806323161ff8116101b657806323161ff814610232578063252f7b011461026a5780633f1034871461028a578063485cc955146102aa576101d8565b806301e33667146101dd57806303343f54146101ff5780630508941e1461021f575b600080fd5b3480156101e957600080fd5b506101fd6101f836600461294d565b6105b8565b005b34801561020b57600080fd5b506101fd61021a3660046128ce565b6107b2565b6101fd61022d366004612b24565b61085c565b34801561023e57600080fd5b5061025261024d366004612c01565b610a92565b6040516102619392919061307c565b60405180910390f35b34801561027657600080fd5b506101fd610285366004612aa2565b610b00565b34801561029657600080fd5b506101fd6102a5366004612cb2565b610c7c565b3480156102b657600080fd5b506101fd6102c5366004612915565b610e2e565b3480156102d657600080fd5b506101fd6102e536600461298d565b611134565b3480156102f657600080fd5b5061030a610305366004612c33565b611269565b60405161026191906131af565b34801561032357600080fd5b5061032c611382565b6040516102619190612dcc565b34801561034557600080fd5b5061034e61138b565b6040516102619190612d5d565b34801561036757600080fd5b5061032c6103763660046128ce565b6113a7565b34801561038757600080fd5b506103906113d6565b60405161026191906130b0565b3480156103a957600080fd5b5061034e6113f6565b3480156103be57600080fd5b506101fd611412565b3480156103d357600080fd5b506101fd6103e23660046128ce565b611529565b3480156103f357600080fd5b5061034e6115d8565b34801561040857600080fd5b5061041c610417366004612a81565b6115f9565b6040516102619190613010565b34801561043557600080fd5b506103906116eb565b34801561044a57600080fd5b5061045e610459366004612a81565b61170d565b604051610261929190613059565b34801561047857600080fd5b5061034e611749565b34801561048d57600080fd5b50610390611765565b3480156104a257600080fd5b506104ab611783565b604051610261919061303c565b3480156104c457600080fd5b506101fd6104d3366004612bb9565b61179b565b3480156104e457600080fd5b506101fd6104f33660046129ba565b611803565b34801561050457600080fd5b5061030a610513366004612c33565b6118dc565b34801561052457600080fd5b506101fd610533366004612a65565b611968565b34801561054457600080fd5b5061032c6105533660046128ce565b611a0e565b34801561056457600080fd5b506101fd6105733660046128ce565b611a23565b34801561058457600080fd5b506101fd6105933660046128ce565b611bc5565b3480156105a457600080fd5b506101fd6105b33660046128ea565b611d71565b336105c1611749565b73ffffffffffffffffffffffffffffffffffffffff1614610624576105e5336113a7565b610624576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190610679903090600401612d5d565b60206040518083038186803b15801561069157600080fd5b505afa1580156106a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c99190612d1e565b905080821115610705576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612ed7565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063a9059cbb906107599086908690600401612d7e565b602060405180830381600087803b15801561077357600080fd5b505af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906129d6565b5050505050565b336107bb611749565b73ffffffffffffffffffffffffffffffffffffffff1614610815576107df336113a7565b610815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b33610865611749565b73ffffffffffffffffffffffffffffffffffffffff16146108bf57610889336113a7565b6108bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b6002600054141561093157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260008190555060008173ffffffffffffffffffffffffffffffffffffffff163460405161095f90612d5a565b60006040518083038185875af1925050503d806000811461099c576040519150601f19603f3d011682016040523d82523d6000602084013e6109a1565b606091505b50509050806109ee57604051349073ffffffffffffffffffffffffffffffffffffffff8416907f2c7a964ca3de5ec1d42d9822f9bbd0eb142a59cc9f855e9d93813b773192c7a390600090a35b6066546040517f987fa2d500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063987fa2d590610a50908c908c908c908c908c908c908c906004016130bf565b600060405180830381600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505060016000555050505050505050505050565b60696020908152600092835260408084209091529082529020546fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041683565b33610b09611749565b73ffffffffffffffffffffffffffffffffffffffff1614610b6357610b2d336113a7565b610b63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b60026000541415610bd557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556066546040517f987fa2d500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063987fa2d590610c3c908a908a908a908a908a908a908a906004016130bf565b600060405180830381600087803b158015610c5657600080fd5b505af1158015610c6a573d6000803e3d6000fd5b50506001600055505050505050505050565b33610c85611749565b73ffffffffffffffffffffffffffffffffffffffff1614610cdf57610ca9336113a7565b610cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b604080516060810182526fffffffffffffffffffffffffffffffff858116825267ffffffffffffffff858116602080850191825286831685870190815261ffff8c8116600090815260698452888120918d16815292529086902094518554925191517fffffffffffffffffffffffffffffffff000000000000000000000000000000009093169416939093177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16700100000000000000000000000000000000938316939093029290921777ffffffffffffffffffffffffffffffffffffffffffffffff1678010000000000000000000000000000000000000000000000009290911691909102179055517fd053e021dda81c7c2794ff89e320caea5379962d49ed383a3bd0a54ffc4b932f90610e1f9087908790879087908790613149565b60405180910390a15050505050565b6000610e38611f46565b905073ffffffffffffffffffffffffffffffffffffffff8116610e915773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610eb3565b3373ffffffffffffffffffffffffffffffffffffffff821614610eb357600080fd5b600154610100900460ff1680610ecc5750610ecc611f6b565b80610eda575060015460ff16155b610f2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613243602e913960400191505060405180910390fd5b600154610100900460ff16158015610f9457600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9091166101001716811790555b610f9c611f7c565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055610fe7306001611134565b606c8054606b80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff881602179055612ee07fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116177fffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffff1670a400000000000000000000000000000000177fffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffff1672a0000000000000000000000000000000000000177fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167501f40000000000000000000000000000000000000000179055801561112e57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50505050565b61113c61209f565b73ffffffffffffffffffffffffffffffffffffffff1661115a611749565b73ffffffffffffffffffffffffffffffffffffffff16146111dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff82166000908152606a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517fb10786d0bfa68fb1aa29552d9203e5f545f7c073ff0784da1de1d800986f10239061125d9084908490612da4565b60405180910390a15050565b60665460009073ffffffffffffffffffffffffffffffffffffffff1633146112bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612f34565b6127108411156112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612e0e565b600061133e8888888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506120a392505050565b90507fdf21c415b78ed2552cc9971249e32a053abce6087a0ae0fbf3f78db5174a34938160405161136f91906131af565b60405180910390a1979650505050505050565b606b5460ff1681565b60675473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff81166000908152606a602052604090205460ff165b919050565b606c547201000000000000000000000000000000000000900461ffff1681565b60665473ffffffffffffffffffffffffffffffffffffffff1681565b61141a61209f565b73ffffffffffffffffffffffffffffffffffffffff16611438611749565b73ffffffffffffffffffffffffffffffffffffffff16146114ba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60345460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603480547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b33611532611749565b73ffffffffffffffffffffffffffffffffffffffff161461158c57611556336113a7565b61158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b606b805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b606b54610100900473ffffffffffffffffffffffffffffffffffffffff1681565b61160161285e565b606b546040517fe0ad121a000000000000000000000000000000000000000000000000000000008152600091610100900473ffffffffffffffffffffffffffffffffffffffff169063e0ad121a9061165d9086906004016130b0565b60606040518083038186803b15801561167557600080fd5b505afa158015611689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ad91906129f2565b6040805180820190915281516fffffffffffffffffffffffffffffffff16815260209182015167ffffffffffffffff16918101919091529392505050565b606c5474010000000000000000000000000000000000000000900461ffff1681565b6068602052600090815260409020546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b60345473ffffffffffffffffffffffffffffffffffffffff1690565b606c54700100000000000000000000000000000000900461ffff1681565b606c546fffffffffffffffffffffffffffffffff1681565b336117a4611749565b73ffffffffffffffffffffffffffffffffffffffff16146117fe576117c8336113a7565b6117fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b505050565b61180b61209f565b73ffffffffffffffffffffffffffffffffffffffff16611829611749565b73ffffffffffffffffffffffffffffffffffffffff16146118ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b606b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600061271084111561191a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612e0e565b61195d8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506120a392505050565b979650505050505050565b33611971611749565b73ffffffffffffffffffffffffffffffffffffffff16146119cb57611995336113a7565b6119cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b606c80547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b606a6020526000908152604090205460ff1681565b611a2b61209f565b73ffffffffffffffffffffffffffffffffffffffff16611a49611749565b73ffffffffffffffffffffffffffffffffffffffff1614611acb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611b37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061321d6026913960400191505060405180910390fd5b60345460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000611bcf611f46565b905073ffffffffffffffffffffffffffffffffffffffff8116611c285773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355611c4a565b3373ffffffffffffffffffffffffffffffffffffffff821614611c4a57600080fd5b50606c8054606b80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff959095169490940293909317909255612ee07fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216919091177fffffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffff1670a400000000000000000000000000000000177fffffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffff1672a0000000000000000000000000000000000000177fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167501f40000000000000000000000000000000000000000179055565b33611d7a611749565b73ffffffffffffffffffffffffffffffffffffffff1614611dd457611d9e336113a7565b611dd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612dd7565b6066546040517f69412bfa00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906369412bfa90611e2b903090600401612d5d565b60206040518083038186803b158015611e4357600080fd5b505afa158015611e57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7b9190612d1e565b905080821115611eb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612ed7565b6066546040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906307b18bde90611f0f9086908690600401612d7e565b600060405180830381600087803b158015611f2957600080fd5b505af1158015611f3d573d6000803e3d6000fd5b50505050505050565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6000611f7630612447565b15905090565b600154610100900460ff1680611f955750611f95611f6b565b80611fa3575060015460ff16155b611ff8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613243602e913960400191505060405180910390fd5b600154610100900460ff1615801561205d57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9091166101001716811790555b61206561244d565b61206d61255e565b801561209c57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50565b3390565b606b5460009060ff16156120e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612f6b565b8151602214806120f4575060428251115b61212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612e43565b600282015160228301518061216b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612fa2565b8161ffff166001148061218257508161ffff166002145b6121b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612ea0565b61ffff88811660009081526069602090815260408083208b851684529091528120918416600214156122375750604285015181546fffffffffffffffffffffffffffffffff16811115612237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061b90612fd9565b60008461ffff1660021461226557606c54700100000000000000000000000000000000900461ffff1661228b565b606c5461228b90700100000000000000000000000000000000900461ffff1660206126ed565b905060008a61ffff166002146122ca57606c546122c5908a9074010000000000000000000000000000000000000000900461ffff166126ed565b6122f2565b606c546122f2908a907201000000000000000000000000000000000000900461ffff166126ed565b9050600061230083836126ed565b606b5486549192508e91600091829161010090910473ffffffffffffffffffffffffffffffffffffffff1690637bc3c9ab908590879061235e90700100000000000000000000000000000000900467ffffffffffffffff168e6126ed565b6040518463ffffffff1660e01b815260040161237c93929190613193565b604080518083038186803b15801561239357600080fd5b505afa1580156123a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cb9190612d36565b909250905060006123fd6402540be4006123f78a6fffffffffffffffffffffffffffffffff861661276a565b906127dd565b606c5490915061243190612710906123f7906fffffffffffffffffffffffffffffffff1661242b87866126ed565b9061276a565b9b50505050505050505050505095945050505050565b3b151590565b600154610100900460ff16806124665750612466611f6b565b80612474575060015460ff16155b6124c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613243602e913960400191505060405180910390fd5b600154610100900460ff1615801561206d57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171681179055801561209c57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b600154610100900460ff16806125775750612577611f6b565b80612585575060015460ff16155b6125da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613243602e913960400191505060405180910390fd5b600154610100900460ff1615801561263f57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9091166101001716811790555b600061264961209f565b603480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350801561209c57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b60008282018381101561276157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60008261277957506000612764565b8282028284828161278657fe5b0414612761576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132716021913960400191505060405180910390fd5b600080821161284d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161285657fe5b049392505050565b604080518082019091526000808252602082015290565b60008083601f840112612886578182fd5b50813567ffffffffffffffff81111561289d578182fd5b6020830191508360208285010111156128b557600080fd5b9250929050565b803561ffff811681146113d157600080fd5b6000602082840312156128df578081fd5b8135612761816131b8565b600080604083850312156128fc578081fd5b8235612907816131b8565b946020939093013593505050565b60008060408385031215612927578182fd5b8235612932816131b8565b91506020830135612942816131b8565b809150509250929050565b600080600060608486031215612961578081fd5b833561296c816131b8565b9250602084013561297c816131b8565b929592945050506040919091013590565b6000806040838503121561299f578182fd5b82356129aa816131b8565b91506020830135612942816131da565b6000602082840312156129cb578081fd5b8135612761816131da565b6000602082840312156129e7578081fd5b8151612761816131da565b600060608284031215612a03578081fd5b6040516060810181811067ffffffffffffffff82111715612a2057fe5b6040528251612a2e816131e8565b81526020830151612a3e81613206565b6020820152604083015163ffffffff81168114612a59578283fd5b60408201529392505050565b600060208284031215612a76578081fd5b8135612761816131e8565b600060208284031215612a92578081fd5b612a9b826128bc565b9392505050565b600080600080600080600060c0888a031215612abc578283fd5b612ac5886128bc565b96506020880135612ad5816131b8565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115612b05578283fd5b612b118a828b01612875565b989b979a50959850939692959293505050565b60008060008060008060008060e0898b031215612b3f578182fd5b612b48896128bc565b97506020890135612b58816131b8565b965060408901359550606089013594506080890135935060a089013567ffffffffffffffff811115612b88578283fd5b612b948b828c01612875565b90945092505060c0890135612ba8816131b8565b809150509295985092959890939650565b600080600060608486031215612bcd578081fd5b612bd6846128bc565b92506020840135612be6816131e8565b91506040840135612bf6816131e8565b809150509250925092565b60008060408385031215612c13578182fd5b612c1c836128bc565b9150612c2a602084016128bc565b90509250929050565b60008060008060008060a08789031215612c4b578384fd5b612c54876128bc565b9550612c62602088016128bc565b94506040870135612c72816131b8565b935060608701359250608087013567ffffffffffffffff811115612c94578283fd5b612ca089828a01612875565b979a9699509497509295939492505050565b600080600080600060a08688031215612cc9578283fd5b612cd2866128bc565b9450612ce0602087016128bc565b93506040860135612cf0816131e8565b92506060860135612d0081613206565b91506080860135612d1081613206565b809150509295509295909350565b600060208284031215612d2f578081fd5b5051919050565b60008060408385031215612d48578182fd5b825191506020830151612942816131e8565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9290921682521515602082015260400190565b901515815260200190565b60208082526015908201527f52656c617965723a206e6f7420617070726f7665640000000000000000000000604082015260600190565b6020808252818101527f52656c617965723a205f7061796c6f616453697a6520746f6f6f6f6f20626967604082015260600190565b60208082526026908201527f52656c617965723a2077726f6e67205f61646170746572506172616d6574657260408201527f732073697a650000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f52656c617965723a20756e737570706f72746564207478547970650000000000604082015260600190565b60208082526026908201527f52656c617965723a206e6f7420656e6f7567682066656520666f72207769746860408201527f64726177616c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526014908201527f52656c617965723a20696e76616c696420756c6e000000000000000000000000604082015260600190565b6020808252600d908201527f41646d696e3a2070617573656400000000000000000000000000000000000000604082015260600190565b60208082526014908201527f52656c617965723a2067617320746f6f206c6f77000000000000000000000000604082015260600190565b6020808252601f908201527f52656c617965723a206473744e6174697665416d7420746f6f206c6172676500604082015260600190565b81516fffffffffffffffffffffffffffffffff9081168252602092830151169181019190915260400190565b6fffffffffffffffffffffffffffffffff91909116815260200190565b6fffffffffffffffffffffffffffffffff92831681529116602082015260400190565b6fffffffffffffffffffffffffffffffff93909316835267ffffffffffffffff918216602084015216604082015260600190565b61ffff91909116815260200190565b600061ffff8916825273ffffffffffffffffffffffffffffffffffffffff8816602083015286604083015285606083015284608083015260c060a08301528260c0830152828460e084013781830160e090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019695505050505050565b61ffff95861681529390941660208401526fffffffffffffffffffffffffffffffff91909116604083015267ffffffffffffffff9081166060830152909116608082015260a00190565b61ffff9390931683526020830191909152604082015260600190565b90815260200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461209c57600080fd5b801515811461209c57600080fd5b6fffffffffffffffffffffffffffffffff8116811461209c57600080fd5b67ffffffffffffffff8116811461209c57600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bff094f037318cef7712ce64e90667937e2a8b2dbf44b35833de2cc5d0d0280364736f6c6343000706003382044d8080b3c64dbfdb18febc4c20849fb9dc284f5868d1a8910dfe92d2877759270aecca44437bd0c80ce453082d13601f7d9aa01a127686dd51c49f43047feb64b7d8291cf86b1785015b7ebd8082dac39487b801a9c990b1bc07831f05aa34c3e3b5ae936e80b844095ea7b3000000000000000000000000f6ad3ccf71abb3e12becf6b3d2a74c963859adcd000000000000000000000000000000000000000001bfa5b1c385c75f2afc000082044d80808d00768be9ee69a28214b33bd020149584a63ff9540f356afbaaacf62f5008e57f82846cb522c622865b8c9b1ed0393567410a9fe28cd3e0670f911676af47a01bf909f10b85015cafea80835000008080b909dc60a06040526040516108fc3803806108fc8339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101e9565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b506001600160601b0319606082901b166080527fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035550610297565b6101fc8161025b60201b6103581760201c565b6102375760405162461bcd60e51b81526004018080602001828103825260368152602001806108c66036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061028f57508115155b949350505050565b60805160601c6106126102b46000398061047352506106126000f3fe6080604052600436106100435760003560e01c80633659cfe61461005a5780634f1ef2861461009a5780635c60da1b14610127578063f851a4401461016557610052565b366100525761005061017a565b005b61005061017a565b34801561006657600080fd5b506100506004803603602081101561007d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610194565b610050600480360360408110156100b057600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156100e857600080fd5b8201836020820111156100fa57600080fd5b8035906020019184600183028401116401000000008311171561011c57600080fd5b5090925090506101e8565b34801561013357600080fd5b5061013c6102bc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561017157600080fd5b5061013c610313565b610182610394565b61019261018d610428565b61044d565b565b61019c610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101dd576101d881610495565b6101e5565b6101e561017a565b50565b6101f0610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102af5761022c83610495565b60008373ffffffffffffffffffffffffffffffffffffffff1683836040518083838082843760405192019450600093509091505080830381855af49150503d8060008114610296576040519150601f19603f3d011682016040523d82523d6000602084013e61029b565b606091505b50509050806102a957600080fd5b506102b7565b6102b761017a565b505050565b60006102c6610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561030857610301610428565b9050610310565b61031061017a565b90565b600061031d610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561030857610301610471565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061038c57508115155b949350505050565b61039c610471565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604281526020018061059b6042913960600191505060405180910390fd5b610192610192565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561046c573d6000f35b3d6000fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b61049e816104e2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6104eb81610358565b610540576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806105656036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a26469706673582212200f42fc9d1f991236ae26e240c8505def958528031655d7dd335d3988cc0c88f564736f6c634300070600335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163740000000000000000000000005b19bd330a84c049b62d5b0fc2ba120217a18c1c0000000000000000000000003c2269811836af69497e5f486a85d7316753cf6200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000fe7c30860d01e28371d40434806f4a8fcdd3a098000000000000000000000000c1b15d3b262beec0e3565c11c9e0f6134bdacb360000000000000000000000000000000000000000000000000000000082044d80809d2924f6ece5edd53ed7a6c0a45dc7db4cb0ab0a591f11cadc1115704404a0331280b44750ca6defb58d43496e2bdf0239386449871b69bb3444910f83d6b4691cf915610c85015cafea808312b4558080b9154c608060405234801561001057600080fd5b5060405161152c38038061152c8339818101604052602081101561003357600080fd5b5051600061003f6100b6565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b03909216620100000262010000600160b01b03199092169190911790556100ba565b3390565b611463806100c96000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063baead4cc11610066578063baead4cc146102a2578063d684b253146102bf578063d935d123146102de578063f2fde38b146102e657610100565b80638da5cb5b1461026e57806396a141a014610276578063a771ebc71461027e578063af406aa51461029a57610100565b80636c473aff116100d35780636c473aff146101df578063715018a6146102105780637ba20ccf146102185780638c6163971461023557610100565b806301e33667146101055780630db474fa1461014a5780633c5ac8f7146101695780635cbbbd75146101a2575b600080fd5b6101486004803603606081101561011b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610319565b005b6101486004803603602081101561016057600080fd5b503515156103e7565b6101486004803603604081101561017f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104f4565b6101cd600480360360608110156101b857600080fd5b5080351515906020810135906040013561063a565b60408051918252519081900360200190f35b6101e761070a565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61014861072c565b6101486004803603602081101561022e57600080fd5b5035610843565b6101486004803603604081101561024b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610926565b6101e7610a50565b6101cd610a6c565b610286610a72565b604080519115158252519081900360200190f35b6101cd610a7b565b610148600480360360208110156102b857600080fd5b5035610a81565b610148600480360360208110156102d557600080fd5b50351515610b64565b610286610c78565b610148600480360360208110156102fc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c86565b610321610e27565b73ffffffffffffffffffffffffffffffffffffffff1661033f610a50565b73ffffffffffffffffffffffffffffffffffffffff16146103c157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6103e273ffffffffffffffffffffffffffffffffffffffff84168383610e2b565b505050565b6103ef610e27565b73ffffffffffffffffffffffffffffffffffffffff1661040d610a50565b73ffffffffffffffffffffffffffffffffffffffff161461048f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380548215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560408051918252517fe97fa32ceb811a18d1b14115b17ae0034db328b2e2ca987d9922cbf47b03fad69181900360200190a150565b6104fc610e27565b73ffffffffffffffffffffffffffffffffffffffff1661051a610a50565b73ffffffffffffffffffffffffffffffffffffffff161461059c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600354604080517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260248201859052915162010000909304909116916307b18bde9160448082019260009290919082900301818387803b15801561061e57600080fd5b505af1158015610632573d6000803e3d6000fd5b505050505050565b60035460009060ff16156106ff5783156106cd57600354610100900460ff166106c457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4c617965725a65726f3a205a524f206973206e6f7420656e61626c6564000000604482015290519081900360640190fd5b50600254610703565b6106f86127106106f26001546106ec8688610eb890919063ffffffff16565b90610f35565b90610fa8565b9050610703565b5060005b9392505050565b60035462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b610734610e27565b73ffffffffffffffffffffffffffffffffffffffff16610752610a50565b73ffffffffffffffffffffffffffffffffffffffff16146107d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b61084b610e27565b73ffffffffffffffffffffffffffffffffffffffff16610869610a50565b73ffffffffffffffffffffffffffffffffffffffff16146108eb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60028190556040805182815290517f804d99c2291bc4a6be11ff016f65cfc644f8d488ef55a5318d0217a1fdc4e9fd9181900360200190a150565b61092e610e27565b73ffffffffffffffffffffffffffffffffffffffff1661094c610a50565b73ffffffffffffffffffffffffffffffffffffffff16146109ce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600354604080517f8525b71100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820185905291516201000090930490911691638525b7119160448082019260009290919082900301818387803b15801561061e57600080fd5b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60015481565b60035460ff1681565b60025481565b610a89610e27565b73ffffffffffffffffffffffffffffffffffffffff16610aa7610a50565b73ffffffffffffffffffffffffffffffffffffffff1614610b2957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60018190556040805182815290517ff2a316ed322d32481373e7ed416bc6c1ec2afcfa3bf2f1df9eb4300e1a9620e39181900360200190a150565b610b6c610e27565b73ffffffffffffffffffffffffffffffffffffffff16610b8a610a50565b73ffffffffffffffffffffffffffffffffffffffff1614610c0c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003805482151561010081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9092169190911790915560408051918252517f279d3ec34d7b325d10d4b9d6c63464877a6fe6ac3997f7508bdb3b9d2d5050b39181900360200190a150565b600354610100900460ff1681565b610c8e610e27565b73ffffffffffffffffffffffffffffffffffffffff16610cac610a50565b73ffffffffffffffffffffffffffffffffffffffff1614610d2e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610d9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806113976026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526103e2908490611029565b600082820183811015610f2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082610f4457506000610f2f565b82820282848281610f5157fe5b0414610f2c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806113e36021913960400191505060405180910390fd5b600080821161101857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161102157fe5b049392505050565b600061108b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166111019092919063ffffffff16565b8051909150156103e2578080602001905160208110156110aa57600080fd5b50516103e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611404602a913960400191505060405180910390fd5b60606111108484600085611118565b949350505050565b606082471015611173576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806113bd6026913960400191505060405180910390fd5b61117c856112d2565b6111e757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061125057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611213565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146112b2576040519150601f19603f3d011682016040523d82523d6000602084013e6112b7565b606091505b50915091506112c78282866112d8565b979650505050505050565b3b151590565b606083156112e7575081610703565b8251156112f75782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561135b578181015183820152602001611343565b50505050905090810190601f1680156113885780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220792f2883aef30eb3c186510ec23f525f0f05f85b091a8a8e1c6b12401211693e64736f6c63430007060033000000000000000000000000fe7c30860d01e28371d40434806f4a8fcdd3a09882044d808000b12937214de2f7c90045d72d98c3b188b3837a788d2e4cc8643d24b4efcb712cd54b2330a4f5ad58f6f3e57ac06b84c4011a118eff2ca49cd5385ae840deda1bf9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02e0000000000000000000000000000000000000000000000000000000000000000ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5ade3e00366e6b9790139bc13967b9451bf23f9df57439a42232ef41fbeb194524aebaf13318140f701093ae062acebf1d77cc6a16ad10665cccefa3936e29c54aab836f3db189ca3c57e3d16172ee1d1f5f64174167b8cea40901db9b5fabe5443cf64c08e87d381c35e7d52cfe29c7d6ec9911c476023c21331df98073761f5d459a4f0bb820adeea2fc96d878213cd79e2d750c8171f92b203e8a907f7894affd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f839867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9000000000000000000000000000000000000000000000000000000000000047c6c95113cbfd140563db842e02089e887b7ac62598b405fc3562d783e3be408bbc4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca489210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003d51cbfeaea061278d2b20b5da046869f29a20da0000000000000000000000000000000000000000000000000186cc6acd4b00000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d80801a4b0ba881bbb0994ae848b5e9cd5b1dae082ad2b39a86bdb68f38e155eccd211535813214648278e317e90e745c392ed18be9f09d0caca2bf4697dcb3f8fa4e1c000000000000000000000000000000000000000000000000000000000000000000000000000080cb2522177e19c7355dda4dc0a95f62d6383f71a10d81c0bdc2452f8d97053d280000000000000000000000000000000000000000000000000000000064225f8d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eb7f9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02e855e94a34ccd922d64abf5eccfc030a12272cd7a8ea9f066828ce52eb1805381e40eedbf110087aa044b360aa52ec932f0bf31dcf9ae38f1d40eadd31e928609190bf423637e82db218314970ccd96422f26c53bc2d5b65cb254f6c1a105f2ba395220ae3416c293f9956906aa57f43d3cc797f039df853c0eb1f3b9ffd0f137a8db03f0ed56a99a2f997d2049d7c50e284fc0584a450fa859ef1fb55fe7b32743cf64c08e87d381c35e7d52cfe29c7d6ec9911c476023c21331df98073761f5d459a4f0bb820adeea2fc96d878213cd79e2d750c8171f92b203e8a907f7894affd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f839867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9000000000000000000000000000000000000000000000000000000000000046e6c95113cbfd140563db842e02089e887b7ac62598b405fc3562d783e3be408bbc4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e34c349a366ad140aa628d128b54cb4717dd05d000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d8080a285198cf61aeae406542f89b312a6f9bc371f388e4b920ac777520ff51971eb723f28b97d0340e74993fa2a3cc13e433b61fb53e90beb7e818628b5b325634c1bf901340185013f7b1c00830370e39488d08628a2a3bc6aeed929f06d0f6fec9946041687071afd498d0000b901040d23d6690000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000e3636c01412c8309a78b89bdb80cac75bc0ee07f0000000000000000000000000000000000000000000000000000000000c4d82f000000000000000000000000000000000000000000000000000000000000001b6347f5cd1428140c103179f75d3c3f873d223e46e239df424768e211418298572399c45832dfdaaf7a4304165d5433f4950136ee94224f5756fe0829a2f45f8a82044d80801f5e8ae6b0cb569892a84c1524b2ececef582b69aa0afd3ff0908a7d975cd73a5db1681eaeef301a6d829c05fceda887b61f016c783a186afab5a5300640711d1bf9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02eca7bfd2af4a98bd46fe5bcaa816b51cd7f48f930add4112b9be742197dfc2f9b173ff7a81c9d946200d527c79e45c50d36843c5001108f7b83caa904d1a696a27ebd22be166f6604c78ce3049c605279b158b0d4ae6562f5efa04428c9a01a174aebaf13318140f701093ae062acebf1d77cc6a16ad10665cccefa3936e29c54aab836f3db189ca3c57e3d16172ee1d1f5f64174167b8cea40901db9b5fabe5443cf64c08e87d381c35e7d52cfe29c7d6ec9911c476023c21331df98073761f5d459a4f0bb820adeea2fc96d878213cd79e2d750c8171f92b203e8a907f7894affd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f839867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9000000000000000000000000000000000000000000000000000000000000047b69d5706c1a4ecbd56e6083ab124932d922780197ae4770f59910a7226cd7d6fbc4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ec1cfe921ae1e4b9657a801051cb23a11660fc19000000000000000000000000000000000000000000000000000b5e620f4800000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d8080dfb02da163346537b2b5f94413c8b760dd39fcf36d80958046e1cad4b8abffab28871fcf0730d235c56623361197d34f33fe88286a2eab670238a9d48aa314901cf9013404850137bb77808303692f9488d08628a2a3bc6aeed929f06d0f6fec9946041687038d7ea4c68000b901040d23d6690000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000e3636c01412c8309a78b89bdb80cac75bc0ee07f0000000000000000000000000000000000000000000000000000000000659181000000000000000000000000000000000000000000000000000000000000001c8517a4236c184b14c5542745e39941c50da6db4b90c343cdb88b683ad801aa2a73383f00b27c635ae46b8bf55fc1926869afebb2b6fb70cbe91bb64974b914a282044d808087c74cfd97bedaeec702f5940b3d56574d935502d3d6511d636f5e7efb5577211ec0c14e103a1e71240cf6bb482d08acf0b99a8d6197787de17b7cc0c1f719131ced0285014144df80825208945c1ba857e76de6dbae8dde7d2b7f9ba060e7af338702135fc913143d8082044d8080cd9dc5fdc3ce630920c259b95c30e1d1964bfe305e992f112da0abc72838d757414c8ec56a8f39efb40837acbd81447fa9730f58f57378f6994fddda538a31ed1b00000000000000000000000000000000000000000000000000000000000000000000000000000000804ab0f3cb81674cdb4b11a8da85a90170cbd4c434c2c991eaf6d46a0f574bd7d0000000000000000000000000000000000000000000000000000000006422600500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d68ed038501515cbf00825208945c1ba857e76de6dbae8dde7d2b7f9ba060e7af33870aa87bee5380008082044d8080d75fb027c29c20e75dd0579a00021c1a22ee097dcc424a7ff853c08c30b31a482caea52a09bfebba918b5d9cc0664aa672d35c0e353707cbe5c869d9bd43e0b11bf9056802808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02e0000000000000000000000000000000000000000000000000000000000000000ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb532fb393a773dc46da01305a7f694651a710bcd2e01abcdc6efd1bded7afd59ff21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba85e58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a193440eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a1968dfc747962e9e4c6925db056c57003a6d48db2662adbd96deaabd1aeb84d7d9d89867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a90000000000000000000000000000000000000000000000000000000000000484957932b652c526bb4703e50422b24ae8d1cc57e2423ad9bbfe59342f13db05a6c4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000755c967b6cf2ee0c907c07ef4ef92da9ca577fb4000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d808072ed898637803f0758aded10c5a611fad15d4bd83091dcf09e6dd8c556eba4d1401a63db122c55d10cc26b3982e664f30367c7c2e7aa4820f07cab4b85adbefd1cf901348085014ace4780830370e39488d08628a2a3bc6aeed929f06d0f6fec9946041687071afd498d0000b901040d23d6690000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000e3636c01412c8309a78b89bdb80cac75bc0ee07f0000000000000000000000000000000000000000000000000000000000cd556c000000000000000000000000000000000000000000000000000000000000001ba84e3ca73a61555f7cc7ee32a7d3f65f4ec1e04cd8b61eb39315d0e0813c5e91051062b188be48d0707852779e6f4abca62cbec14df4bf2f576aa85614e5e17682044d80809d84b8849cfa44fa8fc9cbf6a9bd0816fb9fe9dff0185224d49d755e76f81e123d1dec304875215a864e259b8669acad64916132d6bfc7753dcea4028cbfcd821bf9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02ee9fa3ecc64cc5ecd577c4c11758c414ab1bf22e3411c0647b96a1be58bb97ede732f53dc60c5e4eb95fbd17790b8b02d9737740b0dfc28fb5f707c10bcc3450b3966c5b24ee239b425bc054466ceb0e09087613853bfb244d1d33102b9e1270621ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba85e58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a193440eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a1968dfc747962e9e4c6925db056c57003a6d48db2662adbd96deaabd1aeb84d7d9d89867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a90000000000000000000000000000000000000000000000000000000000000481957932b652c526bb4703e50422b24ae8d1cc57e2423ad9bbfe59342f13db05a6c4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000be972d73f4f1461d811d0cc4bb8c8686ede3639f00000000000000000000000000000000000000000000000000490befe8b1c88c0000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d8080e9b1cc72098406b93940476666e665758808c3ee8345de6c82a1ac829443c9fc2657a5aa542a12cb448da4e49feb7b1700885ef9b41bf57ba6a6cc88830047771cf30285014ace478083038f8d94ee1727f5074e747716637e1776b7f7c7133f16b1880109e9dc04260000841249c58b82044d8080d7b88743c5a6bb98c64a89a700d6c40b82a97dec780400790ebfa1468de6fbf36975e2ccf2b7e35cd4d78c143490d241a7441b4470e066c74a5df5c4439bd2571bf9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02e7f01660ca8fbd4a7b8cd53db6cdc10503c087e47c982f6f361d82339c96f9b86732f53dc60c5e4eb95fbd17790b8b02d9737740b0dfc28fb5f707c10bcc3450b3966c5b24ee239b425bc054466ceb0e09087613853bfb244d1d33102b9e1270621ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba85e58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a193440eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a1968dfc747962e9e4c6925db056c57003a6d48db2662adbd96deaabd1aeb84d7d9d89867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a90000000000000000000000000000000000000000000000000000000000000480957932b652c526bb4703e50422b24ae8d1cc57e2423ad9bbfe59342f13db05a6c4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca4892100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000056cab3de2c37bb14a6f96613d47c9ee3389647f50000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d80802a19e00d836e412091a0123a59fa9279f907410fe63620162e8f2d255e6859802da260f4483921503c5b251ccbdbf4cac275be3e3f953ef6612eff9630a193ac1cf901340385013f7b1c00830370e39488d08628a2a3bc6aeed929f06d0f6fec9946041687071afd498d0000b901040d23d6690000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000e3636c01412c8309a78b89bdb80cac75bc0ee07f0000000000000000000000000000000000000000000000000000000000970214000000000000000000000000000000000000000000000000000000000000001ceee823e5f257f9965943a20953c9853ecc5926b54dbbaf08dbd41c495d208cfb0c676ef24a7ccd02b00b2a1cec47c54ea27e9c8f7c8e7d202ca2f219122a1f4982044d8080e1145bff60328957a2a9f748b1c7fed3af5beb0ed394eeeed3c8559ddf6e4ab65d5a703ee9b8fc32285a65465a07a984f122c89d430d36779b3fbd6c98a947c31ced0485013f7b1c0082520894f2fde1d3d7e9ff11c47c660cce131239945ead28870c743eb672796e8082044d8080798c46a2bc4d4d82ab517e44dfaafbd74e2a6b5cec8a8228d9256374bbea1f9b258c91e0ac6ba96d48d7aace420b72775d6aa675cdfe5a93f48ef69f4e2163251bf84b03850137bb77808305987e9468d9baa40394da2e2c1ca05d30bf33f52823ee7b80a4c5ebeaec000000000000000000000000000000000000000000000000000000000302d14682044d808040886246bce5a9049b96c16f3bb8f7fd7c696130b93e2ce41b9993d83d61550c57f22407e6eeba20fc9dcf8d610809c381123cbc7a6b95f919fdf8e345ad3af81bf9056801808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02edd29bb3630e3b117bf328306dc693ade37501db6cecb325d632440315af50cfba18f0937d5a1fdce51a12f214e4cec8e715081885f40edd7689fd3bc8b0eabe89106580da28f6c18354b358fddc1f252a6c4cdae6833f75737e5ce4701fbe327c8d015902b889a61aff7f7b418790f8aeff56633798d45a31eb3852e7c117844aab836f3db189ca3c57e3d16172ee1d1f5f64174167b8cea40901db9b5fabe5443cf64c08e87d381c35e7d52cfe29c7d6ec9911c476023c21331df98073761f5d459a4f0bb820adeea2fc96d878213cd79e2d750c8171f92b203e8a907f7894a4e61742c04eb72e5039f437cfc33e249f06913fd721711bb2e61deddfba4da019867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a90000000000000000000000000000000000000000000000000000000000000477957932b652c526bb4703e50422b24ae8d1cc57e2423ad9bbfe59342f13db05a6c4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0f5ceb4419e96e46b46231063cf6548221844740000000000000000000000000000000000000000000000000049894ddc2093180000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d8080f509f61a9f669a6dd9d66f660f6ea47ef4e7b8b8fafcaf909c476c5252e9d4162c82c25d2999dad06b3cad52d4ec8cf415dfe36b4a24a606d9d4ac73c280bd101bed05850137bb778082520894f0de4c5c22a20de8a8086962d03ef4dde2fc10ae870c743eb672796e8082044d80801e7bf260763d2510d0e4657d096a6aa0cd601be389125dede18bcac204999c84080c563934fa78a60375c27297f088bf49ad9b2debd436970b5fa5529cacb6661bf9013401850137bb7780830370e39488d08628a2a3bc6aeed929f06d0f6fec9946041687071afd498d0000b901040d23d6690000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000e3636c01412c8309a78b89bdb80cac75bc0ee07f0000000000000000000000000000000000000000000000000000000000df8106000000000000000000000000000000000000000000000000000000000000001c33c5ed08b1a1398125f2bc2606dae71e5608a717f20462dce312ce722f512417243fe17ae6dfe87e99aba76ed737aa4808c63d82735dd1a8d39388414b6c5a4682044d80809941be708a4b99e8c8832ddb62a73dd2f35fb978606ee85ee536c96237d98ade15cfc8f3de09cc73298b25fe797fe10a8761d6ce235f6b7b4de41fc69887e09c1c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080c4520e121c78e0a2648f8152c265cc542b7496757ebddc84343facc56f9b906d000000000000000000000000000000000000000000000000000000006422607d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000724f9056880808316e360942a3dd3eb832af982ec71669e178424b10dca2ede80b905442cffd02e04625a417257aa3aa2a4a8496c1ab03ada5206ce8816b0dc8952eb63607b6e2f60577fce3b1ca24aa0f102f6dcd13607753c52f73fd8a266732c7df091d69b1b190bf423637e82db218314970ccd96422f26c53bc2d5b65cb254f6c1a105f2ba395220ae3416c293f9956906aa57f43d3cc797f039df853c0eb1f3b9ffd0f137473ecd81e7efab173793927081f4b7c5310c1dcd9be921b2bd4cef95ed341de043cf64c08e87d381c35e7d52cfe29c7d6ec9911c476023c21331df98073761f5d459a4f0bb820adeea2fc96d878213cd79e2d750c8171f92b203e8a907f7894a4e61742c04eb72e5039f437cfc33e249f06913fd721711bb2e61deddfba4da019867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756afcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e050f7e8cc2d5e5e9f6ce5e5d0352fff94f6569449620e6e6a693b3dfb9d44e683f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8923490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99cc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8beccda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d22733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618db8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea32293237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7358448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9000000000000000000000000000000000000000000000000000000000000046c957932b652c526bb4703e50422b24ae8d1cc57e2423ad9bbfe59342f13db05a6c4603a5f1a96b24319fc3dda01b7988cd392ebae6b9af1d194d8b892cca48921000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000503d9943d5f9f0f757252b21d734bc0791fe498e000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000082044d80803fc3989956f738c6285d41b882c73fa5d3856b2031e1a0bdf0684aed680e74f24d76c0585d6ebd5c03d1b739d188317baa52320d484835f975c68505663305601cf9013480850154f04600830370e39488d08628a2a3bc6aeed929f06d0f6fec9946041687071afd498d0000b901040d23d6690000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000e3636c01412c8309a78b89bdb80cac75bc0ee07f0000000000000000000000000000000000000000000000000000000000232b49000000000000000000000000000000000000000000000000000000000000001cde432536ff06a1ea3789eee6d09cace74e25fe3c6f387bd722eeb508903b46cc7ddd56714feea9b4b09caaf512c0c4fb9ed80ed793bc8427614387bf4ea13dfc82044d80807589984bb0b4f08028b941880b2964d31aa79ae3e600c3cb2d54a4f5d9a5c1367bef775d28f73aab734fb0ed33cb3c78a548c878a94fc442d59ed41ccd9662251b00000000000000000000000000000000000000000000000000000000
More Details:
Click to show more
Click to show less
Private Note:
To access the
Private Note feature, you must be
Logged In
View 16 zero value Internal Transactions in Advanced view mode
AA Txn Hash
Method
Position
From
Internal Txns
Token Txns
NFT Txns
Txn Fee (ETH)
Gas Limit
Transaction Receipt Event Logs
A transaction is a cryptographically signed instruction that changes the blockchain state. Block explorers track the details of all transactions in the network. Learn more about transactions in our Knowledge Base .