Logo OKLink
Se connecter
Ethereum logo

Explorateur Ethereum

Détails du Blob

Hachage versionné du Blob :
0x013eb4ca0ecda28353812a4c91f98edb369dec944f27150824483b889b2b47cf

Vue d’ensemble

  • Mise en gage :
    0xb653bf9b2eaa183c8d57bdd4301af7358856bb2b893d0038e206a426e02ac766edb045ec111b6c2e65ee72c0581bef3f
  • Preuve :
    0xac4e6d7cc34c48433f732bc353397a06f550b700af157e8ffb669afb1eabb04cfc43d17f5f100adabd8d8205204fb6e3
  • Taille :
    128
    KiB
  • Hachage de la transaction :
    0x4bba6fda1ee222d29ce9abd7199202b3b5562ba62716a28ab95fd8a137aee0fb
  • Bloc :
    22889337
  • Stockage :
  • Données :
    0x35000065c1007d01788f1640ab46726aafe6c5e070e00000000065a978da94dc3c3f9eeffff871f1d2354c4f0cd3d34c9b8e314ccd4c4d77777777c7b830dd3d33e9eeae61ba4dd7f0bd5d7b3bbf3f9f9f7fe07e3bb9b88ee3789e8ff3fcae08182d0fd9d42eb17f2bee485cb0f831bd74f2be59521a872c144e9f27c80feba519eca64f6500ac167f3ea4d54a789f2b639a79d7a5de788b63ac49941abe93f21643b116ef6fdf0f7c4b880126d696b36dff135de31633dfa81d8ef67deaa5b80992f429456d4670d7399cddb3931d62502173042fce3f89ba6b1e435c56cdce3acbb202673a0d3a1a353b688481a5970acbd2616f647296c18b8b4f628c6bbb3fd3aaf16e51ef97b4b7867f05d2d94f2ba9b03b5ecd380873f093a2a7878017103d897afd51c8ac8982f1e68b931adb42df3d72905e9f1aad66497b9aa065d139a9a28217579ec4c4cf9498da24a87d951cdc5c2b2defe0376615a64ead273715dcbebdff6b9b5a065efcfd24fe143c950b363b5aef1976df4c5ae80f13624d1382b123ffd4b6cd5a4c6a6bc0a102150b209570e60ff99cf4a1f89af0656b081f916a273a948d0448a5ffdd8be29438493642c5f527318f28c2fed3828216750e7d37e442ff51cacd02658d63a8b0e6d845fb2b372b06787113f8a9051ee24216b1582694139c531cff9e108c94f763ea9590622b51714cbb489e8117b79fc40736144a4f2efffdfce34289ebcab3c6196c5654f5a69ccbfde753513c7366ec32e0c5dd27d1c8079d2ba479a72f45a285a63a3c15267e9890287674c63bd1181d9a0e4397085edc7f12f1e52ab664b51109e0981dbcbf2a24bec815f6ae3eae0d738721eee9c3de1e2d012f1e3e890b63ea76ba6ab37f8fc5dbbbf666ddf3aa300b7d6e4732fa21c62cc29fdf9d4fc642c5428887bd7534ca8e5d50c0e0bde039a6b8355a79d0dd832c136d55249c229cc34e06543c7e120f4a1f62619d1e171f58d990fed6ca5fc1a12a36a49cd92e6dec329454fb1c9783174f9e44f90a592d9edb2c614656afffac0404139462f3eec36d57be5fcc2a62112869958217cf0c9e442b73059f8e649bdecc0035e332ca886877657ac3374539d3d542fb0ae5114595e0c58b27316a76e2d333452c9cdf479f59b015c9de5a0ce7ea1a3dabbd09ff150f2fdbbcf011bc78f5248e8d0e1f4db9e1bf9cdda8e0d82686c410461c04b0935ed115f20c96d2e28c3d82176f9e4421dbc54fb6bc7119df66d06a0d54369cc294ba296f4b0c973429f9df4bbdb379330a158b20273f5d9baaad2d71463afcbd5be3a2795f701c64f14d3838ef469fb1cd6c30d041c5bb2791890fa179115a50868c073b7ff8cff4667b232d72cbcfa1db3bbbf9229b5704fde0c5fb270b3123b63a4c9cc9d46b575008deccc942c96d886bf44d4de6504ae8fe8beb513a7bf0e2e393d840fedfad2a3fb7b864dcada3d68830dbac7dc52d31cb5d99e92fcdf399c59156d0a215ec93b8cd1e7e49b33f9586d9b5b68bf1b8ff2be9531a05bd024c432a8f1c1efd24b11e7811fe493c916d3309cf79bb81e9e4c9fed689157e81a1923357e0a48b8025d7c342dec616bc88f0249227c320ea491e8a14fa182f08529e58d4ef3dc4c49c877e0bd7eec1609d7be7140c158b214a849f22b63e18d20bf734339912e84c061074e4a5e03b476f5b0d9a7ec97c2d828a484fa238ddbcbbcd2163b5f5b1e7c1596bdfc5b0e87ac43adda6467bb75266113682341c11e54974b8952954f4aa96b6295a9d16b5e413ae4ffcb24f5c2a15208f438a2ff9dd24c611bc88f624a6d294fd69a269e6bb9920994f69fb86f9c888371e332218fea1a2d910d6663009bc88f1245e78c4bfb616d075440ee42fc5972a123e233d74ee7616b1ed23425b5c89ef62052f623d897f771d5707e049af8d4785730e9e13b8757f4b983db4fb1e8db35826b287dca9095ec47e127783de3f43949f3e6b59ea88dce0e65ccd6f2dc9966afa526ed2fd32da485dc6bd182a96403e5015d20e777286cd7c81622ff7dff3c520594b97d5f7bf8d22a97ee06c63c6ac423cdc27d17226a724e20bd3f41741bc26e91b51bdcd90f50f0e3d5f0529efa5861406966dc18b784fe2cbf8f380930f7466e5e6e63c129dd71d1f74996ca70f930b0cdfcf977c5391a02f052f123c895f3ae13f19dacebb121e2bc15a4c35708b2923d53069908fa2b5a908dc25f3f78117899e4466bfb89d9bb9a9d38271824f01792df97be818a7cc5e2287eafc88c6e6d57aa1e04592273154772f651ebb232ae48584439467f88e6b55f8606f0a82433423228b2e3da61a7891f449bc45db05b690386f694b72a8fefa96d3673ee939c59f862632d6ff7e667a60c6248f403f5288c5fcd7c43d546a23320a8f349c148a42792e575d373a048adfb9d35db318ad64a022f993c8c77029cb90a5becf9642a3e9946ee585d04cbdb2427c3dfa3cbb2061dfb54d0b5e7cf9246a589b881e5ccf128d273e47da2f0d9081e0871c091d8b37a032aafded2c4ba724052f523d897dcdad7651d24a1db4a9693ae78d0414af57daa5e2fede5a50fd3650601c7994052fbe02d6c2df940e4c9777fc473c45faab68da987e6f7f8d6ac36d51b7a4de3de6273a598017699fc4e72d3cea3313c48a5537c47c1453852c792a2bb8e8a631aec71a5c69eeaf64e7c18bf44f1f628fc8c4f554aed0dd4e9ddd16cb128c2cffdbfe1ddaca39aca696a9e7c1253078a06219c451152f7491b948602ece6857bfada94dcaa4126f872d21b30e760d71611e3d082a323e899345b647efda8bc85e044b0cf68f7addda5fe04a7a7d31517abbbd2dcd996eeb075e7cfd242e1f610595a445e8dc059234261ed7ae4e2459660f3695fb5495d07814a6e0dacc831759807dcf71d847bec693f2fb29cb33feb279b4dfde3d7651e7ed793a0a17888ae599b2e045b627915ba47a0257f50c5afb27ce6bb1bdcadcc503f98548382192ddad163ada65ff3af02207b0ce7c3dc0c765a7fadeb0ff5e3730c5ae3fe8141efe25be6237f6f2d52c32af1423780091eb499cb32b9b93db187191994070ac6df4ba7aa04328f75c8a9f9ca7d3483a884dd9808ae510033d4ed8b4eff052985cfc3b0351b1d6a98ecec64c19c9062e36e99bc2af064ea0e29b2711efecdb02ff15920373f2b4459680ebc88f090e15a29116b54f5a56e6a7dc97c2e0455ee0bb474b2945a4c90fb636a75f344c4e193648cee891fda0894b7bcb6a9cb63e60e716bcc80f5ce31047d74f235f39bd390ed89168c4401d127e14c2c9ec1754b44db42cd57783e045c127f153a54bf02267fdcf9f467239863447b6546f77ba76ac90904a8313946554ac78c08bc24f36318cd3cb7b399b0292385f268e68bdd7c7e3a9a8c16cbbdb598fda3c09e343367ce045912791f1d31fe5dc58f2b0c3339b709977077d49e448e1cd3f178e9d2435f00a2359fe9d342b20a465f72a7c754b8572da3d34d259f9dec54e1edc5e1984cb63a606e769dead445051ec4964c784fdf3dc73b965b62b6cdd0fd623732270e3ed0cb2989ee2dc9af6547a61217851e2493c3bc3374639acca122525c73b78a140e668834d81a83883c6b4a8a1f10149fc53067851ea4924637bff25cb0a12b30cddaa599896734301fe787c79800d39a55ee9bd4b6f14017851e649ec30f871e54363c3bba128b4dacd8635de9c566199e9cab1f7eecd1b9928f5591d3de2bb27119913c1b9e6ef8c1a4dfef3aeae45c4db00db3ea7a97309a2d82435123c4bae0757f0a2fc93a87c4656d07dcfc435fdc7b8c0ff0e47e226b4ac29e82411517d6039d62417951f2a564216bbc7a913304a7c2c6fe60aa39ca76fb38423585e2fb816d4394f7f5a4af666858a0a4f62165ada61623633b632d29efc760afcc35d8639b3268570c79494df3793cbe71ae045a527b1c3abcf75988f4ad11a8c55e6da982002ef5d690be1c34589d191281bbde065f026785119382b109f1a1845f2308b8c0f90ffd7c756b9b3b8870b4bf0a348070d9b70c0aae33ff0a23e93f85b69b3b803863462dd4f5bd5559d6ff685e6df525c529b2ac90cb240e42e4124f0a2fa938810841aba89f9ca5963e8cd6746e2a9648f5162e3d0b1aefc210c6d763f5b25f270f0a2c69328c9c244b4b1fc26ac274164fb0765d8a6686139668d3ecd04194e3af7c281cd0254ac82ccc23ff329ea5aa8ef992fdf6bb4c80a5cffb9c38f71dcc3a7058125d498fff3132a6a3e8994c8af79ec38e51363312b76ea0befee863c347e529f56c0357f2b176243e57e0e5ed47a12fbdfad5ddc26d44973443f3b767a997267cbc899deb1df75b0ed30cc71b2ad56c90b5ed4013a3d4ec136e66281e674f455c22caedfd0f3021a65933ade06fefdb8e607ff980b005ed47b1223e5977eff8ca80e4ffe25fadbe614fb93da755e859367729ba2351d9e93c34f55f0a2fe9318b8f6b98b203a95adf267ba8a697eb201bedb32b73e8894bfd7d0acc665bbb25f1b78d110d8d99f20a2cbfb33dcd4574c14b0188739e7f15f8d3f438a1be97f58cfd031dd4c96a06235c497aeeb41453031a0020d15ec22a3f3ad574c159c724aac808289308fa7db453554347e123959aca3d560364b51a2b6be94275bcf6b66780bffcaf41a170c4142d1ff2e82035e3405762901b53298abe4301af17928d6e81d1a2ab96e617537a16fdbf1aada5a83a9b8c73c8be64f62927907a36a6fc66b697e2b3db37ace16b2e551af171e6ec2d8bebe242a5b5ae9e0454be01acdb3870388d8cfeee6a2ea60bc1a2d06180dae5696bb0d86c5285738e3deaf8317ad9fc495bb8156c80472684a0f1eed864aeecfeae9290bcc29dc6331898e1c64bae5c42af0a22db0c745f53b16ab9c97246ffc91cb1c38172819fcae61f2a809c6b3dd338dfd3d0f2754ac81bc768b12ecc0df7fd5354e241a349e5e3579f46784f3f387ff2295e4f2c74b7876a1a2fd9358ea1fe618e51dea132dcb4a62dae34a791af2bbf686eed799200bb6c75dc4d15bf0a2e33393b8468fccac9e187be6f39f7c4a790304c514b901c9220aa65f2433988e4e3ed50678d1f94934a770d670c79631d6339fca9650cc9e6e778cd485cf96e25f1d2eb47180f47100bce80a4cb9c675fd907d95f431bb6af9696338f1e6fd0954273b0d541e08e968745b2fd1c18bee4fa2285cd17c11f1c47791f4346b4156eb3c11699baf79287c309035bddf0af5f77111e045cf27912583abf76f894546b619ea80c1779f6147a6544377d83c3e269a7379d5c5997f33d25a08e4d87dbc321ce27700522e6ebc94b089bb609abe0a236ee3ed201dc391f0e61ba8e8fd248e05a91a69ff90fb26a879e825ef20becd4a11fe13ee545a37588db204a38c5b1739bce8fb2456a06c8a659e5c4fbe14b0a3db38f895bed3dfa83cc1b6ac53ce9f16b0f2022908bce8ff24d2b42bed55a0f2f1a1b9d2a7f35c5979d4e3b19f5fbe1560ff4b28529b8aa1ed085e0c7c12875d042962a2b56056d7ca87039f2f4a2a045d7943d27f9788aded8c90a0f2a081178381750679f471817ccf5e00257d390f66c02c2a7f674d6dd637b5ed8bd4d03b37b8f776e0c5d02731cd4ec1f2867928614a38a285f55ae48593b43869d1feaa1c0ebe204ef354553c54ac837c82b703f9e246ed8a0f236947ede59748e2276c50972736d2793d3bb4fd7aa9192a8605df8f8fb61cb01c37ecb74e4ca55bf40e1230ad676851dc3ff3738397662f63182288c18b914fe2613bc32dc9cea80b1ee69f19fac9bbe58c1f74a477221b8b3f88db8e83c18ce6e0c5e8275182fd52ff155553bfa99a59d903ce7a46a15ca919493991e2188c9c47cba5b7167831f6498c0899f8aff4cff0011b72f0e1fd6f3cb6e93ce28a49f3c6dbe112fd74be8f26dae0c5f8271127eee31dc5007a3ff22a6157b06512bed09b0026d80ab7f716e4594558835ba664e0c544606fa68b6611576695f27ae3cfa04fc895a044e53ebeda8b048beaec5e35b7f1f315a8580f1f95e4e22db57a06ff7df2224d5e4114695d3af80b6a025f1a81655b4a520ee10ba898fc24fe187221f72af942b7a436bb2ee8ec8becb12620639357b7c179b10c30dddcdc6f0b5e4c7d1255d59679be991c50993077eefaf81fbd7ab9c46ff01fb5266e4f3fe2f7af0f14b5e0c574e0cc25c9511a444c6172544a109180213b21640687ab7b1fef9338d59090ba88580a5efc0aacd70ae7299b31412d7c671b0eb92e071ac6e6cfd6b13c0db6c28e7ccc175a5ee78117b39ec441f71aa2b6b80c6c06a9e64e2f4cb9d8619c4dcb305b79bd016199541c3c5f4157f06236b0ce2c887888db8510564597f1e3184f07ec4a089f38bfd7e16527fd6aebf6b1f0df2bbc01c2b79b7dd7fd3a4e473831736755034e97ac644a183f6c0d6b9f44fd9923f00d2d54cc05667bc37939ccf55c3ffd3f37f9bc7bcbf626222da0f7d7fbf8354b8955c3bc6d990b05f062de9368233914407e27e5e07c898886addae6322509e1d37f8cdbf5ccb678f159f8102e78b100580b4f39cff44f3903e64833d8a7160d3aeafce5d07cda90eab3a361aadf2d099781178b9ec4909a922e3f3173cc026992d9248140ae6cb8b4e03a63f95bc8aefb8754ab503df06209b04b71f1e00ca77d644d398a88393870619edaf8302868575210983ff9ac2efa43600578b10298019cc55eda197f55ba944155ee66cad7b6792fd37a5049ee346cf95e001328fbef14f71d12702fc3d7138e526d47ba3150691a3daecf44f7cb294a3dbfab28cd45410f35062a560077cee4e96bbd6b91c6c63d3ab4dbc7f263258983d55f0222c1b20985ef2bfed01aa0052f563d8970687f0e23424839eade333cbbe72518f48c82ff52333795e7c89483e9d245e60e5eac79127d9a30792b846d692bff1d2d703b2ef170d8b93efba3ae1886c83b612a3574fa7fb8c6ba27d1229ae83e12949cfaf0b64259033580693cdae2263bcab0176fb5ea0fe202ab1678b1015835b978859aa6361824294bbe797493fcd729eb5fcbd434113e3b4eb3303fdb78280f5e6c7c12adfd6179424ec2af1fd9a2d5f56d5457d88fe976692879d91854290827f9a5ffedc31b21d2b89c0bdfd0e8220dba74039e736fb8372dbb86ff811dac743bb36796cfb6a3818acd4f2264ad78b22424bd73d912922b48da76c0d53e17a29acfc55790fe5fca2a9cc9403978b105f8eb11d8fc91d2f0167b75283b0e7b0d67f8fa75fc547caefd52a24641aca9b1731478f1e79318dc16cb9dfde53d3c5cd5a74f8adb7badf6a669e4aad3f60bc7318a5a730d0c3678b11df83da63a8129d6643e10532d81530b4a7ca3ae5368ced729fb96cf88402046a7e2377813b113285dfa29fd04ad362963ab5c1855a223cde4479da8db9cab58725072270fb61deec08bdd4f22c3f77b8ef0d27ca60998dfce0bf2c55c8fa68779a31b0b3359e50a94d2239dcea16213a4893dede8bf775b1bb7683dd94c54029fae1b590efa6e10751f3bc528beee2f6542c5de27d1dead55c7c7c3db5f221161896d3c01307656e5170189807994e29f99e81db8fd68f0623f30dbcbc83ffbe9f8cbdd1c7997d000c99a8a87a1dc0b19f562ab5056e4c3be0df2357871f049cc4fee731cf7d1a97dfc18702327346c8b28674467ff60f25dc97941941625790dbc380c348b736599402b7ad5a9b70c4b130b8bae2edf271a953d2503cb3b9879f6bd0b269614bc380a547698bdfec439cb1aa5eb1f70525805eb131e7894c258e5aa340a6f4e230e9fe78017c7814f46c973d86c614fdb7b74b55f9b952f6c8544df471324b7c04896f8907a9198012a3643bc62511ec9e4113f7e873b9e4ef290bae138fead84cc7395eaf03396f28e1bf3102a4e3e894a177bd29d89ca07ad25527a30158e7a8756d35fe1feb0fe8069469412ae3360aa042f4e3f8977345a4c69473263d56ff21d0ef3216ea7fc8cbbd2ed0387cf173c7413b95a44c08b40ffb85d08690477ac9ec30997d9b3fd3ed97b4dbac42562c5a0ebc65c3f6e746e540cbc04f48f011f85c93a841c0e90ab5f6618a0ce9c0ae2b2b5997a3f7b3e58746ac403cf8d8f005e04fa47ce444f21ea3092676b535e143225dc3fca6314e46967681d6ded702d42abb15dc08b40ff78921de4efa639c33991dff4ed8125d0c23c2635c6f67b709c767ac83b430fa57fa7e11f903b57048e95cb8dc35738a830df070a5c0b1c7e7851a062ea78726d96089e74df4245a07f1c23c735fefec2db32b232feb3593aaf59650c71d14651c771b54171fdce4f71ac0af022d03f2a8f356721e852d3a545f3764650c30c6c085338e4de786d4c3fe89a3864b4ec801781fe16cb9093d8ff4af958950a3df7f58eb8ac90d992eca95c15117c665625461fcb0b7811e81fb77f50d59e8eefc4536ed05fdca072ec33b24a79eb7dfe452a3fb80589fe5c938801bc08f48fe52af7386c0f0c3c5b9611b16b7f4f02eeec13b95c38514d1dfe724bd52b045e831781fe71fd157a98f49214d75794449e85183579156d82c495f149c2e701fbb33d33f40f50b105e251544f4f2fc735ffdf7bbaf20f83f9084cd6710aa7dbaabed4b731634cca16785011e81f1f6ce98c0c39216a357fc774ba44344ce9a4b8d51976787e6446506d2e28bc6e3b012f02fd6363f320c8c24a51b36c5a48e65faaf775bb0e08ef5a02656eea6ef599209b6ef1e045377ff466549895f7e77955c975e910285fe0059fc164449477bb5aec74c941f93acf017811e81f2f93ccfc528a395f7e108ebccad729ed0bd5f86b93c64a2e1f2e6de65587254cd40c5e04fa473d95d726b5944792e7fa95de8643eba3c69bee192595847138cc1a7f8a07a5cbc08b40ff3832b131ab335ce7351e60792c147d157e34f49ed7effdbd7d52ca1b89f2cc5c4fa8d80ad1b7154270c81c28885a9c24c89ff4c7085d3f9638781c0e40377a279cddfc96032a02fd2337da2e9d831f3455a273fa511e295687969111ffde038baadfd79e215c95cafff5e1e044a07f2fad0c41ed912b43c135674075b61d2d2a6b8a8dd08e1c4fbe1a164a1b669cfd07bc08f48f7a08862ff839fe0ebc5bc2674a70cc757bb9a33374a3d79d3cafe530b3bd5e1f005e04fa473bf9788b03d513ee78590cf9c5488d989aded763c5ef3a0a50d719f29e33d922da821781fe51074b8f247117d2efe93e954d44e982e10b7d481dc38e1e13da55f66386e7e808b4680df48f494d6c19cd2bda7b2c296d1781413facb5dce05f2e1bf624e1fa1d4d076ca05e41c59f10cc9d69ee380d3f14aa38d81dc38dc1916ec88d894a0d7e559ddd98db4b54f668a808f48ff43a12010a34efc2497deb512b034f57549ed1a54190b31a273e60db3d76586ad283172ffe31d816ce9235bcabe8e1ca5bf8e681d9e0859037fef0def77c041e342d8e025ecfc08b40ff8881e955525a8ab6dae7a768c24f3657fe515fbab9b0775cc230cbb2c4c3ecc55bf022d03f92ddcb49707ab54a167d76874f7d496a4ab1ab5e2cbfff06ae22732d8ee86284fc18bc08f48ff2e25975f254473503b8de6f02d4168b7f327d6bfdfdf1bfa383d15533975f6684e045a07f1cd2f2c16e0ab344f629a8a2e1ef6d1e8faff1477ce9ec2426fc9775d56d0e71062ab641527c28153f0e25b59dd34ed6bf538b242813edabcf918f1fd74e7ae69667c8063db15b03fd3da39c141f7c8402d114b21c6ed5dd0bf36b1c7af563ca570dc18afef09b89732af8e045a07f54c5b0d7ffe122f588f0ed7acff3415d900c5957439ddc449a3e06b673b2eb461abc08f48f2d02ed314844b9317a69b4bdb9194e593bce6be44326a322ba982ced3d28931ae045a07fc49e3be3a093fda31c4564992a68e434d610e7ee2fb60777354f4d4881a082f97a01bc08f48f97de433071fbacfd69d79f148e1add918d5cb3181bae159648d7b0d99db43c55c08b40ff88be4bd2796f811d141aa0cc87c89e14a1fb8eed05f2119a55d0ef1fdec12a0dff568576c83393150ccabea0b6fcd72b7983045df956adaa0ca637e412960de24226c48574501103e81fb305c2b9ae6f165963c8a730f44a6fe055f3dfe79d6194a4861332f70f34af53831781fed1e36ed8dfd67d782170f87cce8ed6d5d34acd73a7b7ca595b10c38b92ec5dec7bf022d03f663e6461fa4c7e5a610830c9214239323b74248b08754068ea9e8875aadbd37f035e04fa4773a64f4d69d33dcc037be73fcf6fff2c548fb1dc4657a6fc2571702fdfd5174f54072f02fd631ab27003c78ccdc9e2369b0e7a9e687cdff6b6d470bf38c7f18498e067dee597e045a07ff43cf1e57f08cad2c0a784c478f9e26c9faae907e551bcf6ecd7c75606f8372eb050b103c2077b64a53e0211ce88b427e9d71fc1ef9ff08f580ced46af5352ffd69c89f6032a2a02fde3aea0e077d43d6dc51cf695800f3416f58fe4ef736b30b7fdcdf168247f7355d9811781fe710f1326b576c6a1b16c3cc97934fe834c34a5e82ef358319cd4160d6ce275b2177811e81f9f55b0c7d6bd64a64928ac6ffea05ac2cc8d0d2ceb2310386c01afc2e2306512045e04fa47939eee5e24530c197bf133267c3efbecf2975d984d011db31f3b240db2b592bba2c18b40ffc8a0773c2af46166311a61215641e3f2795fa289da05e5be33ad86cffc0784c309f022d03ffede2b02792b72f6ba62cac6286420ac2078caa48f31c69139e61c66fa2c5df5df3576125035ed12e924aaa495cd9ef1c040140b730f934b5d19f6c6344b8767b154330931a022d03fa20d5bece9ebe03491f1e62574fb90d5494ca356b18be6c9860b1bf68bc3137d062f02fd238a58aa1c5956d1a640468111bafa1f9606c9e0efcc125f42e7eebbe2dc6d189cc18b40fff877ba6a68026fb82dbd68229f6423bac10d86560b7ba6aa8c708256ffc6318009bc08f48fc3cbea65db3c8182d98685bb3228c3bd9f274d34c662b70e73d2adcef9e8428ed6c18b40ff48e756a5f9232207c81ddbe9a883de96428afe59e080c0bac491545e462b041b13bc08f48fc49f3bf612a3499b8b5a48553b7b4e2c4f583f50f8f05cd76a1d7dfd253f49d8041529207a9776d3fd5156c4fe3d0d1164bf700f062e143c8e683307e45ef8d8b04931c53a4245a07f7c3d454f684f34a074327e516865457044d6fc8cc9f6ede8db05713b0e383bcc5fe045a07f5cee31a9cff5e2f4f64b8c2b499372b2623d63423cb9629a63c7f21afabca27f025e04fac73b1291f5bcca04c9cfa9cd91b3699b2d6c91539b25c1047751d29670653d4be8e045a07f64997e755ca7d2a1e158fa2b87a67128d6430df12507c6aaae476fed4b7317a15014f022d03f16fbfa4e773a468b656c440a10f9460f3af718929c074ee8775ab21b341f3759831781feb1105863ef7cddeffe26e51b9d1a7f1872dc7494e147dc73185558ceb70644fb6c1fb11b524f7ebdef12103c9f534e5c363cebfe331c9ed82df7a3c97fc35ffee210176b5ae94045a07f54696725de105e55e7a516d85c9f256a5f1d5178c387400fa1a8c51ae4e7cb91055e04fac7b3e27ef7d7ea0cdf25b71c1c3cf95ed4cc3b31654bd77de8b729ff3cb54040a5055e04fac7d26ff0da758d3a39230eab38772a6c321dbd34e3e58635a8b895095e7d3f12e8c08b40ff78987b342d7a1817262d9fad3cc2febcacfc21ec5a148daab0460403757bbfa0c318bc08f48f2b75770fd512e21330140b21561c7889db8b9d4bba570dd5d13948cfc51fdb0cc08b4022f80afb02c593ca3ee3a59c82f10b995312922d1dbf2dc47b9984cae491a26a1f18a8d803c1e8101e3132cc7a36691a5da998dcecbd8e45e5f855e226d36af63dafbebb0c91065404fa478caebfc6ee5ac2ee6bbce512dcc8910175cbdf7fdd0913eca5a560eae481708d811781feb13bd7b937a5428da6683ff98895478e5b38eb139de5f6f50f9d0c84e6079f0e4ef022d03f668498611fbade9430fb6b863d0c4ac6bcc21bac7c70f59f63126df27bb5b958045e04fac7b6ef31a475d7e51f7ed476f4fd4ea7a88fa57799bf9332fb69829d6c51ac955610c08b40ffd8dd2528e746b4d58371ff6b3d76d97407258d4d952eec55c38b30feeebcc1af52e02fa07f5c7c23a47e8deac38495d88acc115f4e3b2337426bdb23a989aa78572f24289b0f157b21fc6dfe47cd2b2b389eaf583df109f4c324c9bc1d03e4e93646334f4d4827cf519ba122d03fa262c81227f8448f6888b1f06a4f3fafa86da6e823665a5e6ca9f97a9e57c68d015e04fac7cec3c0f6b353fc6b2c83370384428f08fd72f1c7e7dea7e4011cce99978e132ae045a07f8455b1560c306427b52b0e32984a72ff8968a46a0541576b6ec3413f25be2aeb002f02fde30a25762d05ab17d3846e4e54efcb6201b33472dac9fa44a23ca9e9d4d0403acf43f022d03ffa0ce625090e92bfde4568c3f18e785b67a9f33a996bc5c08c2021dfbb25e9460f3208f48f6db8e7f41c1cc4ca987077f1c9d1d5365ff7a9484f33f5acb59de55c2b9d4bff3d0dd80781b7d855df1b125db477d68a440c2a17dbe3cc445a72ca7923b4f8daa201ff91300a2a02fda3568b1ff149f9e3feb5ba231b8c5cf909758c23d2f3329eb001aacc369d8ce469f022d03f0ec61a16c4d19cf9d7bd723a2afe30643f39673b6c20fef620c8094e5a6f7e030ebc08f48fb6d52a7a1b7fdfd9b707878ef955935a3afae9f30d342e272bdcfc29fa6f25680abc08f48f7dcce77e3f70499e13cb0ac8b708d9240c74639a8faa90f73aed13a5d2086a7891e045a01cccb445eaf8789af8ccd054d6a35e8223b1c0f685a3b207dcc2476c2de3696a2354f022d03f664cb659f6362fbb7fdb9d54cf9a51856912f5f52adfffef7b3b2aff058668c7bfff997e484f1cc7791de2e9cf70f5b7ee91d71e2c3fabf55c612e66647183f4d24b03dfbf6b858a40ffb8e72315cbf1922456563da03ad3c6061485aefdeb7b08ed69dde32b826fbe0fe1e0c5ffdf3fb2229f64877729d0d11723bfa8dc7aa0a538cf68e27b47f01589c1a8cc30530bbc08f48f919341c32de5159df76d77143a4d858a926628127ab1d2edd5419804fd6af746e045a07f64fd2084255f32fa72e7c53206a6d0afedf672039f70d857fd28c8cd48ece30c8b0d3645a07f341287e3ea38f4367f8b2b445d27d744f57c6da5bad416a77f37b531150d4eab19bc08f48fc26cacc5e63b253af852c7df9928bdb96c0cc7535d7a6e286e83236c30ecb3ffd50f039089d62d5a59762dc225915ad5230c6b0df3185523fab16f8faf10d57f5a534ad2f34045a07fdc4aed2ea92ae4dd71e54ac0a8720d4ac8c2bb175a4c3dab4c793551fd525d3e19bc08f48f1bf5d2c8c50666048b175c71ded92156d3764a9cd1234ddade95f2d4e46bc53fc18b40ffc868ebe25937c693cc54d07004fba663d958e5ec6d97043adddfe96fb4afb957c9c18b40ff015828784ff8e7d0a584f58b067557a2c85b3e1da9b63f0c4c24a935f03227e20e61e045a07f0cee836d60234e8f7b29686939c6806e67109a3cd69a8cb3cef932de14765bd90fbc08f48f27a345cc42350b4c9638b241ca4c25102b165f1e850396fa621e87090178f56f50711022776cc6fb5bfbdb07b31c2f050a0407cc5e293c1f4ceb6b566a2ca3cfec04ce6f8da022d03fee60fb1fb5a5634feec95d39067e3d7d53a2af5736ed2860696e1965a09584be045e04fa474793130ddb67ee3d98c13f3e8ff48c342d9952594fb92cd15ddc0c09270bfa25831781fe518c0c0385f05850f1f3b747ceb1452bf559457577169c0962bcca1411a413965bf0222ad03f9e7fefc4cf3c9a3fe278f3ac4ecd79cf847d33a46944fb97df92850f5a229451297811e81fdf7db5fae3c17c136492f5c34652efd76cb64acd7830f5eb273ba5be8fd68727e9e045a07ffc1a07919a40ad86f193bc131f57e64bfe682932ab42e8fc9950f00621c4b7bc132a0e4116c62d034e7fe46f4fa3ccc9bae4f2111f6799b794fa2293a9de184c7e71aef9da081581fed1f9fc1435c69a74ab1906db9bb8c7c321a2c6160e96ba9d2a73ff3f87f9986172f022d03fd66064d7920a8f9fcb1891a95eb27df744b0e4c3f69eac0de6359350231b5325022f02fda32cb786d6bd2ffab3fb5a529d806c41c9dbd5446daa0a33ecbf85d2bf3a6b9d6c0dc08b40ffb8927c286b77bd65801addfc56034bf92cf1ce6c015e4be2994289122dae69cc397811e81fc59ce972b1fcc3ffe31798c15daf905740b6df16df8f1f2a95dc7733c590a2c0002f02fde333171e98ab60bc71820abfcf617957ac4b03128d05c9a67cceb37c273c6464ff3d9d3a0c3126260ea1deb28aea0e6f8d5a333a10b6e560f8684c896edf6eceda34519614290f1581fe315f80114f9259ea2d96d7c905e997eee98f2e7758d5a3b78d7826fbba4e611630e045a07f94defa1029fd9c2ef47106e53a04af2038b163c37e0263f12fb1ce65a0dbdfd236f022373f1eaaba9518d2f4e1fb538c475bc47b683c0c055a907ab5a5df7c34731aca2f5a47002f02fde3c94500834c3b3c9fd43b859102cfdd3742339f79cbc9096026c3681f69b16357c08b40ffd84dff628cec16d1e5fd6842e35f23afc892ef8a0c63d79e5c0558dd4c42c13d68e045a07fdc7ba52df6eefd81d1878783960ac63b57d1aba5b09f1f7f20b9acfb976adbe3fcdb918e400637bfb01919ebaaf2e5161ed3d3d3c7a744ce4042c978f9bc0c79d3063a33d25f4145a07f34f0fdc82506275da99cf5497c8355557f4b098338bde8442d2d3a00c5f6613e0ebc08f48f03680398171cce413652a342d570ac1c3fde355b7fd3439fbdf625df47367a3b0f5e04fac73b660dfe381cae43d77ddd243a79f34fc6d6561d091432aae8ade508cb7a9e5e67e0c5ffdf3faa491db2b9533ed6b548f9e05d4eea276eaa23ccad3a85470ff5fad15f2d69801781fef15c166e50c60a7f3ff42d817e70b4084ac4140d91377ced6c9dd462d7a3f85f4bf022d03fce2ccc32ba841965bd61407f231e57af594fd7883a1ca1f3e3c46f39772d6ae2df673d0a5916f14acf7cbbb9870714149fa1d747246fc87c8798003fc7406ca5ecd2a8362a031581fe117bc7161f2e4071006b0e66e35e2886a530d832458f2460a33953f053b533191d7811e8032d5016296ebeb9a7c8bd969bbdb9ed95496cb116b50dd4d6975a41ed083df711022f02fd6374ae2fc431d95dd3a62a25acf72f356faace5880c6916fd930a607a697329a5e237811e81f73250e91ce61a2a30f43484a399abec4e45bd932071e4831a7bef9d3772e7d48065e04fac7e05a3bd1458ebef067d9dcc9781631e60c12969adc4ca3c3118e145362790d52e045a07fbcce2da7589611abd2bbcf970e21390bcef1ed8cdac35a5d1b5b6b996f278ff8f73ea93188997c94266bddae0a831551d1ddc4ded73f7894ae92ca9b974b1dff258cf72b8afa4145a07fc410381139c283ff4dde94515f4eb8d0a6c8dfb70d33a57e3128c2ef086bf4c21cbc1ef48f4969f85173f746ec13bf6147c21cecade47ca92cd083e6e7a963894f29103089811781fe31db53d52b607a2cdd18b58545acc01397de6ad5f8b908d63703fbfb6765b8746da7e045a07f340de1daedfad4aaf44d9a907619cf74ccf1ac1ae65de65783615c219e3d95d36df022d03f122c569f8e65da8f9a40dc67de90221f7e7ac0fd189eae2f6c20bf61885553f2005e04fa47d358dc26895b3ea77c25d735726c19960dec2ac2afabe7544aa73fe4a29ff5fc7b2bc738242f6c43de1f044beed30b8fad2f95a1a1baadb23904b412a8a6946d148cee41068c5011e80b89498ac3290c5f189a7ede51a090628e52eb2d92b478e946761e934cfdda142c15bc08f48f5557c97d9d76f0f82ffcb96831f227c5bc50d05e449dfd765ae02b85fd63f6e3337811e81fd1c47b525a9246286912a988e4b90654dd8b492264328b3e4ad31827b9ed9de8f6821781fef1d46764f1c457c2b0eb0779eadbd2f0227acd3082e969ebef961f039365bc60be801781fe51696a9e99845f9294df943448b4454bbe387330733718577ce5ab0f0f56ee6d057811e81ffffb96778bca1f4accc5feae48e17a9459864e2e1cb72c613ee8ca4cb624eecbbf6fdc0908cc103ca3333f31fa95a4c5b98a376660d9f5db83508c139e91193dddf9e7731e0a1111e81fbb77fedc4a23c5fabe4ad12bde8635b960e46b1b69e3aad66c79afdf258344c5065e04fac7550d89dfc48fef3eef30d43b24c559dcd1d3bf78e74ad33235d8ea7ce50b69ab062f02fd636af37be4ae01e32edd018e10a38512a56b14212d0a269b31e9d69e64ed25987607f022d03f8a6926c8a2630f55f2062ff8f51a4caf576e8bf165c5f79d1e9bec507da46798032f02fda355f768eee9741c4639ed6d6eda48e27fda6966937666410d1d651d27c177febfc08b40ff689750731b37d73c69fc62dc52c356f46b54c16fcf007e9432d48831d68a0bc77f4fc64f2d426e3bbd78d475de187be94ed4c193ce898b64f3df9538eb2f8b3347b1406e0fdf4345a07f34e382cd7e498c7083fdeec47d7df6a3a6bd01e22fba75bbf8260309dbacd7f0fae045a07fa42bad6e2742a442a1d2a6317a96df7c60505bdc0e112c81e777d5d980cf35290a5e04fa47c5b81d075b557b8fb6f889fca10912d72075a7fe99915e3e668ea6ed895ba6ba5cf022d03f0eb79c09cbc274f7bd18c2358cffe1495915ce8b7e4559dca1866368e3a1fca607bc08f48fd96899ef38ac087087ea04563563bcb520b0b2217e0f62fbcdec4aa3ec58db88e045a07fcccd372923f78ba463e28877fffe2c8e03dfc0963cd0b3dd1c8b1ba9276493e80354199c82c4ed84a092675baac0e7bd14a65b5cc988abd96a3e5d0b7f86e4ab210b1816a2808a40ffc8383bd9a6ca0039886b45a9f20fc9e9a9e899259316570bae0316bcdfc3281e042dda00fd237701b58b4b2e7bed96bca656dec8b5db6fdc1310da2938618ac8d26134e7c947f022d03f26bce77db557e412e3e058601c60f22c7cb25ae6d725423725e5aeacc789aa7f4c0f7811e81fab35b81b2a7d63315c116c5af6914e9f07b1923fc65586e85427e35b242417f1831781fed122c385ab3263bbf1cf6ed6fc08daa21bc3acba445fbef0fddab9a7e552c47317f022d03f1d352f3b4e73a5b80e78c9aa75df36a67b7e3d1e256cfc40ecd9ff839e587cf907dffb29a6213e7ea293162629f52c62883b3733dac273125dfc1aeaf61f3cea185a2b6b0f26a022d03fb6bacc3b8fa0cf192d149f4d0b4a310b65d7cfe3657d3bc276584a32b0b64724062f02fd23c1d2b85b53c248cf157e57bab5994778772c643a8dcf9b26b3239ae9b525fb1cf022d03f52f0e071341e92cf3c64c728960ed88c7c7f7d6d5f625400ab6899ccebfe42c06a18bc08f48f3b78cf475dcb25036b50dfb8134d4bad2042cc2b7d38c85b5e3723e4a48a7976821781feb1d836347bce6b996e51c9c4ff302d922dc2d0198f4a798f8f624a32bf0d3faa03bc08358fb4b2ddd749dfbb5684cf4c31c3447c999355ae9d588d3985f4c81d89b56902bbffdd959a81ccb83187565ef0259d2b057252ad707b28499ce57ca0ab50ad11779087af082b828a40fff87d7887fbbf538a1d0284bee0f53af63ce199dc780451b96f24cc3ef3d9893875e045a07f644fa84ed620d68d0b4aa15da9cacb88172fada53c510fb8b83c6fa895ba155f052f02fda37fc3f0873e9484381463fa0de73e8f8e54614931733de53e27a45e57dc81eb729de045a07fccfb4af807611b96aa9b97b50eb686baef3bcbbd808d5e8798116fa84216f15d287811e81fe917a67183995af80cb70e724e53b806ad78a7178c5db70a6e9172c7ec0dd57f830281feb17ba455ae624fe653549a398645fd032a1fb5ce448a4c8612b1529f0010c262d5bf77b0cd42040ab01a73bbdcef5e1a594734bff41832f54a4de5922513f6eefac0ecb9c9f8092a02fda397059799d01796f963cb59519339a3a39cec25b9b17843cdf1708de7dfc6e8c9c08b40ff186dcde64fa24749fd4690653dff1228c59402aab0e52b2b48aceb0305f9b9ce2ff022d03fbeb9d241e9189131593c51193056c1b998a030c1daa2fd9577c8f84c8d183726d51cbc08f48ff47cd82e2157b15f03c2795de209d84c7a5c47a9d6fcc53918446cb603dfe42e8317813cb14c46cf20b149817955aa18f99a8d986e7a67fe34796943a778479b56cf852f1fbc08f48f9c2979054b6a69987d102bc4eafa2984e829bc6e06bc4a5865a32b75bf1a8eb97f73dc39485fb8fc6aec6ef245d4cbbac4a9e219b1658a348a5b0992aa9e6c8c20c665f40aa808f48fc585467a1db2e375e47bd709ada9387efe2de842e4f309b12be7282e541e2aff811781fe1166b132f4f3c4ed10ba3cf7900347bd1df9100a6d58c2b2e574b4cbc50bed7359f022d03f26e306c122952c0f3ed90f22348ae9e2a75d7e9aef5f6ec0ecd44b1313ab991cfc095e04fa476a9d004cf1981fc9ac07dbacea33d6f7d8d8b05e7b9e54795d6aaed24be53710f022373f365abc1cea9db761d4883b55da59acf3571ffdb1804bfd2500d972bfbbe90d43287811e81f9f3734b215e30e5906a0fdbcc510bba93378ed4744f107576a290c3d2732a28be4df79661e12d470f36d115b90a0f27b8c6a92adeb9a734d6c0bb6e82d8b224c9c5ab254eb0fa808f48f0a64d44ed20cab86c8fdf144badeb1200330c76436f114bc67c470fe7eb8ad71e045a07fcc8c0db5d5741708fb72503e999a295a30b1f32bef8286f2a67459a6a60629f0ff708d40fff8a58eedeb9931d8cb26c589c31f32697e7a3b8afdac8770465375457fa8ac9e879e831781fe3e8b338ebfb4c7faa264ff5d4cbcf3674fd61f6a1e58f7ce832614a6ee48b09a27e045a07fdc5ee11edf91ffc59874e955e6a13bed392cc0ca379646d5c253cb095a5fefdb005e04fa47fa4aba7b47d3e2a82a77d7c9e5cb9fe562a1a327970d2fe1fd6e789fdff1a897fd3b692e40ec8f9d9ed930e30758c4edd5eeaa48cc520b97f9873959ba446c0fe9bd478d29848a40ffd851ddb498b3c7c2a525daa6a939cf386539b06f4bf2d734cdc8c5b80973f1e214bc08f48fd7d170acd12f8ae603147378b754493fa18d62df69d2ffea704e96418de09eeb012f02fd63f5c56220bcef6f072e8376b6d597aa6f53beaa78573262e1de05c68e749fdcfdef0dd03b44a07fa4d79dcf602c7030d1ba52d5b7c8809757312ec9b155d05719998ba82ac1c53a0f5e04fa47aa475e6cf9c8ea36985c02581376c937f167b5469aa437378d6a895a1b455df6e045a07ffc0fb695368f1d6be8386a13890ddffbd111a534debee1e52b2bbe80e6c440734e78a8b808e1a671d8eda2aaf4e8d13ea271e22ccc93dfc947a26e517262869d1a80c43fff0c1581fef117aa1debef635fdde62522184c98d21a79973eb1684eea0e0f24017ba63fd763e045a07f9c98f14ead067b8c5ac9e7673876a8e66f74087515fb19adbf21f6b2297eebef257811e81f1cd5e0330bd861965f2209ab906de2a013ae1791bc98fa0be3ca3db5abe868281d0e5e04fa47ddee540c2de14a992f7f795a28bcced79a23838564ab608b7e571fde0dbd571d042f02fde3f269244c794be72ef16dcd42e1c540b14c003f8544381fff257fcf2f0e17f4ace045a07fcc1e67a8a2724f323b5b620f4d866dfbfc1ef11395ea6f22ba0248e6ebb4659ad47fb3e625489a6890944c318bbfda632f0e2e3eec3715e55e8d03abd2a20a1eddcd40d56c46a808f48fc1689e55944d3b32789fc63f4f5df7a432cc24b06ab2481e4447c7d84d5c28fd062f02fde3815a3d98680699703a8b69dd32865b1c35c6a0e95b8ddd6814cc5f762b3f04b8c08b1a40ff1877136d46cd1eef1728ec23b34c1454729142acc58e9f7546205e3ac40c0467095e04fa477f016e94fbf8343302d70055cdeecff1c1cfe7ac54f0bc840ffc0bd88649d898c18b40ff58f415665cf49524f7c3e7b58557e74cc3cbcafb3a6aace3461813b22ab7623255c08b40ffb8ad509a90daf4b535c3de519330af29eee4d082776b1d391e3b24593d685fa0f6df35fe82ac59edc833d6181a238a2eaa64c8702de17fb191e8bc2569da381b32f4c65a9a858a40ff7856d52e18bd325cc5197a558af66b737e708b577755838dfe33cb4087d7528c127811e81f1d2a8c4f28f64b65cdc8280d3070b449efb352a908738f1f192d79399b59e632c11f8b40ff08bfc69e8b111d18bcd66d571b8a5060e9aebc1a6dfcee2db5d2ab04109ba39f97e045a07fac608bdbd8374f2bce9a9ac5ab5237947cd8e772275c1d25dfaa17ce771cb960002f02fda3535c4ea4b05c7abdd7abc854b5e132588bf23919f61b2b2d9f4681c3ae474624f022d03f3a28fdf71511553df36c60579e2b053893b105b930f3aaeab9c58254db50fb77e27fd3eb6548ef1b9952e101d3bc2e78e52025bf9852dcd511b5ed5d91a440591602353b8f1ea808f48ff12d251523633282e6e128c71c7fc97d763ff0b74e9062e4a11d3a3d9ff09ebf042f02fd35589feb7b3f2d48367d86e263a195bbe28336fd673debb7dbae2a156b6b948b0bc1e045a07f0ca0881a33a0fa8677382a5b20b095318f9beb8be153b9f2e765066579f832fe1bf022d03f6aae0a3cb2b5753149560dbd6d5ea7d18d5ba571ae1a664bc9db4bfa8b14a6ea015e04fac71d5f8f9d563c9900c27038f9cf7aa7bf01e37a0f4b1e7a14aaff2047c820d2bc062f02fda3d8b8c4612069e73e8f58021dde38d10a913ca1ba27b5f0c467fd55d43f19a50cff3eeb1588e59fd743e72d3f312788aeb758ad15291f6dbff721999c349736ecf1682b21764145a07f842f08aee1981770b9ebf4f163239044fc99f5912289ae3d35dafbba6572bed60dbc04f48f9e54e1ef5cdb88ed1d4b75085ddf3984e87ea4d1e1494aecff75a51b840cb5fb9c10bc08f48f2ac35bddc5e9a96f603c23043b97116b6ee8b539f159840d125cb30b19163d3e831781feb16e73733080a40beb7bf2ab0b18497f3bca201f119e3bcdddc549162d5f0d4b67f022d03f9a89c71f72a8da0a68b52cf5d5621561f9e6756acba3b5c86b9514281e21eff6821781fed1694044e12d6b5515b1075d7a967c64b46f285b01dfda0833919215e9d965f3eabfb9d92a4499e4dd4b362101bf49045beb0c024e650f811ada35d895a22525956aa4aa23085404fac7207a3151f93ac3111af1052f87a6bf977421910770ae68b7535b19faaa1702753445a07fc4a7ae8982f01f79c03f6a185b9625320a6523de0b943fe7f3701ea23e9f46351b062f02fde3597f9672d1d148da3ec6c14ece5a77c60d3d959cc3f70c55e31f70c165d3dce8e045a07f94a772868cc60ec8ce7dccb19521d28a42ad01a697f7a80bd21dda4fcca0ffd5085e04fa47ae516e2451736b51fd97e7331a210a27bf307be19723f4ced3b457c2a799fe60811781fe319851a6275191a4ea21f3288fab9dbfe9e708a182d96456d56201ae66c179eee37f9dd46fc86f17182fdde8a3936012a5737585edca2fbf3dac9029e14c66abda7aebbff4ae4145a012b49b75db97c6899f8ecb7a797ee576812f7a791c4ef1768e4ea777fb92f736171abc08f48fcf66f383314a4d48824563ecbabcae1806188a8b83d729f80562075a6b433e2d7a801781fe517b92dbf82399d9bec6d6badc82cf5193404b49e4269087bbcff841efb94e181ec18b40ffa872e15114ad2422b298e5ff47fc6f3616f81b239a570fc6e7f39c0c01e276af64c08b40ffd8a3c8d8c14ec0d935184f14837824e8895ead7b3fa9dde1b53dd46e91d918f30ebc08f48f3de7b253f3210a65daa2f7b99a0ff7314c1ff070ff4a71e0db0c997b1c93493aff9b91ae4130057cd6f60fe60c6030c61557086c193ead0763bf7d762777baf578809fdac4031e81fef166e42da12dd37d1dff9c6bcfee112fbf57a339219ccb4e08f7e8015c11a6561e7811e81f2b8854cab4d2a60d9c52c6e5affbc69acb331992167ca2f70707dd7202d57fec2d811781fe31e5611bee0c314a2fe292931c3fbfe5c3a7c02b8aab81e1ebe3938b996561764df022d03feef8ab716115741cbd3f3aabfd8231d6f3a1c6b968b93bb10c59ea0b0ceb51e71bf022d03f4e527262ff67fb99de2d50b554ae681e5bfaeb1af39b949551fc08bba0445b7147f022d03fa6e06c0b2bbf0c37b157b14cf926b39a9ff8810bd1615686cd9a2880e56f74cbddbffb5c331075f585d4dafd06b284325186c5d046157112bdf4cc990473317687a4f228183aa808f48fb3e59057ad2d2eaf1be336a6abbfe99cdc7e4740ce66e9a913d40512d0a4581c012f02fd6394118b2e6b0b617f84e05441c8cff8b54cdff30c592dcfb20e530eddafee6c2a30e045a07fdca2f6c660ca92b31da25f11892a22fb371fbcf76d39c951f572fc424c98495512bc08f48f6d5ed47c42871e173b59bd00aae19dd285e8782b6a8f57c3b7920f8d16b53edbe045a07f5c7d1dc18026b3161e52cceab351586663b069bac10cffe0bc8e642621ff1e451bbc08f48fb9062f389b6fe5e5e770eb8484b2eeead4bc3027d269551bd25f150d767ac738fc5b233720721e26c4896d41381a586327778eb0c61ac6bb11ef228e29c3f03565360f0653a022d03f6a1b93f1ebd512aa21ff6647d9b88f6da5f4ddacdbed0a5df937389e723fd9c70fbc08f48fd48e5d2d7aebb64ec56945bec19db3a4617d3bf017f9683f11b6d89bbc86ec6bf2c08b40ff589c569d39f05d0ea3aaf05307e3cf34fbad7bb91f23aec9212112b8777fa98333c08b40ff1831f6e56b7e522a826c09ff6478fa31f587df8835623adfbd447367d6e0139303c18b40ffa8f0f9f1be219945b3e1c3839db7c3582e575c36c7c4b75881bd95f57de759fdafe045a07f1da49d47ffc9f1254cb93995385c3977d437185dc5190697efc11cf271a33e2f070f2a6e42be4809774d1ca4d3d5849aba1a9ab59eb42fcc19cd65e18405278c37456f7d17858a40ff586688d31dc7dbece3c2d85c532da3bf252dda68a278003c2bf9fb7f8c49638f8be045a07f946588af2891a230f73a7ec72c287212718833377625abdaab8ecc8f65cdab17a1055e04fac717eed5bb4d8c1f6cb03e66b93c52300a14222b7f703765203a96c275e078e5c40d5e04fa47b2ac8b9abac3f7055dfdf62634cc4cabe791a687454a6cf4331c8be79b1f8f4cc08b40ff382fec322efee5f7f70dd7fda8bc8b3283aafef0007389352e9d64fda4c2cafe5df02222d03fee972965269bfdd05cc0fb36ad146077c45192d6a990a5daeba8ca131c1fa9730315b7203a6c6a0678e10675da7f25db55345b7fe6ade70f567d147b3f12b5b3adcd2ef96fea0af48f7c8db17a49c252e9279786ed0597be1c6c5c1bd91ecfc6c69b848ed5e9960a2bc08b40ff984a220f47532a674733832b13622bfd0bf3338fcc85401b5cd681b134ca644391077811e81f1dc4378d1a9c5bbf7c481c098bfbf8f0e261963a27d5b0352a73caf7bffc9aa319f022d03f0e2627675530524ccb5399e036296366d2ada2e6584bd41b16bebc6d634bd6cb012f02fd632297fdb357d9747904cf048c059470ae5c610d5c8b9252578e20263ac68346f70de045a07f4c1455f94073f7369eb4ea3bd54ef5e4c7023a8fa31002b39b3a7b19e94757837fabc236a4625e94dd8b17815762de89f03e2d3953b9db44a849d42fd64a97eec6ef6bb82f5404fac79d73c4af94566b632b0514a49def9255275833f6c63d13e30f51649735e2b4e4c08b40ff78a4edfdd3ad655d42bf50c5f3b32d0e57f4036aa98aa07ed4bb1393e69c2fb8ed1ee045a07f142c42fdfd9a9636325710b6a89e552d7553fa72bb487eb86d453e75aabfe95c3e7811e81f9d6f3028bf67b5b0949fd2b3708d4fb18a1c8b2c37b27ef397e9e69af9f9df701c7811391ff37019434d6f57adfded42f242f1731f733c5f9c8ef389052863c0e932d503969f801781fef14e456baaabe37dc862c7557072329f156e4ed37b6a0176e10283092f713b4c76a8b803c13b41ccdc1c2b9271d17a8370923d18fd00436353029c597d71b53212d3e1e90e1581fef17517fc4e49fd2fa50b3bd5b65f308cb53b3faa4608abe699039cbf7c0cf3d84f042f02fd63a4d9769425d9e34f8cb3de08dc5bcad49bcd2e8e2fbad3dab0dce9db44d1a46d68e045a07fdc8d8cbe225e3af6b4a27c8860a1e279f982811acdb513ab06a3e1057aa299db37f022d03f8a1e0d905777a354bff708ab45f1c9d3eb7ea7e345d6e79adbe976c62503d33b031d04fa47d38fc44271b4ea26e7fd7cbdb701a46d2febf5078d2dc4f3c25b6c1d2bd80f0d90c18b40ffa8a96d2f425b8710fc887d537131a14d8353fbdac99538326b0ebcc4747459f1bf7b1fbb10f5766b0e8d54a9c9d79c758ba323a86d62f22753714bc479b2b1b7efdb8a984fa122d03fce4cfe36d14fc3fa18931a85f9f71bcd3713ad61eaa3eaaeb318ede539b987da08f022d03f2eb9b6f3c8b9eaa50e03cd8922a82968d7a99a071d1ea43e669b614b77b636867d002f02fda331537830f10b2c3812ef7ee53faa63b2ec7c1514b21713fa22c8556a351f09d3408bb606ff9840ac29b431be84264aed1f11e722b0f675d51c451f2bd2bb04dd8cfc41145a07bc08f48f697fa2d0e6596364f7a416b8ac19c9f1d482fdacf7218c129d164a5273e4d18c8de045a07fb4d58e32e30ba560b59854699d0c8d7bb11a67562dcfbfe4ecf2ba68a63de9ea5f3dbb07b15b848f1af9bc984af4aac9fed843731058c93a4f5719732df974ffff5176d74f517fff02c725a4045142c905a4a41129109710e99046404a42a44390461a44baa49790a54b4a11900ee9921059babb0443bcb3de399f9fdfdf7fe03167666776ce9e7d9ef3ea82fb6fcca045d03ff6289e10fcc8f9b6e62278f055f2bdce6237e742c1848185ae81c0985c14c1af341d22e81f67ec47c95dad9c87f66c3ec7abfa6a18c9329fbcd07e7ed27a3708ae0ea974d40c5d04fda371a2fda7b208841fdf1c5f4a305fd0e8785a586a8d50f007fe0791d94d6b93497ce822e81f1fad045bc5364429781bc6b9e6ac5f6eb82327831c0831b19e9f28fc64fc263d0d5d04fda3e7f6c270a663b148637089c82715a7e77cbc74dc89fc72a8fcc793b5db26929cd045d03fdecfebcde5fe7d238315563021bd5dac216be5b05f2282649144bbe47b6fc13d16b4b881f0d3ccf25623abf7bd7b9a74dd8c36bb6bf5b3fc04d77406b6ecad02674a257723245a04fd24aebc4ddf8af12997b96392917a4f958528a750d64ed63d1f23f2059d6099a731d045d03f620d98cdddcc9f1b3a2a093396651764ca57bfa196e45f873472c3389670cf2e802e82fe111537cee3ddb891668e9f79cfaed10a678b5b40b3d3af1deedb7ebe5d565174f8267411f48fb8dba7a54b8a7211ea26030a2fbd96da7f0808757e74f7be57d48cb058e48b8b832e82fe719cdf53d8e045d9696f912d4f039788136fadde4a692a5cec82ce2d5af456f9287411f48faa39f3a9ed8f2bcf00634c05473e17a567c5727ecc4a28bc88eaa8f671e1c4f9b7a7d84434a6fab43f3d6e96e32c1ddfedbb4f38c8e59d1af246b743d184c9682913b6ed9481164139f8538658a169a55e56285e23ece52741b6ba50dd4e99d3f76563b2ea02d338146cd045d03fbeee272bfa3dcd98f06112a37ff78781e5ae48917747f81f1f49071dff5676ab2d7411f48f0ed6d10bc6a5c2c3da2f993592bec69dcb137306d400da665ccaea981087f1fb10431741ff28bd5bfe37fad11cea411fd9a7dde6f01d47fa1eb1cc8cae8f373c9503eeea7e33822e82fef1c7f09f1973a37b8ae7de297771850d231c18720c8c37c8d230612f1da675fdcfa18ba07f643aa6332ad80fe67cf8eacdcd0abda03949c6adae6319214ccf4aec01ccc1b17f0dd21622e42d884b249a7897a99c162fa481de19931c9f9a9434ea134f510aca7355e6a8050682fe718a7418c33597f6c4c986a826e64434adc122de4b35e18ea791998e4a24b3c18fd045d03fb2dc2ac3bddcb97ab77562e3d54f81e25335ce88ba5635db1c2ffb237949a54713ba08fac7dea1db6737e6dc4e0e73ed3d6eb4c929de60601ebc6f16e176e7d71067a4d666b92a7411f48f786aef98bca3d669a370b389ce359c70b50dc4446561c830b410df66803b4f66411741ff285ff5ac18e375437e243f8d5f23b66caeb28290a2f4054f736a52724f94fcbe197411f48f93a48249137577300efc6af2c32b280c9e2f4afb5bd8e86559751fdc78ee59fc1a2d6e231b1a0ea8c47aaf05da18c11a43a8f3be5fbc2a1d3afd72847a3954f044d36ca02a022d82fe7120a9e7e94f22f6b7baedc2b153e52296d50baea85f69439f05ac1b5155a9d7e9a18ba07f2c24edd9997a5984edf19e4041f9b129f91d0eb7ca613ad1cfb32886032d02b80b7411f48fd1f298b25284fad146a94d578c4b854b0818596fd90555d54e5202fedcd66178107411f48f0e6f1f7c4e3411d8edbc333e0c0df768dad77c1fb3b716b51aac0f171723180d832e82fe31f9eae6df87327b151fa4fafd1ae27839177b5e939efc58723c20158f11dd5f15812efe37fffa911b7a50a653f9837066b7b8a33d9250f5a88441a917d3cbaf0b6c8ad999d7d1e2060ec23b8666b59f8567144b7499d7c78f3c3d9ad2523d8db2ac7189f139812d02553b5a04fda31daaf29d0e6f56e52993f9414f7e5df6afae0153b3f45a31210c5dd75bb55de5d045d03fd6f66eb3ed3c3d2ace093d6a3ec425ead9784cf17e1b40c900bfaea0eded33991de822e81f0f48b0ef2d9faef16bfe2e7eb233cfa33d8179e6c27c374538ec27e91d77a9406972e822e81f83b585ef10f4d8e2537c2aa5456c9b33e3aeecb09356b04061673d7725e43c17045d04fd2339b369b5311663d868e241d8aec09e1d0f26aec7ec6f538a42c226bada7b5e3ad045d03fc626d3c6e9b2ae2c3a35fcfef8e6574945c8c1f89337fd7d9ee424ddefaeff1cfa0737a96a17b139c159f6bbf6a39f38f912b3ff6d5177036aa9868631ac9a92c33d13485da12eb408fa47ca06fa91a40c525453fd45b7b5c3af6bcb02182dac30072a0bf99b295d090497d045d03fcaad7da2a1951ff474b029f92dce43bb621936c7d833aa48f1d467aea748cfdb06ba08fac79c9d8b982c26390c63de358a3b3a2da39b4fb403ed2f27af31e76765a9f93d7c92035d04fde37bc6fdc318eba329c7d1263b14548f3f794de9bfd4c0736e75c718d0bae5c8d60d5d04fd237da910ceb75e5f59c779179a077d271e21af8904f6f332a3fbfa44ddb8745086d045373f5ebea5634c49256c7549962d16db58084cbb6abef0ffc33d24e4d3c2dd741a432f142dee21703cba0994e3087ecaa875a3b25931f41209b2361d7906b7ae3c93164d347345d022e81f2b9717b0c4b47a6d9672341ab3ad3e608945c772d737aeee0c93b3de928a0cc6822e82fe31a74ef189f49253615ef66feba2361cbe2f34fe1fc372979f8b3ef0230932d733802e82fe9108216adfab57de90c74daa137eb726fee2d1dd82790fe685d8b22e9fed616bbb4ee822e81f57f42bbebad831a9e44daf6cddb9efa86a4131a274fcf55cb65351a3feaf19a50f7411f48f891d16d755aa67b424dc2abf7a1be66b7c3c7a7118a258951e904b31e0db60da071d04fd23322c9e23bf9c71e7e98859da5524c57df91f9fa36ae57aeb4dee147619e9042efdfb7edc471c9de876d0712ccd05e9bcec7eee22164f395fd04d6d5e20ec23275ebd6fee0c478ba07f8c2b4ab1d9fbf46a70e9088764656dd5fb24f015e700f9d63fcd3336e7e51f38257411f48fc61df18ad9f073477202f25c4bbf045566fabd544fe22166bf5273e31eb7830be822e81feb8429b827c57d5c1cbc01311ec2de1a58470c477bd3e9341efab7bbf2f1506221a08ba07fc4edc433522709cb3f513a09c1a95cb2b3a535414e5d78251cdab09c84e5a9ad431741ff7828e6132ee374379cd6d3a68cf0b433417e310e5bd205bb613bf53a03bdd689353f22e81fd93c8ef5ed0c7e7adad7528ddced6f20ad80d71ab16ef8f5ea3238c6166be9a9fdfb4ff300b119895176de6f3a2391247753117f44c45867735f462b2ee46ab20661ad5495891641ff38a4ffc9d0ac5df840b2267aec6898d122f15527ec3e86f81516bcdbb4332fbd0cba08fa47575aaf885792bbed1296f9aa59320922c8b2571ef42bbc57c53e4ac6eeea87e9d045d03f325ed0ddae67a1a8c8d52a78f2b725be7d94a1ff7c9a810c55bf3e203771ab94d702ba08fac71811b8b136cab353e1d87de59f3bc6b1b46eb4d5f679bad72751c8a52297a77cd045d03f04a813d1131c78bc6bff129be410ad527f49ec6b2a97567341a306ab531599e02b2e82fe91bbd52bce09e782952e46bcbabfba5a7bb37368b4d3724bc5b616ef1b7dfb0db17f85c62162b7e34feecb6f7d017775159e67a6737f36d7459447a816654ef3f17bcc76c06dd022e81f7bf80409c8e6839fffc8db24bfd35df20beb168e769c78c0f5ca5f3fe1e9d4bdf5d045d03fc2668bb204cae66fc4325ac0f1069d425c6488f54622535b25cb0b5aa2476d68a08ba07f54dcb67c5e129ffd67301b2b2ad012a52661a1c2e5a4f8f0fdb40a7238f2e37a95107411f48f873aea1f62e5e5ef8a012e70265751ada082a2fda352eda501bfe075776d3b61e8e27f113f469d89371627987fad326c226726e67987a537431ddd386f2ab8add3aeaf3e045d04fd23cf016b65a1c766f00967afe6a3935079ca837eb7cf7932b9648515f7bcc990e5ff26bc1f21121fc5d2720cb3ccbc8dea33d7fea64fe61f1730433ba9dd0ab3a67ac274a777032d82fe1103a389945b5cf5b6acd5461d6a43449a12def0cd0642095970d48f3b7efbe1387411f48fba6e23ea49175cf9822a6f192b23910e36eeec745cab9227197abafe4e0a7f4aa08ba07f545d3d17126a9b1c02fdf94e69405bbec8a8e7eb6c97f7464add24f347a9f4208936e822e81f136a22716a8522576974ee1531f21650fd6967819157c9e3b877153ecc3692ca842e04fe716a888dd0afee74f9ad30bb60d8247cbab4ce81de622e6b90476f21f88338235ae822e81f59c2e5ac16d985350a059e8e6f32a4496227b4650465058e3e09d72877bcdeadfcef76ea31e29e127285f0a2fca9ebeb23b6cdd167aaa5fe8a0d089711dae562e4ada005bc8f6811f48f87f362c48b6bdf54bea8bd68ad0f0c1cad1deae1dd5afa9d44e8d97958584c250e5d04fd63d19c373c53f1c396d0dc188a53c344903e4cd3cdeb9af35766647cd3661b3d257411f48f21ad5541deb816bb1fc73d3bb655141c3571cb85dd39ebf506e46ec8fd26677654822e82fed12197617afb47f379b17b79a91e8b5f067b78e8173764f582ecdfb2871ff91808348ba07f6c61efa867bca411fae1bc52742eac42b772cc1559bff6ebc24a55d93a06d950157411f48f2b260484128f33d41bd7f3f2b4eaf7b06151927ab3a1af330f541c536ca4679cffddfb384170f1dfa479e814897ba14bf3a180d830c5ce06e948a80ee5e57d93a1141e789d172d82fef109e20dc994e4fdaec807fefbc33fc8a672866566453263c4e08dd7032e55a485d045d03f5eae2756ea1eb9a8b62cf61bd6a37be69b71ba4735cd6759231c603ffa94dce202baf8dffb8f4b81e73ff1ea7d18582d172d2559b9a810c2c38c4aeb972e6427672e97b4bf87a18ba01384978d71d7375388a55b5861c8af60e676af6f8ebf22d2dbb9519e2213b4c52810ba08fa4719c1dea29a8c8dea405fdf86ebbb8fa69aea55501444956fa4bb1f859727a87aa18ba07f6c26d7b0e84cf6f896f4acd27eaddf30896f9e6de55a1f925e6f9ea39522d14fcf7f27c3a78864ba98ec1b5cd2ac58ae125e30bfe2d922b6bb8a14c7cca3599f5ad5e985f82dd022e81febab6e76ef9bc9f430b934ac34615dc101bdb7b4efa618535397e48a614d5aef431741ff38665c37e269e9c1127dc8289161ff5ce3ee833d4e1cb648fee0343cc3815d4e33e822e81f3d891d08db4edfed44bc956b7815d27c5b67b980a035995c7b6b5f333ee944c2481bba05fa47a76096310e6f52854d37e367ec7211156e5a252b77941c2897a5174995245ce5a18ba07f34b872d11d2316a3bdfed1fc34b872adf31c397a59e8d4532403b1221265f42116ba08fa478d40220f56ac2bcc140e39f157ce351fb96ef891317c659ccb7d6a225bb40973fd37a7e20c0113b9dea1a2997aafffeb1d95892c06ea9fb827f4ade225bb05fd86afbfb96075a345d03f7624c9c71320fd934a5e19f535171b47bcbc6848177e7d6b503d2a6a212c28c31aba08fac76bb14b6ecc0eb21dcd06711f3ef844538b1bd6b3d5d314e62ce355e6fdda0d70812e82fe312fb4b2bedf5b788afab432b3a724daed8b49bd7831a6befc9ed019068708fb5d08e822e81f9d4a9e5446a6940c5dd5a34e3ce79a9d192b836bcdedf0bb77198f26a7742fff873582fed1cd672ee3602b0eff95d044ad57e6e3473f0a83294e521312e4958e0fd52cec3f401741ff58c2ee2ae82f4aaa7a2076a5815d6281ec343eb87788cb42356ee3f095a28e53f2df8cc573444928bf7f429ab0dc4bc5db98109132b8eeca9c2a75aa531d1b4d1373561d3a2fd122e81fa5b919bfccf95f8f09343ca80f1049ef219062f0ef4e153bdb909116271bbbd6055d04fde397d15a3adbc686ed3df56ee779fe534667d94226c1f1ede659583d21a7a743b1d045d0253f3e889f71a3d73e928eb2880b3ca2c75b6f79f4d96d7a3d907875e1a2dbcd18eb3d7411f48f9b1ed4d7b4dc592632a490e9e73622f533ac9d7cc66dd78f2939a89acfb35a86a08ba07f34c2a3db59e8af89f75e9cfbc0939e6a1badab72172ebab7103aae4678f7c7f55bd045d03feac3a8958d71fbd46d92871f7df014f20bb5de40f504965d4aa46126ef48b193fe6b0b2f100eb64ece4b8157f41fef11174a6cb1f3cfdb17b2c0386ea9990cd7b3b7b1c3fe9dba82fe31c8b2a2e9a49b18166d0c7c1649ed9389295dd01097f924e9f250f27069e1ff4b176822e81fb53e7e2faf6b35e3850895ddb032c1e2e058a180c577f29409305f28597ed6f90d225d04fde38d95268f59e1b1692961b66541d385fa83017bfac9c5ada64fd189033b99dbf7a18ba07fd4c72cc0206a0bfdfc4bdacb0d29c664ee98becd3aec5e1cb46c9d9c2533722a075d04fd634191c61a2181dac9dc4ad745d7e945fa6af229ed6352ceadba87d17ded17fc2dd045d03f328b6a51cc62e5c61f3cf31723a3138d1d7bab686a93d6e63471736ac41397a0960c2d5e22cac4db6498ee3d7a81336ba3338914fd94b03281fbb9f1efbb64963b093927b9fd6811f48f85d879cb115696d59c220fe9eab2ad59bfb28adab18655a7ca188bf5f5b3447c852e82fe2c2ae7db134da6ebafdbaf3ff4abd3c1c013bad7da7dc19c379b436737218a822ae1421741ff986a93a9c41492c1783d4e4021a2cb7d5bf66b6ab929b9f7775f3ae8c2115f053ee822e81f674870dc2c9f9e6d98100ef64488b2193093a599ef0d08751e31f145c670353c822e82fef18503feb05124fd57aa091823b954d34b1324e17b09bcf94b91d33152391b1775e8e27ff3af6baa82399cdf0c6b56b2222f0b6f70f21a9060f41fbab45e4a07591ed71dcafd7b05e10fa2fb651d5e766e2625d6ca84929efd73f1f81b66568f2295682d2bde1cabf1cee1a145d03f3ed008e05fc2abdbda2fb92aa252cd65e4e2ccd0f4b6fff929a2e5b4af9a576a00ba0cfac7ad2f6fd879363c580865feb2fcc5ba2f6a32584b50f9255a26df61e6fb277256cd317411f48f705dc474c393237ea602e6f3e961d4bb1961078ef79a9f20b87c7c1cc2be7628401741ff38405bd248c6db7656fdeb647ed12794b975ac3de78d3a8dfaba24619329b34c327411f48f8f4c783b95cf6126c2d6a8128ad236f39a3c43afa359cf6e72c17d0acad997e4d045d03f1e3096de5e9cb05346e11d1b27ee2a0cc613bd67408af9b0e1df72c86f4eaff8c08316af10ae2116ef6f34635ddd7ffd3a15d78fdf0951dbd93cff3bac9abc6c55e8a14c67195a04fd63105af48464e0e98232bf50572aa61f7d6c52596ee567ef84694585bdfbbe17aa3f45d03fc63cabf4af7bb848c0408a87747d6645c83e7a8974c594ed9cfac1df1c7f03c6731bba08fa47bff53bf1d6e91b97069beb344728bb93ccfad07e759b0ccc6d55946600bbb41f7411f48f2f3a4b62c61896b09c063aecedb05ba3d6ce34f4f23a581e30f0cd72de3915d5862e82fe313ccfe119cc8624aa9a518722f73e45a9a6abc89744f6f77a61aaeba7040e37a08b4ea07fdc3d1c68d61a4525671b2990a3447157afa9f6f677874bba942eb49a05d1089cfefbc5fe1741e3dea007bb9a79ee51520dab28ceb63422ee955a0ee27df129f3c31b810b6c5cb408fa0c5bb38b1595b29fca160f6534db0ef1a5dfc729b927197b5c6ec1efdd3e542a3c862e82fed126790c37c4a458ef4137b74f2ede0ca9c09fae911a864e9bc43504023e1f253c0ee822e81f93b9a88e5802e0eecc0a642ea6c4eb3b08fc843a960dc51e54b19a1457c38330e822e81f19a442e80eefa998282ffd80852cb2af8c32572f4af1cf3b91e8ecf37ca99732832e82fe31b2a3f980eccc74c38cebf8650a7d5bb5a8ffb8c2fa07959cde9244bed26c9344e822e81f993cf678032a2ea52c1dae2c65879a13ca7fa42c4bc8636053861fe6ce5b4fbe270ac430787c0d11242877bd32bfa23544e2790ebd6190902582e88f79c259eb71864f58bcccfb6a1f08fa477bfa6c361547771398b3f72d0c3df9768cd5755293ee5ee794d2ad913b1ff43e401741ff981138fc5ba226c8fec4f3fb616ec0eff2c6cdccb587caac19224b0ccc1e4815f13de822e81f033cbb0fc4532e0aa97626929e473cf18eaa065ed91a707159cfe3fe4b73eda01dba08fa477be28f7eb601996d8a0afa9ea33bec31a3e495d27c0fe81f75e8de1d1f7078df015d04fde3af2fa35ea99bd29f2b977b35fcb5df54ef18476aed8628da14c271e9bad6afad411741ffd89ebcc106a250ad35eaf39061d421d1e9cb26e9e1c9b5bd52b972eb6252eabed97f9f3500228cd3c31853a60e3e489d341246ce8a4f4036fdf9f73e1fa2247541fc4563337ab7e704fa4796ec07e42a9b97b8249f1c8c9a69c9faa55ff936de47622b3b11ba4c7bfbb321a18ba07f44be1d36785dbe6441a4b5f938e7cf2952b1f2645b24f7b6d063ba82556cf17ca7ff618da07f2cc6e897aedbddc289ae7ff50213463555cb6e50112a5ac6b55fc82fc36124c70b5d04fd239ccdc664a196d8ccfef41493c2d12627329a95fd3e72da9f994a4b6c22b00462e822e81ff177ce4b9b323edd758ca4a39baa84473fa2ee6a0f944b67f71477623eb07535872e82fe515e10a23d9bb58921613bfef9a334b1c8edb825c52f2f7133fccce65d952a2bf405332226429af539e6d980cbbee869fe9f4ea9c70e0afeb559cdc6f6eaa299e30113713a976811f48f94437cdb3c72789edc13dcec3e341bd8b5e284180838a57511447b82873f6e0d7411f48f34e19f1a97c34b0efec0260f6d83bea5e99512fa238d5d3e0d46c6adbc3016add8842e82feb11bf77b26d6b8a0ec6d8edb892a9b25277a09bd703a477fb5d999daf426738c5ee822e81fedb36224d859ad9576da2a8cf0de8dbfa0dab099523b4732f4530be087abf5ba401741ff8843b2ec0ca711bf78e0a76217f6c8265103a6ce8191314e41a441c66459963b085d04fde3d0346520deb195b8997b7f7ed62491df42d368a76406dbab5a2fc3a921aeda99592b8885a0f07835c5f25e7439c325fff5dcd0fd6f70f77917bd93e7bfc714e92c3342ae18d022e81f9f6953ccef1e52e729d729c43a1dfa48bc598ecadc3b7fd314d89384f136edfc08ba08fa47ce855cca7b84117b5ccbb51f6cd65b8e456c432d92193a84d891a6dea18eed4aa5d045d03fa6ea7ffb8129e81460343cd8688110fa74358563de489fff7e54b88bd960111b177411f48f6e83e436f3627c8f8c129ecc259c4e0418f56fb7c5ad946736566cdcba95523a0a5d04fd63b885dba0377ed6f73f753295b467cf8c329cd8eb7565749f656a5b3de6318679401741ff3f18b32fc132222a87b5d9e286dd1832baaf4f7247d25aa9aa6304f38cc6c40538195ac4463493f4a889be9d7937e8324bccd1e93adcf139cb33a7a366d6db9a096020e731375a04fd631c65870df513bf5127d9431b3e9ec9c69f5c7012974f0411aa199a9339173176d045d03f0ad3f3a871296b53ce8a1f2f6c4ef2e4d2aa15f3d69a6c1edd0dc326f0889c08e5842e82fe91872427a98d3e630fd140d8861cc6447db795beb6109b3a75894167c3ec97192f7411f48f15f1b5a7d53419033a9f02ab524534ef8aab19586da79018a71d5fcfb967f4e2267451f6bff3703719c29193828bb3bf07dda6098363e6824893c1ca4bc2388657bba3346bd045d02c3f36fd357931419bfd8525f13e830707db1565c6873b1d6d42fda8ed5fcd821fb03f68f13ac2b26587d8cf6b5830cda759c2f89030d326b384fbe1a9e29b8238dcdd6b9586556811f48f3c1a2e6e7b7442125aa471c21eaf0b79e7b955c886050579e33ca22987ecc42ea08ba07f3c0c8571c3b37d982706491decbb4d1c4d3c19d9602da5851dbfce64fbf198bdeda08ba07f94bc5bac97d318a4dcfa22723db7b5feeab8c32d27eb3e0f11bccef6b70404df1e401741ff48a7f7d6f3a9c536aac49bbfc69badd23758f6daf91f49e7b2be31aec011c17b36065d04fde36b21c7e4efdcbd06b4ab6a66d36a7d9dfcade81a0c55d63f69ba0f2cf912d26d42251741fff8d0c38f6084e395cf69cf7c64979c7410efcefa8b096954389e94ee3e953c9c1d2de22044459d891b64684539e1bb6f05be8b4f86bb96b0d9993d3e02fdb3e2af6d60e82a5a04fda38db14c9b7209bea00b2a4a7a489cb9b9508324178c9a2fd019c375248a83bf0bba08fa4761a9c0f434e66c5f18a16b401201572ea9c577bd35644478bf4b9e9b5979890f1e7411f48fbdd3edc971895fbd649f169a623c37b9e665385b6d352f277f13638922ae5b2705ba08fac71f3b61d7ce27ba644e35a8e799761a655e8ffe707b9b3fd785b3f5f74fb295d033e822e81f2d199d436d1873de977a970e0f29b6dd3f2492b754b45260c1f71fb0ceae2e7722822e82fef1689afd50b86d0233f7c05c41ca0f27c077c5d3846970474a414a06b85fc8dc0d2de222d8d20b3efc3ce4e8f3b1fb1de84f8fcbfe1a6ea8c5b75d26ca309aa033ed34b0448ba07f1ce5bbf7356b55763245c83f8fdf30beae60f338022c2ddd6bdabe3eb4ca076302ba08fa47fd54d39bc26facd215734e46621332345e988c96446be9a1c68c04fa8cf613a30ca08ba07fcc9281b97ba949e9533e64b1bf33c8f6fa841cc65be3f698c4c35ac6a49e9285411741ffe8973e2ee93712a61557ce391bceb795b05fef1b3f7211316b47c59376073eca0e5d04fde31e71cc3cd69b893b711bbd3eb0621fceaa9de0a7563e8dfba3aabeb8d756703f1b411741ffe8fd2627fc09e99fb36b1e04bd2efa56ded88c4d1ab7fbe8226a2400bf0d3f4ccf458b78080a81fb075a8b3eaf92ba192cb9f77eced47dd4f21ad629c86a155b086ff35d18408ba07f54dd7f158d33d9b81b817fa84a9795942ea9037cfcfdb6267279ba53e7ef4ca00f7411f48f9c4a85b282136b7aa9c7253f31124f90d3240e986dbdcac849e7654d69aee7b7daa08ba07fec124e9ec97f4cf33fc33df0a2e95d3b577ad2edd33f19753c2d99ca8b26742293d045d03fc222cc3e3bad49ed9babd3b4c20dfbe285970b133ea808937e151fdb94ecd636862e8231713f6f20ca6b1f9b274e9be0456bfe04ac2ab5b2258dfacd5cd8a238aafcd9114d32e822e81f27500f6d13b4d9cec32b7e7608cb637e37e153d2613765fb95348ada8f4a836ba3457c04698c9100ad54a918a2037f70a783b74a2eb7a2d0303bb09b30efad837a1ae913b408fa47d716f89ee8a9c48fd16718bbf99aa9664e128f7d873893bc4b4f8ae37b5e8464431741ff28b9fb35fae23b4dfbf7e715e6269aae54b14d54ab7ed56a8666096f8fb5b92f137da18ba07fe41bf591f7c6e228e8d976f24877e0c34496e83e5243196bc7908565b086e08d411741ff88f4cf203d935bb434f340fa4b66ed1b8a9ff25a57e6986c980e575382b237a7fca08b2b7f7475b21681c73de2527c47b1c41b2ce069313147cff26a2555c292ba83e838a9af247411f48fca301a96754d822cde6a798302e1ad29cdd31fed514f0cd70db3aeeba960c8cda34502446ca77055f4467d51fefd76fefc189e228333fd2b24d1c480204237fbd4d0bd72b408fac733dbd8a22f9644336dea9cdd8d6bddb208f7ad72f12f4f705d46c352038a9b4ea08ba07f449a9c6c442852ce8b55f05f2436dbf1bf17a094d0a76a4e4261371534d950a6af421741ff784b5e6ea0fa603b8b562bed444bdda5f5124540986de43476bad3cdc5a6c8ef19d045d03fcae0044f8d63c47b0c90fec169743cc34b956c753bfb4be6e8fc82199638d5c1035d0cfd23c3f89568fad8fb0c89d01c7331268fb88f27307e3b921aa7ef11e2b13f00faa7a3a08b31dfff2f0000ffffc4358329010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
简体中文English繁體中文DeutschEspañolFrançaisPortuguésPусскийTiếng ViệtTürkçe한국어日本語

OKLink est un explorateur de blocs multichaîne et une plateforme de données Web3. Explorateur de blockchain Ethereum.

Explorateur
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
Plus sur OKLink
À propos de nousConditions d’utilisationPolitique de confidentialité
Nous contacter
Liens partenaire
Site Web OKX :OKX.com
OKX Web3 :web3.okx.com
OKX Wallet :OKX WalletPortefeuille BTCPortefeuille ETHPortefeuille SOL
Prix OKX :Cours BitcoinCours EthereumCours CardanoCours SolanaCours XRP
Calculateur OKX :BTC vers USDETH vers USDUSDT vers USDSOL vers USDXRP vers USD
Trade OKX :BTC USDCETH USDCBTC USDTETH USDTPOL USDTLTC USDTSOL USDTXRP USDT