OKLink Logo
Anmelden
Ethereum logo

Ethereum-Explorer

Blob-Details

Blob-versionierter Hash:
0x011e34988f3b95662a48986338ccff64dee03dab946eaf7585be0ebd7abe40bd

Überblick

  • Verpflichtung:
    0xa53224d45dd23737f1a31a01e2713af6fda3bdde0ca4ded04c4be446f94949680cd4373dd22d2436d92e7e463886ae41
  • Nachweis:
    0xa9f1113cf42814c0bb9d55da83da1ae7dc2b9fc54068bd071f1db2f47b168fbca709b248c119c0a422a6daaf7b454651
  • Größe:
    128
    KiB
  • Transaktions-Hash:
    0xefc9ddc4aeb61d0ae824ea524639d7826ecd89142e17d8eb6746fb0d96287ef1
  • Block:
    22133902
  • Speicher:
  • Daten:
    0x25000066fe0041da5378c40a77297147c9074a48a71c0000000066e678daecfd17541c69a32ff07623c125b806091234588226b805b7e0aec19d105c020427b83410346870f710205870094e7012dce12e32ddfbee39679f997af7bcfbdef3e1335af3615687df7aa8ea7afaa9aa7ffda953049dc9413233fcc71737f36824150a1d78adb39e58bcd2c37ffa31583bd680cc13d93960352210acd4240ad1fb6e354c1ce9666900f9c8a718fef51a7514332ee97266c7268dd6ddb02a213ed07c2a19abed0fd1f5f09735bfcbebbae58b20efe022818a7b96bca2038533f658a43de09390562de0e27da848d83144c6a3494e2ee2f7dd150ebd6e86a20d4b2fd10986cec211773556507ffb057011172a16a15a14a3ec4e88eb1f2b352faf7eaa160d71213adfca7b82334d66b76b3ae80e5cc4878a21ce1890967087f434dbfa394aea67ec9bdc18cb65bede6f9a0a68ef35557189dc89629035978e1f2c3c6f1b74fbadf1cdaa4a47f7cc9a506b2eb273e65a590753f95572ee4442a838dbfc2268b3062291967bc4b630eba8307891a3e914ff1e14af9af051eba3e4f803e00731544427f60c5e8e17f9f4a59722b16d875c4b62120b9e99f166cb1dc92b15389e4c13b8480a15fbb7ca1bdd89374a8743566e53a2225299a2689ecf09a83233d1e76abcf27a3c0b5c24878a99a0730de5762d1085f1c736bdc8fa91faac0d3ccbf76598075cab35480d4be867c0450aa828293613d98dc659c2fa9962c7993e6b1be7ebf1f7bb5359d2f1f28f6bbf312ddf0217a9a0a2274696d8bc3afb7417566ac98b174bde8515161b6d533e6bdf57dd5d1f1d6bda03171f42c5fbb1d43b226dc709247d57117c3d7220eff082f10e5a1725af53e51bb1c5005de0222d23547cb464cd8e099fd42d18915690c2dc4f8f6fd4491fd42cf4ddde899b90b81da614b8480f152dcda67f6ca82caecbe89a9e967cbb966367f2b8a2ab3ca83639649af57d4bf8fd4e14873c7da9d8de17432b7bd3a504b67be00f29ecce26173e34fa2cb31a07e370ee68fb4e64808af6ca7643f806ad9635f95e706c7a12e301029a7592dc3bce8a46d6ed46575f9ac2808b4c6df5e06ed039b81d529cf1e3296e412e5cb89b757587865cfc836c6bf2d59b348e91458856a15af107e026cb02d8b11e6c770eb6360e484af00d40bb668c13b11ae7d2867be16d3fb063146213b8e3a0f7badab71e8c60e7674909faeb97d0dfbc0ff99bf7e1fef3ff5c7d0f118af0fb4eb451f243bad5a3ef896c9660cfc3fffc7ec668370fcbe711be12ac25f8a7ebcb63f4d3a6d6ff8affbfbf4835fefa7db4ba00b0373364df20b7cf673521ff388b5b2393cdfb68c6f3d0d0f1ddbd44d03b8268a613392508bdf5c357079714af4cb1435eb5543014f2f9948b49b9fb7ffdac694bfdf9f82cf58f4fc6274bd54f9a8ca4fa06ad075479b80bf03d1ecdb80d6b871cd183d4119061f40139bbbd2801e9efa2a12c0dea98fac45b05260faffaf170ac12d7258095dc36c61f6426196fe66e2f3e867ed6267dd5c6e8aaebb75d47c4ab45cb0a55c88496de022c3c79a5e517f1a9c0394a0cb8c80e15cb572288693d8de3059ee4e0b2a8fb10dcde3ed6f0bf5d243cc36f26598ac4c142062e7242c5b816eba849b6e04cb52695fb04a3095a2d8a1f6ddf2290b9c67d4881df9ffff41ab8f8042a1eaa35bc28f079aaf4387793a85c82e203c3a7221385e132869e72c3410ba9effdc0456e2f185c07217c7e51eebe5dd73c4778946090c04c1c96ffd01eab88f99ba3dcb52f6e0070911736e39bbc78cf6cd486afdbc96fa5e7f926e4e3471417a51c1d5f17b8a586a9f7869fee4449c871972b8d897bc078be6b4250b613220f5874509131a3018743fb0be8907540fe4ee4878a0fd60ae1713e068ef2773e4d2fe4599026684ba74a19cd58efed4abc10c8b553002e3e838afb1bb4affc94196338f64a1c94d8225ef7530d7a5c9d1f24063fd115ec5788dda4032e0a4245563f06c6c9029a85137c0b31bf889575df6e887bde6111cd078b12744715ba63e0a23054dc2ebc0944555f12f9e18b06f226632f2135c426eb47ca34cf0bc72f2958db1a030e8a42c54aa38f342cf0482fde67f01c19c7510ccee28cf066f8f6551ba3190638e65078e90317c5a162cd281527f376c6af407f11ccc26054adfaba2a0db6c329aa4b0865f09c8e80167051122a6e2a4064106cb5bed7a3f3db9285f57d1c9f1b72a48134b2d6b513d2b647735bdd8952103d0f3b5e1da92a5d8a1d7107b1a32b60ddd90e073f592709dcc55daebc6b17c13b511a2a0e7c1423e9d5286b65282ac417d16c40aa6cd61e5ea71a4109e72493fd6e8637f118b82803159ba88dd33aebfccc2a0998c47cfb5c7bba96aace3a04f588bfc75c3cf21546fb095c9483195e59216d0c6ee53bca697382283a4b78b2f5ac493f2da5d1f50c86246a16b438808b0a50f195df1beb2fa307b47a4a335f153331ab9ed6fbacb7cd1671c07f229646316a9d62052e2a41c5f609b45d11e69ebd62776f6d8181645141ef378c0539889990d47e9164f89aeb3b511a82f8c961de331be16b9640630e658f402b2efacfddb401bd90db5a3da6773ef0b477a20a54d4b7e88564e70e1278b594ce3ab9a39f6a30bd932977551ff6dad01c0e3446cd012eaac18e42b35bc52609c22ec9d86f8f6d46d3068eda9129521a7e7ecaadc95c360b7944470c5c54878a7d171bc8f4f1cf50691c489c3517ada2d88aac171853364df15a6bef8b5c25d201333561630cfdfa36a9ee71599335634ce6e27900fea3436d06e62953a6239c56212f8bd1c0456dd818d15bf2c67bc664d2072d85702eb1835762e096855391d417b00bd6b604177a54808bba5011291371d6d6d8164593c4a2ae4af7882729d02fdf83aecc46de6e366f7dd73613b8a80f1589f0c685a2765dd9634d1d0e7bea3b926825526dec654e88c91e2550e29c2d3fbc135f40c46b369acb99ce97cc2719b69adc6874dcdf99d4fd0afe8a1977c55f4bff53dbe44e34848a4bbb9979a8317c840cba6ef3d5cb440ba906eeaca7bb8523881092d77d9185eff8818bc6500a039ff6b95a11f876b387e150a390ed158657a802bdbe516bf0e2d53754ff101de0a229541c4943fdae3c9f3d2191f66958f1d03d23519228404fbeb6da70e1008e1e2e692c70d11c2aba31dc52c7dea2f06bf4584415c8d921eb3550b96ca8176345e1bc648c17e9903f032ebe828ab52f0c7f21f36fa7ea9c6c5ff3bfb31f1ffb4e6e21532d39d9beb73c48d0f661fb4e9481205ca6f0d8881564617b358e099de0a331850685a69e2c5f4f97ce17d83ff510ba13ada0225e8760ab948c4a25f115371d5146f114853c7319978b57457cde642bc175741770d1063687cf45349660f35199a83c3289de72563fb0c413870f96fd1e9be079db4cb8be6f075c2d6bab47d8059d236c425ef36ef968e92376825f8d05d0ff9a268d87c3da44eb3e64b42178899ddbfccc06b8e9708e90528f9008778e10ebdf8ae08ff035202900382029113fe00d0e28ae5b41f92bb52b05def2d68f9ef969e2972e78221ebe28f508341573a61f4060a7e603c4baf6322762e2c3891ed03616d30de7f11ce81166fda4ca5cd8fcaf56e8e0c79370e2d62005ef51c8bd8cb75227f21891821c34a80e6aa7580590ef0c13989fd1bffdcd39c2e2df9c4218fcf5fbf0422010183edf7f81ffc607fddd39982fe8ffbfafbf3b0734f887feff71e38a0726c75da52079e0ffc58f6e633d5de4ff1bffde3765b7e9b7a25b6d24534e57e47bae912a14e1e30767dd9c488757f14fa5151acfe79e3dbc4556e876b10ae08b0b2e427e12795329909916262e95682a9f412b696e9482fc4bb07e7eaf997b8977ea9586279544de23a7f2c32666f72b7f7afbc4ef5f0f9e49283761576fb22a3abe8d0511f12d4d1b0ead2cefbef7331abba41bc31fea615666b0714cffe5ec8cf3a9972cf463bfaa0622894d73c02481154b9dc5d7c1b900173872a46cce51737c4afb2acd26347813c54b472d656347176ad3758fbffbfd9059eeebf206a85825268315573e4d9bd8ade3356cc7887a061a6a5e34beba104238ffc51c5d495aba7895055a02df1cf2866a5eeff2de65bec907b77bd1792d7c751ccbda2133539b65141ec6eb8f90308ad6932e26698fcec4298c6c4c78d9aba66c3fc111b30652ea3111d0e53554578729592c9ff17bcb8d746845073f6c7a9b724f6fc9a9f4e6d47732b7b9e781053ee37dc6db9b096f81ee133c7392e9e064076a27f6aaca0fe9231ebeb1d9aa1fbeaf891db98d15e10bca532abc4e50f95ab32bd8e60b3928667b2e10a527611f7728299a46e786839bb68a615399f6832473f84b2aff1788988028d71e4f84c3477512fdac05ec2cd0cce8fe6472ca815b8b705e789958e61f3312eaeb4ed6dab8314304b3b34706f7fa6c5f87ea1f3e4a2233123c7b6ee075453953097cb67382cec9a2f4ca24655eb59ce34e5835cf063c428be63b92b13c742d222fd8eff1e426f300175da0627e30286e7da2a12e2b4c76d1cfb1a4c83cc22ce9397fddc4e13381625aca9d8c3b5116521beba9437979dae6d714c4ee51fe086ce6fa31d60acb9327249e1a436869bf0cef4437a81816e46706e2761ab33b36d665726f29ef8ca5730960ed194a5e3a42482d999924052eba43c5d7a1a0350175d2c4c7f22d025dd291426fd6f5308559c2163b94d02758f85d3a808b1e5029ebbd1c52c51aaf6b75ed4c850b3efed0c4a9e6afaf8a2c8310879c387732ae0be0a2175494fd5c9af236fab1cc0c295fa211998efae8bb45dfcc90a0e0dd771d70b13f7833b5808b3eb0ed48eca82833eae4ca735e1e372b81298646d0e3281ba8551a8391206dfa72ef1d70d10f2a2ed25c0dfb12d4da753e207b8520c9911a6b446bc68326c2e15bc9107eb878147727ca4152e59382568df9198932a58423d05e142e33c53d3d2a191168fea1fb56d5675bfb4e0c808ab4313ea43f9ab911e975ba97e389e0093fc6bc313ed1e066172ff2dfed89677e6a0f5c7c0b151d3c16ea1d0919c2a6698d0f3cf7d9d9e8837fb1f38ebe3c7f9328a2a7e9a71703060c868a2a7e22493e43f13db2eff0b6a7af6a9b8b1f7ecbf0368dd2986b43cf152c2e2e022ebe838ab967831ae815d2c793911e353e05ee27f1076219eee36c1c922bdd604132c3bd1ce06218544c27cd16c44214c6bdda8a1263bfc250498239eac41647f88eceaeb3e5807b30808b1150b11a1955e6fb3992db9c6481714f2a9dea3ed121ffe584da2f7ec3840625beacd43b511e32fb421b55e1c776016e399eef80d86a65408cb6e6eb7856632ca26622575535db3b310a36468be6973211b47c6c73af8615eecb16b124fb05cd6537ae97a0d0311842a2711b808b315007b4ca7b1df201d72a9a92b3050d2b03be8af9edea7aaf6cd2799eac27e3978213c0c558a81803b278ce3eb1acd15e3bb95d12664b4b3762025a34f49c7ca3f924aabaf85e1270311e2ada51340b0da0bda51ec94b7d607ef5eacccfbd80f00d2587fffea3efbc0e44ecc82dc0c54498a83dfb6c5ecb3c7972e691e2ed78b75c180025f1a65656c919bc1ec1d7f27e1ae06232ecee4c16672cb1c2d8b7e3aaaf1d5b788dbd3dcb214bb34338170a09dd5a08fbc4f877a202c4807aca377785e81a5c22ce69ae3f9e8709f3929c4d1cd6254d9fa1df9bcb398d3b31152ae6b0390c9bd0fa4e89a61f6451b27ef44359272929792225fabec50234826c8b48065c1d878a917cf31bc1f99d57662ad52887913725591645aea46587917b8bd195e72119a5c0c54cd8f94905578d42cc4b506a793fb60ef8139bb9bf6b098e26e19c36b284656522b72f70310b2a265127d214c2b3118dfe5cc67969d362101324af34a0b7bcacbb3de3eeba1e1838065ccc818a633cf1499ce2af337204f6705fd725b61b16d167bc42a549b1d97736f51af262062ee6424582968752564b8ddfe61a1fab84821f3adf7b6baa76506df0c9d7665f2951ec6de79da808c175161b4606b5be44d53bc0c95139e5251a299c23e87e485d721125b2576a767027e6c3ee1d0cffd08cb13bd259c7e661f656cfd7dafe4a936d666388ead16bfd73a246703c01b858081553f866882bcb12367967982c2954d7479c8503cb4a6a33d1223f37203a52e64a03173fc2aec16b3713a305ec1c3f57b7991a4b3d50cf9deafe4122a0b510cf20da5a1d32aa015c2c818a5fafdaf1032ebe6199d3cdcdf279a7fa39d9b64246557a23b9028fc64908530675808b6550f1c503e9549391aeb096cb18f039aece9cc3af1a5ae9e466777606a70a881c4f0370b1022a9232517d092a13eff21a756516cad3a1dd4e90c4affb94529b831a358dde8d5271272a41e67a2c3466a8cc44f2d9b7c2db5e4ad1b6b27c96fbd47e815aea439681b912187b270956c2ee5e5757b15bb3acf880adb27392ebf7c4316ef002fcce19bd501b49112a5d6dfd808bd5b015294d6d9b7606e578061d5a765da8b7b4dd0823971643533822e240365c34190b70b1162a8e626cd78211855bdff39988bbe9adb4c5395e194790745d734df694ecdace640117eb61d78eb7b8aeeb4275cb6a3b3a4ec2880de5d5b4910b4a8c349eba9955e8b049d4797702171b6177c276c45fa471df3c16f2eddf58ca9f5f78f22ed2afe7f823592393b8052783180670b1192aa2a6df196ca832f6151dcb9f754f36dd386121630b11cfe915e013d23c22d5fa7da5570c52d42df4e059dad80b927533f9c13c051a2c96db269f8c9d729c97866a6de6024da977622bec1a532cf717174c54099d63c2409bae86de65c2b137bf2e51af27af4988d72d0f72818bed5051fdc2fb5ed02056ba23ce8fcf37c39812adda7d2ac55402f7e61f40fa6ddbc10ac0c54ea8b8b399d98d1171920a215cf714254d1a9949b79bb3a296d86ee48cb47fa65f34095cec868af23e9276819af9979f49182d56c43c88a8944389e4c350dc95e6e45939fbc8b338818b3d5091eaf6b9401eaab24fa7ce172c3d3a3d3f0fc21406888a0dd50badd46d3893826ae0622fec014166b456a1dae2fd80edcf94a097724bb57b6f73bfc30bb1fef043e137a06813bd135520645b7c79d5472214d6c89f434d3ed3d44839f04fa28e74ff74cd380368724b624dbb13fba1e259bdf37b65bc8f21fe353e2ec3edfb7b4f4e8c78f00bcec687aaa9b0a59e576a00170760abe67b0234fd2d8c69a6485bc60426c9981a0e31d7eb3897ad619fea37630a0224808b43b034c55aab0c42fb6696fb7e892171ab1bcef131a148e28a33df1c3c276ec704b9117071042a3e19369332797f1651ee8e331380b8137a9905cf59f6d98d4e33daee0bcf738bd7c9c0c551a828303186787814ae6bef25166f1bc6f5d1bd35f1b250a32ffb71776e969ed43e1a31711c76ffef9840f784cc1c95c70ea70a636e2b2368b65b89823f5f49e9629c27bf40baf04e548538f3b3190f6ce0242170514faaf1b420fb75bd137c10dd943772bd34d952887cdb71274e42c58e845db5ae61d0625b5490e7cf5da41c5b1f0e3c335b6c99a9543e03dc36ddf7c0c569a858c62d21880bdf29c26e9d15827e239bc1737f636c74e8abb8ba45a1f90dc3577be0e22cec8ea2f53dc1fca2477d25897ab9a9887cc7631394d82cc1f0bbdde2fd1312fb9fcf808bdfa1a23632eb01a4b6c6fcf49183618ae6513867f321229310e54e7193d3849b6d4c682b707104766f2d958325b8f6979c55adf8b89633da4964cbab77bcb138b3f5063399e1323ab5c0c525a8a8dca17b4fde3712e3836ec8fcea32f9846ff7a883ddabdbe52fcf87af6ed15dec808b2b5071a3f220cab26534dd2e6b84cbcdae83accf41bd19e219ea4eae399267e944dd491e70710db6923a0a8b6a6e387b7d23c1e3d6d300b1f348be8f440cf123886744fda12a82ea3270711d2a0aaae457f9a3bffaf823fd85f5f4f706e36a2caa088eb1b076783b0e148fbc9177c0c54dd8be5e2d05249b2d4a94e2586a2632399479fba982d20e540eaa462081934987cdc0c56da815e844c4d968f65e1e7ea0b4421fec9193385394b29fa4294c5d8d36d067a0fc3f0ab8b80b15c703d99e18ae7b453e91568c77cb89a2282fd98a1859a3feee6e3bfdec9d19681bb8f8132a0ad3a161b3a370197649fefaf40e798f5a70f3e1623c9c89653ff1beb71c27551d70711f3687735a5deeca0c47fc226ef5861361a70566bf622fe846fe54e99cc3ce1ed73996015c3c848ad4bc0ea027a54a1d61b212015223da65ed1f1f3bb9aa24ff58bcbf2e1ce0278d025c3c868a944f47530a15d482f507f2b171d1dc170b9145e542b638589e2fc76ad21a725300174fa1e2198f28c169fff346f9019fd6c05757128af9fe4b3495da8393c3cf3ccc685e56240217cf61573eaaec9d2ef19c12cb4c4203242472f7baabeebddc605ab204f12d6648129aa303172fa1e24ac6813aa529e38a306d846af16934cd001bd14baa2765fca16d73ddd5da3535e0e235541410910ecf2abd6a411652b48dbd8417df082b921332a46224348863976c75e4062ede42c51f032cc3019bf3716bd9840f32381292bfc6e46f31b7e8c4f8c42cf73e269d688a022cba80a1e2eec3a117d5256784ccb32f3f5763735b3015ea072ebe95639fb5bd87efc02cdf0d5c84878a087bf0fa353a730f287ee6ef1259c9ba1886be70a748f89ccf1522822784b69f085c44848a9f843b6e1e15596c8fd073a7a24f9ccd2afe342a7fe4dde9c03ce72aed6d63c0b00f5c44829db19781933e6c11a353a788923accd8db7a321b1eda0a3f770a7ca7ce963ea02a065c44818a6dd2c34458fac95e5274c2553ff07dcb2069894e7ed9533f83e30a7ba4384f1a085c44838a7073a214f54f5bb437cc72349377eda6ba3d1e642b6fe4706db84951e8284d4803173160738f4ddd15cb4a0df2634ecb27fe6b62a411611716ba0a2af490fce1073ea1d10420e0222c133f188d044efa7073acb961bfea702c7cace78b41d07b11b36a853be5f6787d6b0d2b08cbc4bb065add37d847ebb6f18c607a78b155b7f362a808d757cf7989405c0bcc2b5d1fb808cbc46ffc5cf528d1be3d847420e3e8f00acf44cbff689e77b01f46bce8e43c6ee3cda7022ec232f13faf4324a32e0e64c64e3a71ca1d1ace4128258558a84e7ef2152f0a486426640117619978bd78b22e2fd7973fec47783d27dc19b0543b7df99cea63c572433c434224ed81af295c609978c4ca3caa50ef28791f425590e754e656d084835449ebd50b72e8843aafc96a817f17bac032f1014dd51e960fe57d20288db6b9cb3322f23adbe4b6230405b901dfaa2c2fe11021af525c6099f8eec8ca8144ad673f1b42aac2c7028cc34bf9625a5e8b33ae5124eb3fd077b3fdceedab41323aa2bcf766283c49797aed9043e68a2a59d8bffd2846dd73353845ac5d1e38bc13619978ff8d266108e8d91383f756395c9f0bc41d35762d9ab1b870d0bc30eeb7d53ec4f93dc69710478353bf83de026cae22ea178427e2bd37e10ea77b47f0f77c55430fbb2c1f28dc89b04c3cae906b96a9423f49cc631b3fabcc974efd83a2673ac5f9de1feb689eb1c359fe3e8b5387f44805806775dcb064942587bf69f069d1b7c12b57a0492c1187c34390a49b3eb9133b6199f856d777e219af1587d5626c302ed37c481ef6a5d7c792c466f32360de0c306941ba133520afb4b276efefadf0fa3a957d55f1c2cef6961d28689d66a016a830c3302b7121be1361997867f3537c7444249f7eb645a5b289bc5926c96c19819811c8b9b446de54aef2efab859a908ffb7c961335fe36be1aebcc8c342e2ec372e5512b70167265be682f39d1c7837fdc89b04cbc43012b5222ebcd65611f1541608226a1d77e6277b13af730782c73d602e97139701196891fb54231c60f3db606b923383d96103bf8b87982fb8a1157904be52593e3cf91df33ae16c432223d65b3315daa55a6c2f153d03b9d5f15ef1079522737562037517da0708f353b91092a928cae64f2acb9536db9398c6ac8d01a4d2aac8cc7f483c8b8a23b37825fe757021759a06205262d4d3d0d87ea82c1903a9245f072392632f7c4b704f4a925c586df226c26818bb074f620cdd4a3d76cc979f9b8cf4a7f523edb5a25e31e9e91c8337d81561e1df99e7d04b8084b67b31d6fcebf48ca3a9b0c3180162bad28a691a8ed5cea5321f4f5be22d4c1389cee052ec2d2d9db0c8fb166cf2c5162fc5bc5fc110bde8d8b10b5dc63bf8a701d6531435224dd032ec2d2d9b304946dd771f3b38745aca40513ea39f945a6dd4f58451ce542f28927c9318aef126dc835af3c97dc9ee84ee6514d625c53c7cd80992e9be625b9c487ede947822b2b1e3577222c9d0d0f518bfcd592e40d87b481df8b8675ae79644d775f15130ff3b023e4fe8bf03ee0222c9d3dbd7dfd4269f2ddfb6cda34f99f5a5d12f81a2faf115393db3ae7bd59e244df48011761e96c8bb77326dc25cbe7c3183e08520a9ce50a9c35af78b46f3b3996532152debe35c045583a9b6e9d3990574af4c631ec4ab3832c90d13dd14ea50c2742bb37d70ef480ba96dd1cb8084b67eb8b0825396d80a5c22b501c6bed02184b8e3479be3e1b487b7710a82f498a51065c841eb35d3708f965521e6bd475e21e78ec54ab71b2b414e1eddc971735ef13ff191af1fbaaab0e64525f0c8e24555ecde9f6cc801277f0c2556eec04bf63ccb8e30e72996c723e9ce94e84a5b379acd2faeb75043f0c7f32213420314276d17a781f9589c52e65c1fa5932646b13b8084b67335766e9bf49fa0ec25751bc091dba0f938d9d6b5915d7d7a9c0bb4ac0d1cfb3045c84a5b33beb640deb515aec5f7f25f0eb9bc133dbb77da155236a48c3a724af3864fea603b8084b673379160c1d3323a43d21232a5ab8f0edf72a46b4bac22681437e1adb66daa1efc10c5c84a52b29f1e45c8f30a87b9f6f55c584ff6495fb9a2f1f43503764c3ba908a8b804f080d5c84a5b3d548d2108ed1f806ac20da390bdb04b9f31a390c0b7ebbf56932043ce759a2bf9f38d385a849b2fae9f4f4fb3d633349c5626f9cd54e0ce4d888182296ebc7228a7ce1b1c97027c2d2d9b11d2148d710b8be67298102b51636522b8a6a887a5ad9d3dcdefc4f5bf2d2b8808bb074b69e614793782d77ce2c673f128611234b41f34702ca075275d50807ba5c5fd768818b2a6df5e031d03978182826f7a09e3d72b3f4861e97efeae35666e90d7e4bc78ba1408a5bba6431ac511c73e0a6da39d8af1eec0d770e7ee3df8ae08f35158025cafbfb3f780ca1383d1666d4c60c797d3c879f366489421dae37ca98c10f830eecda41a07a3082e2a326f8ff9cea225e78f96e68d0a48951ed941a0d7d9cda3459ede75fe7c0b4ecff0c28d6f63f15d40381c0f1634e5de1ffcacfdbebfe8430e36db4866f29be3c931c5bf936f2f9b5701b18c240f2797c894e8e8b4f5bf107a1d4c587d7196ff01329706e9db35472856d438320e2e2c2a7bf02df3c8ae28b7a83037ea41bbdeea62d20b897fa738b6c224467f90734d4020a1c5758571e1f1472dfbf6e8e75d3ab230a61a2c84632dd57c3c6b2e8da05be536111f930884c396729ab88bda62a5f2496457034685e1dc702e193f784863b267a761f39701116914710ae6f8e0f3d1f7ef335fbd75c7b60d495ca607c72ed4b5fded03e7f6cef56833b510ff2b35e16528e8a81ea7598eaf36faa9eaec639b30ae01639f49ea92beea80db2813b110791ff58fb71ebdee2e1fc29fb6263a3a0b896a69bc15e83036aadecc6c75009229cc27f418445e4e7e792764d0470ccedbf9969f774d26e091a601a9217f52a2763a6922768ec4f0117611179366b9178437278cf275fd02d72bc597b740943171144539d82cf449fa84314d1818bb0883cb38adcf3e621e907a0b4afbd8dbb31fb57bc02518d34352446600eaad4a67135e0222c224fcb45599c921063947a3b1effb8037f40159943c5e8a7704ba6ce5b2f429b77f18ac0455844fe2ba5470968ff15ae98694c0867b6440e9d156751c0250ec29493c1483367a1c99da80f0b135299278ba3a8e916c8fd14f5a93cdfa97bd56be383a78741fc5e16c21e4b3d9d088bc80707ba5da47fa54cbd90ac8f16cbff71ebc62bf9f0fb3b7ac2050f32d15e59794a75e0222c22bfaa31dcc812f1056dd129a05a654fefe0a528dd6337250c5d8f35eb2f4be08c78e0222c221fb179532dd4c324f2b945c55bc5f0ed3cd7f5d69af7c7325f36c9a8f66f692279808bb0883c92fb6e5e11f5e329440c13cb6021d440b62e1ba18bbaa7f7849e2bffb240e2790f5cb483dd8aa998363a0ac048a5fd61b2a782ba0a777f30ff029ffd2a6a6808b4cba8d862450c5c748023a772755f22c525021f1766e62817869219ae129e1038d764761a23390413b13002176121d424b4626963e6d9f723996596701d8527945ae77db76f232ba4d103cc52ab8f9e00176121d4f03773925e149dcf709abb34323cc35f94622daf4c0f1767363594daf434467cf80c5c8485504d6543fd821443845bb267955295f31edf998b482a3f8b92f175bec7494f5af4fb82bf01c410d7cb80be99c2eb99822ffbdcb291cf5edf6e658e677d3282da0814cc105cabee44580875ceadf83d812ea45257177a2a86e9cf6538c2e0d56fb1168224ed8e9e063fd16c808bb0106a3074cd5e253a06af0ffa52cf518cd67e4a7f6e54d3cda3908e07fd0fbaf0938821818bb010ead7f345321481a25406692af863e15388bc8411bf4ef2fb180dcf3d82845c46a53bd110523aff76bbc88bfbc897d9c1a6817d543b577250192b20235e4352f5d1da26a1d59d080ba19e7cd75ffd5e8d7e2f446fca444a05f56a503c4e4235e9b2636ddeaea4ec34249017b8080ba1ca2be98c81debaeff4a3a17b245d80afdd8995fa65111ade8de7f58b9fbd8baa1ab8080ba1ee36b4f2a5e3bf162d23dc47d17fce144bfb9ad8a774d3c026e95a5b3bb7e10713701116428d7f1ee4347e9c706de9d1244afe32d9e80124c514ddb02007effeafe7ac3ab74ec001455808b5fdd202ae2aa00b4ff452024543e905ce6de79414f1a68dda93d7221b5267f935c04558085551a75f2ca0c333d5322308f24e0c795cf1e2c9d38a1b140d909801b9032123e59d6804119c5cf6677e39cebbf91d1949e39252ff5850059d719af7d3697bd3baf1f949df9d080ba17e79bc43185932533a6704c1c973232449df0b0cf15abe02c7879a16a05bd08438001723daeac152a073b01804fc17304c220f1b4f77c9e3e12bec95c76ec3322c23526b1286d2dc3f6a1e5e380119a3ce4eea8ee0cef6fd5b11fc3affbf4bd946b3385aa293f078f73e0c85ad9723344e5b5f2e8a85297deb02d9e9d39ffde725de835829d41f41de1082ed548c1da738755fc445b87ffec3674dfeb484d4766bc88ec41513ebd369345f5d7b8509bcfbe8a20d0cd9c59a7df19e6004e7b6b4ebbc33d8a075ec1dad68ccd44bed38cbfb3402d9246910265090844dffd7a15dd146472f2f723bac610f4cbc244309f13a8fa485ee53daba1ed05917c4dc3fcff857eb893d5e2925a7b35484f3bd3be70202b96118f972d1b5faedc54764c03764cc996b9d33dc99837f2b021c6c0dfa2b23c75148e75c30696b1b2e44ac067dac39ac5fb86713148c825a78758404f66df385c4f50b29af1d203fbf40394040ccfd48b9c2e72bcae9302809a75310fe6310770472cfff83aa2ceec2c70b4a6cd78192eba9a1be5bbae126d5eda818ee4239e3428aad3f3e652645570245f4514887f67e7154e2398966c569ca3836bcf5b792e842c179a7aac07f1158e8572ebd8f4139a4cdf065adb6f17b42833c27996005e45017bcd6570363c574df22808bb0d0ef93bcb35a9d51f48a31cc334738ded183e88914181116d801ce9389c216026bbf23bac61049ad26723936118d2cd94a38c5cfdf916832ef213cb9663334cf4a2cf66de5d833ba1313dbea1f3640e728ab9059b497d60191ed2f48106db80eab92f8c9de72ef9dac6da54a05e18734224fe8033793cf51e2eb51dec39da344de9dd8f10606608908fdb1271984e23edc473aa74dad7b42af575c348510805487e109f2ad47a1a8cd3252fa2f878f7e2189ab4afde53f307df3d7ffc2cdf4afdfb77731fbcb7fe0e6e4fc973e3b3afdb52fa22afa97e3ffbbdfef2f5eac65b2e01a70fc989566db1f5b12ec139f36b8fb49b348ee21a3b5597c614e5d97d13af33408448ef044dae07ed3c80878cf299efe5d5efd7a85414244be969952d914b923ad668f7c991b1e9c5b7526b27f349a67db897f1a8d52506d0f36aa8375a8d9316fd008abb073889dd1cd2a7e5d6e7dcfe6cb0ec55e5a5a274d9f563022197d358378b6708fe134612f7123e7fa3312696ba2072b6f48ff6edffec58b2dea9bded33f8d66bd7394ac3f7334d2f331dbda7b792ada9ff545baaf1f3fcd4e42fc425df34d66426ac1f79cb81a82b48a345d4c1e1537ddeccd95327eecf4571790def1375f54c423b27feb6807d1d5ec3bde7ddab514107c3d69207f6d1281f24c70ca5ec45cea96e2c2052b1792585f762b335a28969a3fecf464ab3a3881361429ebd88c753b2ae6a2dcfc09e9df7daeffe2c59e3efd7ee34fa321027f4920491a3e0aa233dbba7fe02e901fe01290be32dadfcc75f5b0462fcbabc9fb8479c41a8cf0b94cefac2ea05e091390d4843702d5b70aac458c90bc6755f5ef1d8de7d7448a677d98a15ecfbe5b10ecfdf3dc72cb86bf2d50e3301b7ca0299162a3578e79ee39246eadf7d8962e349840961af1c20802e7fdd05857e5c3c605831219e9df1dd37fb5a7b27cc73e3dfc6934e9bf7e4c7b94e7d88b225044b11ce508efd1717950863f6191f2a99c307236cb65f5c8df73e5b95bc46af52c951b4e01fb3846f44fe7e30e527c0ea414d425d97b64ffd6d11cb71d637ecd2c2c9c16006d5d8eff80dfdb39f43e58c42d224a30068f227b0ed2196c0a0798642a2248079129a51e086a65174e73e0c50387db2475a595a725e792fedd7cf6172fee8d78b2b03f8d8615f7c9edb70f290c31974b8abeda0ee4f4536cb44f10e5905c3e0d88ffdc8b1593fc3c32711c8f115058266df9e0a4dcf379df1586720b93795bc902969f5c7adcbf773498433f1b4fc0ef3c39033fb4e64c2cd82cd47bb311408ce3b769eb51c2a57bb12426af3747eb8a97fb5e240916bdf64f9013e025bfaf3b59654665c77d5694e02c49fa1873f95feda948f4c6f53f8d66e4086b779a268bed6d235c78adfa2dd369a4140caa1a75ca972de59340c326cdab9a96d1b5b9d29db2e78a1ee8d6f7db8443be2aa01a78b675d313144cf90b69fed3d1fc2f47b865dd078e130be2554f8ecb073f458befab2b672874ab2ecaf68325622ab8cd5204e69f64269ed8406cd8443d26f0f4e3926a2852c50761228c538479fcea286726fdbbefb1bff80adf25a71a2dfdd36836c31cf3031e6109d9d4a47e08799a6fc6fecaf2053a36e3ccea348e03a7be112bedc520ba0066b4e7e6183d781e73320f1fdc584734b359cefa796705fdbbf0393cd9bf75340281790ecde2da352e3884bc5beb193d49099bdc0ef60cd4610fd94372c89ec3dba93731e6c516a1f36d77ea82a2b5cb5d1782fd3076238d453fe6e33407c69f918130d9b9b938d9389e3ce166e3e0e27ac8c6fa94953ba189a1b3218bbda1b195a1b9a9138b9ba3a1bdbda92308c40002c1edaa831f0e80406d6088d6dccbf0d090aed8d84bb9042e384fd77cd9d6b1a5f91327220131c6ab9f037010af7976e406b52e593289c55994fbacabda439dc595f60a83ce1f99550c34ee9c7f2c1edf7fee4cde94216dc2bf72f9387b44da743ff8ab517207298a467e9b7f1e262d17f0851eec69ace467680748416a5c2551566213cfe20e2d07049e6d50520dd676ad6fc80a23bef4012ea6ffc772f459756561086d4c36ca4c03f3e67b8e4a99ef361c453196d5d912b3d81b676845c0cdccff6539fa06ff2d47ff6f588e7aee3ebe3bb07c87a107967fe0710f87a9b5219287695fb43f05abcc581378c557e857c594cdc156465f985a34035a5479e9427eff6b2571098d88e7474889ebec8fb5c5e3c81e320e9e2d1b93fe5b47a3b22929b25e7edc34fd6aca48ba52d5953a7d737afc97e0b6f0e32ff3f6595d99b605708b5a70ed1fb9848ddd426dbe61bf5eec1ebc808026e5d24895e2b6d85dfed97274e543c22c46e3e87e5e34f278ffe7bad630bf7a2467001bfdedfbb6da6d82e789e62a763e1a43fafaf8ae9c485b246b7a24d15ff0d1095dccb94956fdc71a964bd544fd12e8bcb5f9f78e66a790d9dbbcfb5ea223fd46bf33d587889765c14663c512901742f3fec4ad4106b683299475044b05eab220df9acc7e590670758c9aa09dcb2a993c4e321efc32b27fb400dce67df9a7d168e030cf2d71b2655648e0243ba5056ef7341e58c0b5d13d3df7dc514379f5fc325caf633f78e5b19e52b27f8bae0af6636e840f7df6b621f61de8c851a3c2df0d1848ffada3d9e157e546c19c653021a533b28064b04ac8e71b35fef3436dae30a962c199e82d4bab1da3ca874627a4b5ba6765036917b70c66987a7d7c967987f7d14dac47ca3f5b8ebe7ff3f6134fa3597cf5627d386c4dc2f8426c2e2538c38046f52bfc98c24f5b61c16f1130d84104823d601fccbefaeba6189c7e5ce1ef67e6a4700ff394aa3a28e027463cef8fd5ff7b4773706999f654352a3df8fb2997ec12cfc8749e6f6141ac56ac070b152164897c5f90aa996c0fbc552bb5b8c07f7ff95730dae878900e151bf737b72c37bd58503de93f5b0016dc9efe693476f5474ebb064bafbf64b3d6608c1e4d9de3e5ba9c7571e13d4b5ae54e3758ebd74b076797e92cdf0f340cdf932935d368db5b6b4e22c39dc3f766c8b774aa9925fbb78ee6adc3bda6b32e279eb325f84fde81650cabe6856a66b43b71d24cecf25aef8a690dae1b3a4b07425eba3d8f80109ddb42fdae1fb4ab7f7daafd1c37ed9e1ab1875227d93f5a003e00e739693479061c51c20d6ff13bf5fa638f976b5e698e86196748babe4b97c8cd783c7690ec781ebfcedbb37cbaffb918cc4d53ad6529cb48569770a1ddbc53d93e3e806e93f4df3a9a0fdf88eea9976258b3625544a8e1e0adf5f5138027afddb9323534d6ac1b2e38bf81e88752dfb5bb7ed051739ac49dd41697c9ac4032bb4f329430976482072f2eed1f2d47b99c66cbfe341a814bcfcc2fa786a875412cbf115f8ba46a95bff08257d2e1fb226b0cf623a963a7b4b1cddff4e3da44eeed4938b26f2e162b0cae44bc27e332b49e9863c61f60f5ef1d8dfe53757dbd99103120904accd4d098d9ecf26769fec3f1dbef28cfc8492f1b3fe53257d8bcd44eb00e0afa3142deb326fb3e32dea8bba2592211f15088baf14083fb3f2d4779389e0c6507bc1cf585bc5c2fd18a412b8833720255e14b9a5eb1e49c4a59f9be69dc23b6fcd55b373e079104c73e6aac22e478e19fb39d5dddec54abe3b8c4cd585b2d4b5c4de6b49523c0ffc7e291237bd5b984a151d73db9f4f0d3808186841e622a2ae38418c186ab46a85edd57e00b3dd863f2ca41b3abb272acc73f16388f1518102cf6b7a398a592a61dc5fa357706de52ffae1b308158b7508ab0c6e809cd014ce0bd7f95f18dd8ae17ab21ec910aaaff095be18aa4ca9d087b4c3eb5dcd12c872a8938497e23db4cf429fca7a539d60d293f848b119571b2a1a66a2ce0223d31f9920d7a71a3c9f8c96ca22e9a4cd9489a92c253a71deacfe38dd7f63b4f0b2c83818bb0c7e4afebcc251f39f6ce67afd612e43b892ba5349f56929c122a1d566a259d38ab5300170bdbeac156a073b03984327cf0d6e7be3393798029153c5d734fc38d06017f987cccea0fb7442c1b78920ae0e6c77330513d181fee1c1adfbf15c1afeb3f6e90602c9ec4fd5777267ceb3e149eec71fe1f8e0419fdab117b6854e566ffcae1f3dfb8c1f2972ff355d795365f08c1f3f18ab6fbdf53591fc944ae88e16f87adc2dad14c3f15dc6cad9d9f82fd8f210f533d6cdf93291c0ec718b34630f923337f9dba5623789a80b759ccfb9d0d725cfdc7fef32d57901a4d08403914744474a280cc39048e4cf2b6860c53f4a5a258b4af5901dfd6b01e016cbc3ec51a447e5b5bcc842449833401ffc3f70d0ea155c6c292588c097200bfef8d9a42503327ca4c308ba56f24261ed277be5440b479bc5d4c8d7960c12def77d07fb0177827c22a0422398d9d91520b298c3c7a2e6e8718374f36560b3f9cdd621fb2e62482c29514818bb00a81c168c5e14c5f098c618b907662e24a2db070fd3157b6b29ba8567bd30f0e517ee062655b3d180c3abb811c26ea1d0727745a2e12d017d25a2d11b88f14724931ad25bb8b8ccf11bd274c064e569f950bd7959e15fb0682d959400160bce771d7c29122af39fd372c371f88a9de334032121b31f2ad1343d1cbaffccf9f0c070375b40a95dde12d42971d26c6de1a7d151ad2dbbf79fdaed66ea1d302618a7147aca6bd24dfda1e346a2056e2515534197160eb2db039b5928420ab2adb240ca2fdc8519e23bca56fae8a6f7bdd995f3970b155851626a836e0c708cd21c97353dc33725728096af9e2f1f3e674381014d8bd8b87b04abf35454bed8d0ff04d50db560f46069d831120fa8117982bb8153722269bf33ad93b57fd35b7e233d84a0df722b771e270d2a9819bf567357517706715771341f77f4c0408e1dc71a62cc3dacd693ead76657c8b5790532db2294f9c5f7cebc4463a1a1afffa50c42bfe9bd642e6365f4850e42271a886074e0789e0785749075cabe78225ef52e74699c14382b29bd34f10f9dd5634fb498a25aed2cb3f32e14793d9a7c41e78bcc5e40d6cac0be015acdb803edf2c4da062145f76303df4bcd5404540d02d7ba2a9c2c445873072005366b9fff70d4233082901bfdcedf3c94c368dde123625dd1174c94a9a19ef586c517e480535a6260137dd8680b5354c68fd3a774ed7be75333e6d9c4d0868b63276aac63a2105a79b2bf13a16e9290217616d0d01e8849365cbfeecfe52c1ec2707f5aa60d93a2d3b1483de85daf4410825233a70b1b5ad1e9e0e740e4f0d91e1984479c2211df7f121b8b14c91a76ae7232939a3b9e882cdeb78ae4f9b740102c0cdf673b8d17ab83773b801f01f8716bcd093b8ffea98f1ad873361ee427ef0dfae549c0906e11b1313fdf52cfea1e5bf9fe4047421e84fe3fbafa690ffc3cfe52e23cd5a4f2afe24a4e9ff3ebe5897e9926ec4478df707c932e946538720535adffe672b35ffb61d0ef45fda3ebdc933ecc18c63a84c313987ef75270d29b69e13fcd301fc9e7b1016c8ae441c6ff32e8963d05dae45060c3ccfa54996d87754e908750ca921393c8babe60ca5109bcc7dadfb26031d02941fd5f9a53c3e2575bc7752160b8bb2210f8d7113979d76611f3571861895e646a6d008a4ebd94ed5dc0bd289edac771f33eb56067e98c04a483626b41cfc8397432a8a9a1a49745cf479c8d0c875da0a8a0e9a877ff149142b012ec24a48d22779bd96351f25342ffcc84d9493b02e01a6c7f5b08c3d974c58d613e2eefe9d903387786b3ed94ea90ce4f5b8717a532eafb61c84f2be14e2435a5b6f76c590798e397b27c24a48ce52b5ca581c066e1b4dc8c24273634288da9c6c8d6807598f798dc25b1f22192d0217612524425f1b349fcab1a22ba79d510ab9410a4f8235761da7589e725d28e1eefbf871011729ff630a8bd06df67f98c68fb194e9c21262d14d179f59cb8a99c2f93c01e9f03fc3c354107073e03fa63038e8142642f73f3385813ffa597e2a11f99b296cec27ffd2290c2ca644f5e6b5f3ff9bc2fe7f30853141f01bd9cd82097862880ecd32b4cb2be4d19706eb06224a1c08ad79b4b7cc6a0f20caca69909f11642167f6397b93663c4bb18aad854aedf2e7356e3ebc750b9feafe38f43082052b4eadf11acf1dac1e9d275217dfcef17889737c2296251a1ec8f31146077e980cb5d583001f82cec114100c220701ee6d521ad4c1ba01ad24fc17bbb5949f93df18be191f56078571a697023747ce46ea86ce06fc56a0071ea5f57ffd277bea4cce7fb138fcc3cffd9fb67bcbf9edb64add9ee993a7dd970a8f6d31122750687f7f757c220c0de008e0c7de371b05a71c1552d50f09229dd1bb0b5a5c8bc7cdbcc1d9833bd847b63e7af5e1ecc5e0ad7cc207c30112635344aad0a18180d950ad49f11f130fa0bd749d9eb98747356b686dbb3ead2ef93ab11565f2af0b5ae4eb330da42487c687eeb6910524cfd84755a924a3f0fcb6f728198c9d8ed51958d3e7f2c4351e779cbdf5b54cf8dd3682f505c14b0ce7d787689bcacc66d5535bcce4ee613c86b48b0d9d2b5e748a8697d772ce0317617d419abd8f4076154f550e510e5f0ef381208eb13590f2b1f5474e497069dfa2270c001727ffe3d4428c06bd7a762acedf424ca932337c5ee8684f79ae2f3847e119aacf93c7d7e9dcc0cde9ff7419f1f93f4e2dee6d83fe474f2dc090c59dfe01a29541167b9ddc5f899ba107d723ab735cf1d1ee2f9b307064bf25e9df421c78d5584219d849aeb4304417a2de2abf428b40ddfbb2dfab9c2083fea3e833d91f1bb777ed75850c87c343afb0010c386a61d1d80cd3e58dfa29cba2cc65e752e9e929e01b02567454dc2e400cf711c95956cb3a31e6fb6d4f957594eae401fa8ffa7959e7e877d95f818bb0a223322fcf44a60ec70372c6a7cf72bf35cd0dcfa39fa4b4090fbe8a41689a2dc59f12b9135f41c4c9defe4c3e218eb3a25f18107a31c2af184e8fa35462701417190bd27515297a27c28a8ede7f5d2f23682a9472c89c9a86e3edc3693d927fb0ac28f7b65418f180a0769a17b8b8d4560f36039d838d20ece3d4aa75c4bb76d2851c20deb6579d109c6f0b76eb3193865efe70c799b993b9c0cd9573306e3d18fb0f8ce1b7fac78c832bb6fedfb864d545c6a6f0b28c18abfd5fba184ec519eebc1bfef3c1a00942315e52875ae61b9d7f78c92aecf78c554fab5074f80a7e5e7628e70363e6484faad69e640626b263b2fb5bbed62e2d5308b6065b262d7f8dd7290846b33fc444904ebc55c3f00d2e5a72bc8fb580fdc18bafd0e77c79cfe6a3034cd37bbccff93385669b54821530b53efb72cbee1bac7454d783816f6658ff105cc6f26bef91e6264f845cffe62586d938967a5359886efce159990f16d303057011d6ff14d99b1d84c8964bd30977accc03cffc5287cf9c97b3bd6f3059e71e33dcd3b7e9a4c04558ff1331498d5bde09b6c667b286649666a2c5c81436173a054f839d5dda3395498adf8f275942680ea851995ce88d37d24cc22884f1f635e3702aab22dacf53bf863966bcf9d87927c2fa9f8aed2cbe13eb3976f54b9c01e9a37e084ac9371a61e6477e818646cff22446e3177071b7ad1efc08740ea60281bc193ea0b57ad573e9fbcbc353c3c6e72bfc6dfc6bc53da26981529a9f222c7f341701337f9e4dd48d9d7d830f04f776fa06c073e6c7fd17cb51ece0759201bd1c08a8ce04e52a44f47ff8af28fcb1de91b43fc4b4f5ae97df9690289f4c222845c5f17e8ca3b2da44ba5fdc2d7622fd3413e7ad05bd1647a26a0693950e09ababcc8db55e5fe23973c771da8b2226ae401ce8ee8cd2fdd0646526cd4be2241e7f6d2792fa6cf57b8af5384e165f8a4afa0e5c38f00d052bb63a958966ac05f4b8d2e6793b0b7fc6556dc8d2ce984d95f4d028524735f55961037011566c0522ffe5df029aa2bca70f715ff3885a19e6a1a47e7b6af782c53a5bffeaa17a363e7011566cd57f26534c21576295dc33f23c95e28bcfea78c49044ea12475515e6fa4c8efeefc23a2b88b717127be71b656cbc54c38309d5e0ce939944d6a6272a567df1d22ab43c2f9b3bf1b4ad1e0c073abb85e05b6a12132b4f83858a1331aee9d886af5b1d653049df050a6ef61e3b7805df0027cfcf2aeacace4afcd635fef8c8a11af8fe832ff092bff90217ff3d23866d4e3d73f4f668d6a57ff466383dd720bbd8c2e2eb5c41e1ef46477d5f46398b20143e3ff095c9570f178ac502beb71c310d448b7ec98b40a191ad53ffaaf911ee1df451b1ed8bd8c3b92bbc3ecac4e2e59ed22fab2e96816fc98d3431e7517866647430816f0358179753b4054d7f27e190d08ec36941ee64c3dbf2fa61d7be1a0162b82e8c1f1bc3a115c014581757e90c46c2b6cc48868e1aceebe496ee426696e9fa03c3390de56b1f592551de17c0455817d764f2bc48ae423e3fcb8eac329dee1bdbfca99e6864ba1e00e3d0af41d72719358045575817574d7c443772e78ee893eddba494d92e21bb2bde7b44210f48ac0ab5f217934e53d2ef446b485a020259b6d2560a72658bea1fc516031d3ddaab197e039762640e93455705ec3b11d6c595db2c471bb31adf09e5486df502ebc8bd47c47b6352a963bfc7e9557cc2b6d6147011d6c545eda921a8d8582fe9ab848aded23070e0738a72ca2343ce919d6c8226ea3e910a5c842c757171aa45bad9eb9a8e92a6e6f305a9ca7febd37dc4bfda47895840a9d0203fb5c6055c8475714ded07c9ab5017bfe7531da6505850c4d811d057933991e424c3e8360cef9f08022ec2bab8a4b44e6cbf9ece8f9d356b7b6aa6b7b7600d740164c926b3ea9a80be62c8eefa0017615d5cd86c04a76a798c386f1cec232b13095b31f827caf839a66d45523249e8c8c4455def441bc85146ab479fd579ff3b09c1836fabda05e56e38cb3f2b5e3f37185db5ad79e8a47827c2bab8688fbe4f22f87c1313ae91685144c971fb2e896f2dfaca9cb91bf9fa0abb64b113b808eb334a9535b767ed6a4a46a72ba2c2717c5e8a74a6c5b2dbef093a2cb5f4803c1922eb062ec2bab8f46cba17be34b7f6c1c77894708a36b7756429a8f669cf475d24ecb17de89b9c072ec2bab8ce081e4a15c925dc8baeb979c7423ea731914a3d16b9f966ed71a6a8f4f24619067011d6c525cccade88e99ee5d95189491ee84a2f79103b7c505276f24edae39b8df525c777e022ac8b0bacce0ddf10101a10ff0fd8dbf9f192a5ddbb6a781a093ed1abc2d19a77873158bf17e6b610b9a9ea5f1e5345935726f39a0217565f1a5fa10e8890f3558fb63abbf4da2c07df89b02e31f77e5664da8f0e08c35f1fbcae3523660b52ba2dbeba9fac821b9162d446540a0a5c847571e158519f49bf7de3002ecd4a8a0e6e1b6f66e98e7d83ac5288f43cba545cd065f716b808ebe23a21c967c0c1f69139980d98278e4da18794e7e53b0afc76b406578f96834889025c847571c9109008d0abbc6d96c6b2b8ac6fc1016f7dc48e9ea5f0719675390cd7343f770cb808ebe2f25b7db792a842d5f91800e27b8b4d338effe0de3e9f1e99a8624c70e7fc9b902fc0455817d7bc3b062608dbc1d248d2acd6ad5feb68d003fbeacdb463d1ada8b829dd2c30dcefee233b3a8f1b75481c5e414eaf78385dbba03faeca979f5dd74e483be4520e92f65a861f7722ac8b8b299cee5584f199d676da6c55f859df9220710b86bbf8d241f9970edc1e0cb38dc04558171738ddf7ccee0273fed7a02587d4a161371fe62971ed05c277e2156126e9c8f02339e022ac8bab5d9b314bbb12fc5096a6ef9e37e41004f7638892da83386983854633c3d3f837c0455817d7457b230667aae1e47d492fea7cd4f83dbed29b3dc853e24a635b0406488141287011d6c5d5c101962f423c53b6dd50210962d7b05ee826d8055d7efac52620a322ee4bbc085c847571491de9ed1d7c52ddef6cc00081034c021f6339762ad867323f25a2ddc9743cd0fa372b640f61bef918376caafee0b1d2c744d1621b2f636ab2d2a9a4dde6aed3ce2d01f39b7a7722ac8b4b9225cf50dba25e4acb35aa59d8bf387eb4472ef073e62ff9d79b0bb71ce59c35e022ac8bcbbfb824084360e466acbd7312ce24fc4740140ad2ba883d8dc794d077381ab8957bc045581757486b30f987385dac89cde313176341795ea2b5248d26eac2c5dc33d0303d831c7011d6c59514d070b69915275fe083fb36458dfd91f0e6cc62aa4dba6ff6c5f3e2b11ce302e022ac8b2bcb330ae5211ed95b958ae949965c2b156a82a7a270a0733e13cfdd8b6f7d4affc2159e817571c1e1c687167a60b692cfd1d469ff8a23099622b13e37edeaf3647d2ea8268e3b7e273a40acd1a2347c4b7a7f355b604a086f25b3e1203b2f48cd452bfeec2aa68a1861a37127c2bab8e63dba0ff59bd93fed29111de41d27ab572a078caa954ea1928fa36660b6f1460317615d5c0b6f39c2f8b8ab276b3ba64c220a495bf7b6318b5e2df1c918853fc02827fe62c70d5c84757161753197ce444c210cd9ea107e937be76f3c8dc1fa2aafceb2a8d7979c83337501b808ebe2cac322c9e81d7c57dfda27f8c693ef09781a25edcd333802518ea80309ef6c0c65e003ac8beb8249ff317b9050b6ce94968539930d874027b13d53945d79f1b1bb823868e8f963e022ac8bcbf608fb81c9111ddd977bfa49437d68d1b455c8f4624539349fbce82bb6b2884d818bb02eaeac2e7e4de2c8acab6867cc76f2c9f17e3c1b65919d574179f28e81972bf49b23c045581797472c3201fd88aa181b08fe71338bebfda421cdf7ec9e488ca5f23336d17abdd8c0455817570862154b88eaa321418bd277e2572ff3d82af1539e571f2bd01b17b16f7e1992f9fdf4892344a522f7a71e7acbc56b8f871d223bbaf17299fa23b489dc8a371548a5716afd91770bac8b2bd728be5f4df2aae1c0ef4caaebd9b193ea62a8865c79ec8d3d8fc8883214ae277011f6979245a988fa11e52753ee5f554d419aecb66a9e4aeaac04043de59b0a0976d4d2b7c70017617f2999784765559f91d468265060a4abadb3fa340db297241bf3dbff0f77ef1dd5c4d6b7fd27801441417a6f2a08d27b910e520e4a13514840a44893de49426fd20501218014011b4d9a1005a41705a40848912a209d507f0b74ce7d9ef53be73c733ff77ad77a9fd7bf849df930b377f6eccc36cef7ba2e54ad88913d67a83578226003458bc57565b8e6bea3c290e360f6ad1ddef99929f727777a66383bfa0c89426f1378226003d5291fe426f301b1be2a2eb565d33d577e77af5ce7cc0236b9ae9d59de8f39a5173c11b0815a9eac3af2286427126a7c319c909a5857ec5efac273148f3f1a15391a002f3a755e7545771e486e04856e98379acc4307966c2e44e705a72aefc76455c7ba04eaf2f42cad2610011ba8e385cb3a1ce2ab9de835b19f7b1d315ffbaa6bca9e2b9485e7f2752006c9cf7e014f046ca03a848daa707446323c333172148cc90fce09470f96f410ed4b9e5e8eb9743e090e9e08d8406168c9a80952683e54be4ff1e74f2aaa112fd6f9fea074fa7bfb0af3453eb224070c78226003150bfd625999c4e0f9682e38677c1d65f4cde2afac7e502cdfad799783801b6fee82270236507abe4777ce1407a6e3b97c7df44048b3f02a79b20a8bda9b16fe346abc7794a2fde089800d368f67fd93ad377b5a559d9ab3485b4573cf87574ed2282710fad45eecd98105149cee05bba1c554c6cfa445d7920f8b1e143c6b6c77cc8899196fea2d1230bd393a2292f433e48408d84065b619ea2babf691f4064fcf9a64ca1cb0785fa64a1e97a5436865c5847d917b049e08d840a52ca3bd7f76e95444342809114b372c37acf3c6867d6623a6a1d4e3bd9319720c9e08d840794def6c3bb00519364fae37942197ab1696823f132d57c322c5db9a595e0550e4832702365086b187b807048251b5f8012f167b792d03a6dac22a9a0e5c1f8e7ece60f1b577054f046ca01a7357d612739b3d94969425e2cbb7b45e210a07cf4664563427bdbe5c6e497e1703e78eae7676a28b253260b613f29708f7a05f347ca4bd33d72553d0b8c291340cff6af9fe8408d8405531067ed79ebc6c749eedcd9dd70258f52f1f92179500f959aa5ac7faa00b287af044c0062af5832f16119918b5802cb7b591a8c3fd00415c8597b85f87d73476e8d9e7f46f9c23600355fc01aef6c0bcc9ec5a86a915bfed3581643f822fe6939c4d57fbe4db6fe87a798027fe6103959f4d623eb72d16b6f82c6b34ceeda905a7792a2edf97a3fb250e9aefd3e71992c013011b2810a9c3c37252591596fab583ba3da189ad7b558d9cb7b65c349a1d1d5747bcb32013011ba8686bc5a9cad2598955c7429f8e4e9adcef831af14f0882a95a7c953c2c3b7302e089800d547b1f81c2b7cda715926432d12dad842903541934b0951ee339a1e5b1af0f43ece74f881ee8f20f57787ca51263ec436215afda31166d383dacfa28512c9842c5257b215f5cf08408d84051f8e92b8ea3ae045a237bf71f378c58030be30d286a58ccd6c492a081deddf2e089800d1477fa08c3bbc7da11a7ba928a036ff5bf7a49a070f800b138cb1c3d2b34961fc70d9e08d840e9de00ad291026c88b103953c2f5d67d704083fa9cfb9d2bf7d716526e73fcc46e042d270236502acad55cade2e72c583c6f05587f5a2a96ebf05b164e55b9176bb9394f38ff6ef884e8896e511c9214a7d2a8eb22cb1753b46829aada2f369de45d2a778b547d77375542e48408d840254596b9ea08a2dadf2d8c2ce6f049ed4c3c297d5afda6af2e49dcacc272474c61043c310a530d8d8260a161686dfd8248a7099da72c3c0a3eae2bcfd00957a5b705340b68f1f4c297a88ef307c13363b0502c6aa8280e162af85f65097863917f5355d2e484b463fd0fbfbd42fc3b5527b408eceb4c2c3857865314f20ad50dbabdbe5e10ffcfaa8538c93008f441ac3b66273088ce6890e28d7fc5048126eef92749ebdfc7f75af4b54b1def24c7a015501ebf113b8ed4b4f8f5a7db3b0f36b666675ad698bcc88cab44bfaf33a89cfe353377462a1edcf38aeb5524f7504feb828d6672bd094ab8b3fb4e835861c5c93e3b11f8b100725cc5f657b8948dc69e606f4fe8217e04b10e6cf05a54b623c32e23b1617ccaf332ef80270239ae3f391e7ed6c97aa2cb684ac946415d64227a8d15f74012e978b740092f9cdef9e084e8853e582dfcf64e7b9ddfc25b7e9dd6b31db5755ecc62734c710d35a29d316c64a57542042c9d3aaae3a7f6e3ad16703606eac6d330dd0e8b7e5d72f315f469a9441a186ab97f8308583a315e76612fd23a23aa1b20be6c5e7560dd14e236202646e449ce9b1159857fa3e31c782290e32e1a330fcf3453ab09167f943f3c659af956986789d95a478a5feb4ac25aa26431782290e36abd6067e55916a6c9965dffda291ab71edf6f6043a026d38958df21b24dce52143c11700ea8c76838607cb8a1ca2646973f142bc7b11f6336f285149be6e5dbdf4d60ca9e4c81270239ae235d3c83976ee4d454d7bb0dce84cff8066db69cd534f94e7884149965cb7a79ba1278a3c30d6a5ab066f0b2fab29f0f34269528b5d566a78ad60e697cdb3719b448eed09d10811cd72b6435fbf15ea32aced5299cb6b8ec291fed68380211d329337ab39ee2ed5417c113b331d5b88d3b102c6e039a8b0349fcb64bc8ab1d57ae3b715ac6f5a97f9810d5f773eaddcf3ef74bbc659f8267e662719dab711d70b0b8b6a8063ce81f37309ca72f11a1bc36e132ac906adcb330044cfea6ab3ba45066fdd59352f73baa95656c856cfe611d213008020e859c451a205dff4a958243471d17f4972dd438347186ba56bffe13840819151c926d0c93d70b246cf446ffd3cd0779138607854352e3e05067231998bc1e221e37eed014064118c49d9c491cde5fffb9bffe2d9cf0e0f729c4211970e260f27a30c80933081719121ebe96a8ababab4b85a08243cf19cbc020081a1918e4d054170e8d3332854150a89b305614344e37215e57d7c83450ddd1d524fdfe7d5b4b5b2b4737d67b56cef64ede0e27ffbd6f65f5bbc81305bda97b72021c7a1bc6100487521899c6ebc2a1562838f49291e92f587cdce94b7efd804422c22041d09b706804120ed53232fddd0e873e40c0a1593088240cb271743a3c0e082a3884cc1806411c9aeac2f0c4c8e010316318441436c188b0bc1ea7264f3009874818232c0b37d8f528e1101363d3d397c2214a7088db694fc2215af17119c8ec1fddba610a87c0e190f4dfad0fe2e34e4ff98fd6ffb6d39146a6bfbb1713724d7ff92214f51fd70c8774a2e090bc7f5d2564140987341b99a26eeafea917e0909d934e098643068d4c7ff53d0c82fca367c8907028f4ff770cf4eaaf6321a004bf8f39cab967eb7cdff5163b396b6f94d39ecb84665cd7be4b99e2584e0cdf21c3c5825d739e609dd4aec87873c97bae4ef6964a10420a8830068ade31376edefcb25aed4ab6654cbd4ea58409f22aaa3de672caf952bdc3ef52f604683b94e964f61fdda6ea840b14b61f70530f9d9a91a209f932ce5f2f28de77d1e51cfffd94efa29795c18ebbc4cef5858f209bf9f3ea805e7bf417e59de7ce229703bcbe31839fc38028b4a2d2f29b5a29c4a9945dc34f999bcac4a2e46dd75df93b1a8fef284b92105754822702a2502592de56efc96f74c785d67d580eb6cdb827cbd7e0adcb443be2295cf5ee7045f044203bd95f3fe5e20d92b3f65142bd0125fea606137259ee6dc40202e3dc55d760a9e7874ef3c67dd01f6d36cab8480a12df1284a6d7bf9470937b68bcbc4be5184f105a4433c61a33714204b293612307dc16218f64896647452ee0ba2d2a786927e227cbd1b172d89badf3feaa36061004848ff976a5f5ad6cc29456c14b16f4b4955be6f33537ad5f6f31c93e3d082fae7f78d30f3c11103efa28081d0d4be0952ce845f32159e488dc7e6ef947f607f3b5a52ce13f39e08d024f04848f6c8ae5c565b47ed138461a543e5f7205b8358d4804b1dadffc9bd3b05e82a347e0894076b24d1b33b1c537a7fbf91f4d522dba6e6fdedb532d1718da73c8173ea41b52a021044f04b293d744c31f64b8f82336faa4062190c44399f326af7e4459a3f1ae5bdcd27546cc9dee1bf8a2fd85308b1fcb9acdba7122c41189dccf734c55e39c9af582b48a4579595c3bd84f88267632e5ab767505cf57b28aaaf8399f0a64225be38b3f66ba4e338637df91e134738b014f04b2938f790b95a4d83b02e261bebd961d9116224bf2228589718d271617b584232e71198127026a3c464d19b389d8fd477e049a7e8a573ba92cec3ea8028d580b79fdca9e71cdc6578227026abc462319610b078279159412291e0cc4188aeef1f5a98832f1716bd1ca87e5f6802702d9c901311df14e4b6103dd13c63726eb7e5c69417e428eaade833c5911b0b3852751802702d9c9877775b310ad7e687c8aa441bbee3c528b09dfc677b944cd3f6c55fbc3ddd740611b3c11212dd529a70e91fadaafcb0c1ad9087afe38bca62d95ae1f3a62ed2d9312f8ce1f47053c11902d6505b7db4a3c7c77e390c88895834e0177b5f6f60f99a8c9190bf17559dd1dfc4be089806c4900bf5efdfd359114f1ef1489fb2a8c1702982b3cc65e9832db48a1a7425865d74fbfddf0439bbf12a2a1d9db662ec6f77a75f00434fdc02825fef2864f1764328b5f692e1772426cc35443432158280a2df5520ed5217a7a52c46aff4568c27aa17b95cab2510ad570cafb5ccbf840010af0cc092c54b81a2a8085f222677f951ee353e1fcdff2582af8483ccaf1bd092ed5cc143cf559bef520c2977e07ffe963e969211e7a9244e7a7369f1a7d7d747e9aa80bfbf83d71cc2e2977e7e357aa57385a288ad00c24889dd49c810a99f863365b1e9a802cfe902ae21652fdbe38aba3cfd4ca9cbf5d77ab77988272bdf78b1b7515c02235e43c2c3fdf9a09562826f2b6e835e5ccdc073f0c40e4740b22fed31127aae5fd26121ac6e527dcb2f54cf892e419a5e02a63567d920977b713a23f7a1e2febe861efb4558206c7addb4c68f5bc795ea5cc2b0a3885a1695d6d150b5f288840e4f4be9702df956fc56f02f7914bd724b6bb98c8a1738cea46fecfbdc7144a0f1d58c01381c8e9eee7252de789bed677bc45be606dc9e5b19b308e1ebe1063e78717f86aae39d3c0063c1190906084cc12c9f9a43f1ae5a43419abe8cd1933f677d1fe5837dbc50bc86171fc86039e08484846b35738fdb4daac347e521134f40aeb7197dbf437dc61baa5abf7acf9b26f901178221039cd97374d95b8112266d2d96970ff90636bd622ede998544aababfc23b1e82d4759f0442072fa272d97daf7eafb82514a89af495690d90e5cce5c494699e35a45c9d2d69761c42c5f9a07a0cdd9b6ae927cc68a4961f739f2adaf7a284aee900ab7b252d8a75f1e58f9ccb5704204941811328da2698da4b33acd9570fd918f6addc9db78c5d408b9b9db0dacf0984f1ae0898012a3b3b5ee7591ba168f61bd12c50fc3be77a50d9f29f7e21e7f205b3abb019b93b20e054f049418627ad998ad355db74509fb307cbfc64d0d059ae2a749d7034a24c5c4bbae57de044f0422a773c6cda93ef50efedc5aa5cfa57bf63a70b68f9d144b4e29a4a1f8ed06d46f051f3c11889c26076bd92c1588b67c297f39cbddf319af2a3bad8aeb8aa620ff598b1815e3686e35f0444072205057a4b85916aa83081e0b95b42cf11d72cab0d59fd46c2bc5740d87864f9dc6c805a295548278a42a4c599f1b49f4ad89d3b30d5574137af0d90aa9de79d185eac9cf3e21029203cf8c7e3f43fca9c8442b943487f3065b12bd0b4a244a3fbebfe5d616e68b413978222039986df3ddae0bbe91b43d852bd66b1e35142735ceda2daa0a237a955af6d6783c5a093c11901cec8a99b1d819d15931e59197fd18efe44f6d34505f1b76ee8ed864c7cf100b34123c11889cc64ff020d0e4fb8ac37696bbf69eeadcd3eb85b4e3d0150a4dc40da90081b5e56df04405723ac69dbca98353cc4872994893585b88663e3f8b361353b8cec14e17c2583c705f023c11a8cc173a4e517f707352379a564ba9a5a8d98bf99d930976eadd33ba6a61e3a4aae069d125025d258d8e254dd6a1f52abfc7df9cc7f568aeca250455bf238c3e209934be15327542042af36b184b6b1bf3fc993e133c2ce8e49b1704462bb7156732bd8c1052bbbee04f980c9e0854e69f71aec4bcb322f4d4e62821538b5de5b3479d7fff4acf4e1f57f690457b97e7ac35782210395da2eb2b1eb6dd0f373f368d73294d1f6f0c5cadd3a85de0637aeb26e5d865c9089e0844389fcb26bcfe58d49cc35533e4304425cb202fc28edfca5b609e534c2fc6e6aa3410782250e67e3dfc2c274eb1633fb747f54f5bbc8457219e92371074af3507244834b2d266e4bac113813277baa24f3bb4627ce8dbbbfabb07136cde72b5a121cda4f955baced27cbe0b94b1e08940993bc35d06663e960fe9f739280d77ae100cf75d2f2e49987f564b8abfeeec57a640089ae80994b947c609095bcc24230753421762ee88bf2712720ba01b580815ea40165c50e70b3f2122d13d0f833932d5986ea3e0f35c52f7ebbcb17d01416cf13777e31902a43f6634b7b59c10810ef70855c6a95064ba92df93446dd20e333ddc60db12af363f1f93751303264e2955f044a0cc9d6cb1d043a865e14db6c56d02e36d731c391fc2a99c8c67467621ea32bbcc3e4ae08940993ba3e5b47b59e3ac497a12a72a922b0eef43bdded52bbdd8e3515925ff958badb38fc0138132f7e148f3ee3e6bf91cb3b70d690c9216f1718d8e6f5f6cf344763fd5a053a53e3a5d1550e815f563bf86d71fcdbd920ca4a6ae7885d66d85d0b794a92e5ff37574c9d419a73c210265ee19c324c84e27fb8b09fe88785e325df788ebf80dbb92774b03ecf1929ece197d074f04cadc0ef143343f0db7ee447142ebd6a205f670ebe4fd849ff16dfd301011acbc9378210a3c9114530d5d8260a173e8eb144986ad4cf1742b7b3eb699e685a1182fce04712e7554ceba742a496de11278e6052c34b51a9a8c8385c6a31af0eefe2bc13faef2af1f39aaa1973ca956dcffc7c606bffea1ffb919d7f0df79a620a05d3a37f0c96a37e5eb7dcc64d1f39922bc4faee4ffb031c27f399e7b83eaa063783429e081b306559a06825c45e81b068a268f1a7892f6b116cb3aa6675d33de5afa0f986daf74b28200b21c5f78516569122d966d64001d7e32cc812ddb7888925f0c231f532c14eb6889eaa7d97ce5e8c0f43bda78b2e3017b65584d40a996dba1361e293e6d1a5759bb3e9a5fee1d614aee746226f8b10624083d2eb799600bdb1c056dac1ea3421d419fa57a16b3f56c9e581cef7724d4c79680270212049c2f0245438653970fda0dc9ec6764d2056cd90a485c0bb21d7244bd2a76c34f8b2e2bd0c1c78761eac69776a72eded69c2f125a267079fe923a12df750187b5bcca04a48ffc84084810380e17d506c91f0d7c2f756e323eb3b1f7f856c0dac6c5f5259fcd7a087f8b829be08974986a683e040bcd4147952b0d7c19b914747522ef0b6df15901a66bae5ea676aa8e57e76d27276ecccd81673260a1fad5505d2c5402c5361844ee11776a2abdf335b780f3bc399b302c32c105662243fa70911c5132f5bdceea42f89fdf2ed7c7f2f3f24c86e018c7b6e7e665c95b8d5f09fe8bb03e2f5496f87ffe41983c161d6b764665f3a1b24885f457b3d4ed4b6effacfef534f8a776e2a50f7fff3e875bed95c6af0d81b2d239aa0f752fc430376ab77eb22089a59c9036bea8337f55f3d177e91ab322d74f2368c289cad1cf34a251877210d7c4196ff962a9146ff38ff264656f155e9f5cbd3ad3f4fb117efbfced08cd03d1e5291983b3c28d4510d7e402c697446382b03c56fbf64bfae087890953350ad99d428bbcac67318c1874e38dacbed4cf90eb1cd7ccb01513a79bf428a6e420305b550a7822cb6e525502ce6e2caa01cfec8f7b2521a74652a7fc07d1748b2d6ebb19288d432e5d24c927e72602c433f1c7045bffdd9d0e0345339237bf5f1417370abab43491fdf1f6f0c3c7b1efe7cfe63364ea8e98c6df0d91423be77d30b0aa4873990adb1ca1435d2c72f959d87758d1f98e8e6c7fc0f68a65e4efd53266a23a67f2f662d8560c8666c5357d9943fb47c5b56e632c89dd8236d7db0f31e02f13909bd4bd8a69f5e74d8acded6ea21e9b53f2bdee6bb355d84ce8383519566c44faf9699260303a06d5c5f559f263b97209438a15f6f9159fb062626a0e99cec329117fe76bc6142744406eb2869ffcd8c67e3fe4564fa1be0d4a38353388e2d2fb154a665ccb089ce7f7323dc01301b9896545ee95c6cf6f088efb6b1f75f8223d9b250cf6e6435a2f6c3c7de250fb134a5a0e9e08c84d281ae0cc243b72d86b793eaa8785a81b912ee724f3c5376449b974bd691f5f1c054f04e4262029f264edb230c63d8681e14c43dcc077c417f00fa16faa12f73b522c61222c3f8980dc44b634732cf05ba98c5c5003a782a916c774fcec9326af56c2f21a41125b99af7b1fc11301b9c975e6f4b417d1d6b50a98f70c3d17a757348473954601f1746d96db8898af35bd3b2186a0cf17b770850b30e371f1f77310db3731df3b39a228a157df0c63fbd6305ee9883821f263aa2620bb63e8c6e0b528eb19bc35f56e45a8a72ddde49761e99642c602170a8e02fb82be66be044f14dc8dad8a11d98d22f9b51d7aeec9ff7cbe41334e6f5599fd7038778faa8d8aef0bef8b660803bd2fbebd251e0aedb6b995fc8cc651490dad4c116d47749f5999cbae41511dc04b78f93cb1cdc1ba1f856480456cc5fdd683dfbb12624d1c4bd13326af5a0b0da8a5dbe7fb2f36907fb2de9ea2dae5fa34fc965a00fc1502f297f54b117732b41b5d82b353202e7abdb7439ab5837a3d7dbd62da499db87f5a91e08227023c1759ab3ad92bfec7a2f4a1fa1f2fcfb9f0991c737036e8e1127f7ebd12755112ea2978a2f81f2b6955ebb959765c0a813b3a7ed29639faed1a53b66f9c7d9a07e7b8a609aed4986583674afe69251dfa5fb092fea3aafcccd6e4df37be7e710ae9fc6178272887032d9179e6e2fbd7ef7e6554162922eceef3cbce580d2dfd3a4dd94386d0162359465f88aed1c15ba614c9e24a7840224ff876f43ad1c54a3d3b754dae17e77afb3df37e0dbda6e3999d08f50012f1daa105355ee248ddda05c70a4fb7860b71c13e82035f4b4f8629145d95bc239bd63019d77263ba9e6c0194facb65af95f59a2253c495892c17176f74ffc93001aa22b36be587fedc9e14daed823b3d7b1b9a8a85ad3ca4d71f49cdc08498eb88f921e08932986aa82a200b5542578dbbd088cd5688a42f913492755ccbcb25a0a494f4b415429cb95920c4fa2c0e3c536e77ab6a0367f727aa01cffc8fd599aca530e9af3ea123aa82112d9e689ef99b61b874b5c4422af8498ce5bf635f51992d97bf2eeb86b36af119d9cda97813a22c32fecfef27cf760c029d0e8fdeb525e2cfa47f2d15d29bb53491b3945ba9149266e6c63104f749db61419bb3b8617e44e0a85be1c99e59fa29c64efa2c5a529063433c016d2f2cde714f1198968f06edea710cb437eee2ab0c72e7de2373e6d5aa293b232d79be990d13cbebd43907be2715fe342d87ff171ecbba7f6aa7190cfe7b1b880fdec2abb88169a0a6e5c51f3d7b0d7c37160358222fb0f45b3b65f9dd38347b72d63e96ecceb138972b295afe50d363442b1faa2b3c5ed799b3593f6e825c54c86d9bd11a7a7c90e2fcf8f724d248baf8d4c40d171f275323181ac54332cef24464f90321cc4f8659df7c7861d303fc300122b520b3353d3934051f552ab8e7180627e3b67774528fd720c8ca2d6645c7403f05194440a496fae8c1f320b8c1ee32cbbee4f6f34df2bc323b43e2f34988a4e01c2f1c2aa6d324f73034716245d7037b3b62c61b04b5b366639605b326cc84a2b41ba93d1488b7b94a7844274440a4a667cce84a2ff02317f1f01374b4c33b8da729d5765b2d4dc1ff9cbc6563209e3978a23aa66a16b23b8d0ed27eebf58a096a27864740ef5c273d75bec41eed4d294ce5dfbb735f05176d059e786337b92a1115370ed580874cfb9781d872e8fffc73860d068a5693d346514e20646c3224c62f4db49973cd7d90eb3a373b873c368304a95bae07a28d5992991fe88e3e5b8227a7f62f37dc6d79fcdc51956f4ffa30cf70f15d04f477b1ad873287c818db5002fc4ad9b36f8137a7f29cada2aed9cd65967704c736b7ccba80bf4e2d4c353409828586a03b2fa38a8d56b520b3b8faf05422f1fa27d8a58756e842bd9b2882289a94ef2f1bc03375b050b16aa8300e16ca8f6ac013fd572d353bf4ffe95a6a095ae47d5e4c3fcd201f945e8f6949d63cf4ee2b5bff1889e93da999695ca5ba1b6759e92ee4d72b9e0d18c638b094d6ad866d717014ad11386ba55b7adf3a9f3c5ef85bf883bff920b9edb196d60d93baa5a30fb358976c047f1d61f00fb1a62041079ca86cf02301880e61a91eb3fe97bfa49d45f757bcd56de93cb36e796e3dd6ed94aea216ae5cf70199136238dabc93e563354f9ac955fb915dcb0c420615700fb4d8cba577fbfe87e247be1ea7fbacfa7f7ce2d3c719d0c4b63d80188b2b7770bf89769b550f5e9cdbbc37d94279bd7029ec3b3578a6e19f969691ff05084b4bef3fb55f98ccfdfba5e5c2b2d3b7f41f7aa0f64e94dbe29ced18e7970b2324e5114524877167933222b431781b4c430d8e9ac98468d1c82e4cd4fbcfee1ce6127937d705951b68722f38de239c1c59694de36fa2def86d1aec1595d1b505edd118299dabc85ea91f4422275c9f497671dcdf6a78d886f33df86132c6542f43092058282e7a74adcdccece66600cfd60d16a354ebef12aebaa5e7583cf83cd91f395085f82880679aec565495e1ecbe4635e0c1feb57b2291f01fb83cbd37e77692700c14dd02b9151f73243cbdb2e71233a840727f70af03a145de9c7b3f36ba6869f1d157b4dff16d2da804f240da4da3f51d1925bf952569befb98441b6221cf91f2955e5be35f7dbb6973f40862ac561a6348a8e8d4d74f06ad4a3f1bdd3e59faf2e5936b455775f7c0f703a0417d312b48de4b14c1d7dbca691fbb17ac7ced98f635c264dcc445155613ccf5c1163c11d0a06a88b80544974c7fd02e3a47e5cca0bb4b897d2b1a1821683f842c88d58cea3a0d9d8f4097af05d66a1571c3d8e4847ae0442d76af6536bddbac8835f4c7a1b26e8a33cbb52744734c363c6477068d26b6cf67a75415eab522de39b8cd67767b8046854c9badbcf84c1308c317fee7e089f0dd94aa649cdd84934536220857e95b10aef24f9485735236abbc7ae521aa2f07eb03db94e2399befea273ac2f09aa6650bade8d1fa0f52001b0de806161ad3948345e9ea8228a4ceacc6651628179f913cbcb094fa168310e72ae8381d42116a5d641de158644984c812f263f799b2d8145668fd9687c5055a75d78793fedb55b93ec8344bb6b400a6d9788c55385b24e1b16bf214611921f3afbee34f0fe825f7d6ccd36afc19d0d4fbb0d2b0cf19e3794cd796847aed0b692592781ffc9502da58d8b0033f4e31fab606fb0bcf197a7601c5873ffb9513397705db1b1293c5b449c013016deca07abbe6ebd5679d65aafbb0fccbe32823d0a0c6107573d5c237d65e2dcd49bce0898036d66e6c2076fbd627cde3d4572ffe0ad9d5656cab63b1a1b683fb237697da2b0655c013016d6c9397bf67873d056dc14adf8c8d8163a6f471c6e17425db0496d6ab712115557c5a7d1c8976b81149c8f27294d64baa5796496da109a3b4f8eaa30c9546c25c074f7ce77cd70932d0c6ae4ed8bd60535af7096b9b534df0cb8deec7c9cf26542a193d2ff524ac11a2ac1f3c11d0c63ae8d8d5e7ce3959bfe8f8245e7134959850b64c6532e8f916792a39f9fbe06650207822a08ddde23b9b68afe4bdff9cb8e4a57aae9c80c70369033da29eb74409e7a9efc8fc0e7822a08d7dfd4697d69d59b53305bf5b0415b462443618c69bfe850679e5f2b8211de1b965f044401bfbd510c179aca87c1cad232a59903cc3f1de922021eae0aba3d028d9c2876eed16f044401b3b535a3e29637e74d7b9eb876fbce51ee162a2a9cd52f230e9cc31ec16fdd012fea98a0a0a9d3461e3d052765c2da3a3a652fe3ec64a390ba9ce23f33ee6edb51b839f0045a44e889e98ff2f0000ffffdbdcf2d70100000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
简体中文English繁體中文DeutschEspañolFrançaisPortuguésPусскийTiếng ViệtTürkçe한국어日本語

OKLink ist ein Multi-Chain-Blockchain-Explorer und eine Web3-Datenplattform. Blockchain-Explorer für Ethereum.

Explorer
LitecoinBitcoinBitcoin CashTether USDEthereumEthereumPoWEthereumFairEthereum ClassicTRONDASHOKT ChainBNB ChainPolygonSolanaAvalanche-COptimismFantomAptosArbitrum OnezkSync EraStarkNetBeacon ChainX Layer TestnetSuiDogecoinGnosisCosmos HubKaia NetworkRoninLineaKavaPolygon zkEVMScrollBaseopBNB MainnetGoerli TestnetSepolia TestnetAmoy TestnetPolygon zkEVM TestnetMumbai TestnetCantoManta PacificX LayerFractal Bitcoin
Mehr über OKLink
Über unsNutzungsbedingungenAPI-BenutzervereinbarungDatenschutzrichtlinie
Kontaktieren Sie uns
Partner-Links
OKX-Website:OKX.com
OKX Web3:web3.okx.com
OKX Wallet:OKX-WalletBTC-WalletETH-WalletSOL-Wallet
OKX-Preis:Bitcoin kursEthereum kursCardano-PreisSolana kursXRP kurs
OKX-Rechner:BTC in USDETH in USDUSDT in USDSOL in USDXRP in USD
OKX-Handel:BTC USDCETH USDCBTC USDTETH USDTPOL USDTLTC USDTSOL USDTXRP USDT