0xac79404200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f68e173bd44f2292b08483566403bd7a4b0602330000000000000000000000006c29684575a73e03496b1fbbe60a9fd04f1448db000000000000000000000000a64bd042afe790deefbac8fce9def9ccb7ddbc7c0000000000000000000000003ec75b51c73bfb08bf41a9c55002ed72f3ea8f53000000000000000000000000dddd4ea7d409ce4090d863fbbb17e008e033e4a3000000000000000000000000d0c845d01479dbb3923f28e0bff76c414d00c4b800000000000000000000000018d41af8f1a43fa60b1711b7a3878657dd0e4aa30000000000000000000000003420a9e15bec5a10e6f5eff4b6a6badec4a40f01000000000000000000000000322dd79ee6635c81829b96288c402dd8a66bc8b800000000000000000000000033065c52b3e1f0c13b4e7d8c854e1ca3d6b28b6800000000000000000000000048562e7af1d51bd6cd0e1b6258c1e03a39403a540000000000000000000000008071740fa9c393ebd303b6f7a6ba6f007c87de2a000000000000000000000000e4381811e557c80d955b69d3908c35a4588d05750000000000000000000000002ea740be304ba6ab5ab379e76e6366e05566235600000000000000000000000001a1470bfc6951266510da491f58213b756927f40000000000000000000000009faf26de8f23c9b1cb4219462aebfd9a70e186120000000000000000000000009a5826862c5905bfebbed32c3394cc742985f58f00000000000000000000000074769e7892cd717dab41d0d615ed15470dc84b4c000000000000000000000000d04a225a492159cd8f282e928714ab049f3ed15b0000000000000000000000007c2ec0a2f8d5f13fb1a66aff29b023a213d6a50f0000000000000000000000001d396ec4d28fb324d8cc3d67addba064bd4642720000000000000000000000001fe948ef0e2c4459235b4cd2180b4bdfd2932ab2000000000000000000000000d4a3795eeac94b8b29e6679343a26ab209dfc050000000000000000000000000f6cd7c647460d553a27011ccc2e7d573a095f918000000000000000000000000513446db2fb5c1bde91c55dfd915f961f797684b000000000000000000000000c5b8cfc2537ca6294cbf435a225ddbc82c9b28de0000000000000000000000004f07309867250e32709b4f71540de422c4228e3800000000000000000000000011e29e5d5fcbd685e04215e681fc544289ad567100000000000000000000000027cd85e07c425a52754612685bdcf358b175b8d2000000000000000000000000585ea6354b5b63da9a419907381317429a680bb60000000000000000000000001f92ea2e909c87bf41c87943ecaf85e6f9ca2c240000000000000000000000001bb5929572e505c02b8b886b328ae27d6556ab21000000000000000000000000c41d0731a9505fbf392145c1da29cc980af8378f0000000000000000000000008e81383d40927d8208850c2c5356adf3224c704600000000000000000000000048447d95298eb6e2bb112bf9cc7664c0ef898c24000000000000000000000000270030ef5cfc7713d15de12fda29da921e57194b00000000000000000000000089f032fdb84f43712c79794e2122742227f54b780000000000000000000000008e42ca487c80bd424454e9608c37818a80916bb2000000000000000000000000f4661ffdc15d601efc97e3c6332b663664c62901000000000000000000000000ad09743804ecb7fc0370417dced83b5cacc204f7000000000000000000000000e7e9775b1d85ee5daff6dcd6fafa94ba7a4520630000000000000000000000001388c4f7e8ae1220eccc5e7dfd339fa248ec25660000000000000000000000000a5470e63b6e0028f661c9cc6921b8c54c1dbd2e000000000000000000000000082a24087d8a5b2b0a30a40f9bd75150fbf2e8ea000000000000000000000000b608339c9d6f2b9d9ba0b000507df22e631b5ff3000000000000000000000000a4937dab95e86154478e7fa53234f63e37532791000000000000000000000000ca0c4dfd4e07c2313d542e1c46dc454679046e3a000000000000000000000000e329a14c1344624ec0bd3d060004fc51eeb6750b0000000000000000000000000c9097ab89fe181191a632f369b43256f1d89bda00000000000000000000000023cadba71e3b062bd4baa75759ae320115e9c162000000000000000000000000e01f5054110ed2c95fed759ee55213527e6aabf800000000000000000000000024731f655a3e703f116bbb01daac2d8ee21965ce0000000000000000000000003942de77dadfaa7b1996238664044cb83ec71d4a0000000000000000000000005867857f3f4cfe7dbbe7f415da8299a01138fc150000000000000000000000000c53ea5c592d54c88a7669af1794d886bd69d8b60000000000000000000000000dfbd7384e164bc17c927286f93bdf561564633c0000000000000000000000001df0ed3de56e59e93964cb8d2a3803f90d02b7b8000000000000000000000000be0279615dd1843d3f40af006c22c6fb1b632cc1000000000000000000000000fd83b57be71d83dfd0aed84f1af72a4588fa0108000000000000000000000000c768f67a31ccfe606c2c661f20b0577ab2a76d15000000000000000000000000545b7a0fff6addd40ec25071d121f88c0a4caad4000000000000000000000000fe50d15085ae21b9915a9cc31c2fc8e9fcd2c6a600000000000000000000000063bc23b43847434091725193f06dfa2ade142ef1000000000000000000000000cc73a30562e2fea51944c0d003187e49061b37d400000000000000000000000075d65e783c88e6347033103360394bdfa65606ff0000000000000000000000000319a9c4ed8bbf70d79e8b9b01c64fe828825d8e000000000000000000000000f6567a5b17627a1cba24937032fc245b2df9ef8700000000000000000000000094dad314ec2055e372de979d80414a0eff972adc00000000000000000000000094f5313f5fdca002a8b00b271ea2b0a2712d4b6800000000000000000000000066f6a88dd4d9600956e7d0887ba073572b077fb3000000000000000000000000b3daaf4e83432473d0fdad1563c14e64a62324c8000000000000000000000000c972ecb307820b8195977a9e5f040286b0cb1831000000000000000000000000c2a529c80b144f3e89867849bc89f4097840aff2000000000000000000000000852cfde4cbf983e4ca505e3c265e3e5d87909915000000000000000000000000267a974e69f4c0a95ec548bd5c72596944491d4c0000000000000000000000003741d7cccf8d089ebd12b2280dda56e254a7535300000000000000000000000083417eb83df4ea269c852b87af4c40535d76c067000000000000000000000000d9fee7abcd24d22515ed567c8d2d1028a545a5c90000000000000000000000000f88dc848058c8d51472e422db0ae56ba85fd41900000000000000000000000048ef508b7bd8a72e2c3957b0426d28f60eaf935b000000000000000000000000f166bb40065d0b2b80216b157f16ac62f18fb78a0000000000000000000000002f722ff0a6f5d7b6a41154bc8874c3db999222e1000000000000000000000000e10b83c3f22a97553bcfdf412b31b587566942810000000000000000000000008ab4d787d966aa4416fcf02cffac8b4af62a76c3000000000000000000000000e1b29c927a0f5b13fbeb571ed954fc4763575ffc000000000000000000000000dbfb8bc9316a9a06570ff5e20febe51dd5953a59000000000000000000000000993a2bae5e18cf5d9a58ed49b615d8a3624ec87100000000000000000000000007d6a94551f5e9de7e004ca30a0f63efbd1104ac000000000000000000000000f3be39c08dd25f3fcf75744dabd1f428ccef4a83000000000000000000000000374e0c5fd8d7ebee4dadcbfdfc45c201dbfa977e000000000000000000000000e27076e2fb46cc716dc1387fa5e4ba4c437f7496000000000000000000000000c2955417039ce28d7faa380400d9c1e09a0ea4cd000000000000000000000000651274f830b02a7949b292dfb5b9d1118ae3fbcc00000000000000000000000018ebda10d3eb3271b04171267729a000eeb7582d000000000000000000000000fa96c9cb646653442f3785588bb4eda5d6d2b18f000000000000000000000000ed0c7cbb371b92cad31a3676ea6862f80f619942000000000000000000000000cc4f8cee0c7e5b3928149b7d7aec32a307e0d91b000000000000000000000000f4b938f7a695a6999fa7bf9f43225c5e229a3c2f00000000000000000000000026efe188cedc4da957e07c37cd650f57b0cfa8090000000000000000000000006513b875737e88bd592add25036ba096d60173f3000000000000000000000000ed501deb73385cd8a714a02599fbc0741fc3aa7600000000000000000000000065db7a6fbcd59733a4b332a5c4be0d09baa5417400000000000000000000000065e1e54cc32e1a6cfc158e102b6201b8410660b000000000000000000000000088a42edde229d89f5345ee2aaeada509b9682db50000000000000000000000006ce404e022409639aa2e644501d381dbdc6cb04700000000000000000000000034b470cc1706c6e68d6de9608bbfc9f792082e4b000000000000000000000000e01ff969b802434471ea8a75b2f3441da0535180000000000000000000000000be6182b1ddd3450311ee368e325506a142a563a0000000000000000000000000a35134a6d11e949e73d85aa6009d249ac749bf81000000000000000000000000a63e2c86d2719779a8c181b8c58d2d8bf272cd6c00000000000000000000000061c2e46e4da94110a58fbf98fa0085835f2aa79a00000000000000000000000058cc70184d84f10f03a4f456de615e5fee447ab5000000000000000000000000d25cf0c9c69267b0000b1261136cc0db7982421200000000000000000000000049aeee7daa6ecd4c7f5fe8649bec44a25a6d369e0000000000000000000000007a6eadb2404d0398a12eba4113b7645aafbae5e40000000000000000000000005fdef5072c051f9e69083e05ae3f4116fc7b8ec10000000000000000000000003d7301db7125e5a3fcd18a32701e8a8929627aeb000000000000000000000000a428b932e5ad6c7097de6cc04f83bdd2b2fe3c34000000000000000000000000628732c0e2ba2d37b27ed135488e84b6ae111483000000000000000000000000e9ebe3ad7930fd431bc91e49078d9b5bace8982c0000000000000000000000003afa664a36ba4ad833bc35e60bd2f7c4f607e4960000000000000000000000003f5da25279c41e442eb6622d9810e98ad490ad870000000000000000000000000dd9d82e4a4568581ff5a4d4f3af3f56c8eb75d0000000000000000000000000534955b1d47a70edee4e45f8832e7b7cba3a5c0800000000000000000000000011c1735e3508a025830a3227502403eec5cdeadd0000000000000000000000008a955162e41a856c28c23bebf2435e4b3149005c00000000000000000000000053638c28aa32bb69bff9920a4bdb6cd0f1ac5799000000000000000000000000a9f06949210fcfc11ad890ef49c0668be072f2a10000000000000000000000000fdd4908ead546dcf4070789aacbf0e62d366021000000000000000000000000df86a7851b4c5fbd1700a858d418b9b46eb5d07300000000000000000000000002cd860a1d22bae2c2f6e287aa09ebf0dd1b1f640000000000000000000000007a7ed106710fae25b8f1606bf79d241145a056640000000000000000000000007a614a2f665d7700b052ed39911b341e71ba75ae0000000000000000000000007531cc6167cb6690e17c7181a2cd962493728ddf000000000000000000000000d8d4db64a06b7b09283fa6c0c531f297fa35dc72000000000000000000000000cad268dbc995a9a4a8157b643df6480c8f57f81300000000000000000000000054e3719005db731682896adb46e9bdd90a4c740c0000000000000000000000004a0de6b1ca87e29886b579a03c5216aeb679da4c000000000000000000000000d86881f1834502344c4061754c03ccdac3a0783a0000000000000000000000008da59e22fbc37ac177cdf303b9391ed43c42519d0000000000000000000000003d715b9931c33aa0cb3bc9bb218d95760f6b6f8100000000000000000000000055b686f32a54a68e35f9bad836a04b70f65abaac00000000000000000000000058026919b616e98d3676235562b3cb4f99749cb3000000000000000000000000407367251d5f8d469207a874795f8bf94787acdb0000000000000000000000001d24e52aace2477b506fb9a62bc6861c2a791bb60000000000000000000000009d8f9a730b95ff789358e1d65eb87a3cd84527250000000000000000000000002c1cb0c25536a60d4e27aa0322366dac46ff2bae000000000000000000000000554fa5353cb1337059ad60c7f6ee63b3b3ddb400000000000000000000000000be6f4dd7e45b282c14a8992b1936d75dd7848aec000000000000000000000000a9deb0a665f450f17d0c9c68d402b31f63b6cb18000000000000000000000000061501a66ed58880070d7ed421f7351a91018061000000000000000000000000bf95a345de7e63962146e3c7d637d31d47fdc56a0000000000000000000000004f66f082d15b20fbe25f51d1999b38487f7603c4000000000000000000000000460c1512b74780b9aebbc9318f11060fe4c1f38c000000000000000000000000d1a7f4dc7d9f090e652e7a4905563326050c4c9f0000000000000000000000005c3277edefaae86c51c4f1d798c9cc3ef3dbd0f300000000000000000000000036e2eea042a99ed0fdd9fca89a64320c59099de900000000000000000000000066b3f8e5112acd970371cba84bc13262d274403b000000000000000000000000de37204d30117072b9f267dc9783b3412de788be000000000000000000000000ef6a4123ffe8db93d935bf989b7dce8f985d600800000000000000000000000020a80c317e13b38eef388415e6ddb1ac66ec6c720000000000000000000000003d97f93f9896eafa8e34901558fce20dec5cb9150000000000000000000000002089cebc92514d61f2969d99bde9b2667631fa540000000000000000000000005064da6b97870cf1985ea4b08b837b338a781a2100000000000000000000000002ecc7a2ec64e8b65df62d14c1fe529ae4c50b4600000000000000000000000038dafa313adeff00d0a46aa50db5487c019140a3000000000000000000000000aed2de9c67a1e758706170ab1a62c801e2f7583b000000000000000000000000ddc7fc2a4567daea749155bbb9ee4d48adbe0cff0000000000000000000000006b61070fe8b4ffad424632a662477c4f882ea4710000000000000000000000003b7dba94bb8c2af2130839b8f699ff2697e3dd6c000000000000000000000000d2bd3ec8247e46bc0d1c654f7d1b18eea84a19e4000000000000000000000000e4963e46edd2d5a43f07ffafed41b94834f0848a00000000000000000000000052f4d52e10c8105c242110f08a1713c2061833d00000000000000000000000008377ed48413ce0bc7c3dbed7448d540b6643b9d6000000000000000000000000640aeefa2e03d20dcaa5c5c542f45c9e19893afa000000000000000000000000349890cc2c1fae20255a0c5dbe5bcdd9b99f44dc000000000000000000000000cd34d8286e877c7edf2b95671258aad2de59e5650000000000000000000000001c696c4c2c4b4fc9b967619f3f3a0e112d360b3d000000000000000000000000ac8c597eab6708eead3be2269c7d5b5ad59155240000000000000000000000002776959583c1034be7250118daf6535328f1c13d0000000000000000000000009822e4e94a3b2d59e9d8b8b59088f4e975b0fc2100000000000000000000000083b23e4559161003704d0b7a5ecf242c9255e4910000000000000000000000008ca449d887363390d0958fb8df2a2eccb298e7d3000000000000000000000000302477822d35cbec32ad23d3d176e6b66b7205f2000000000000000000000000d49ec6d14e029f8d04cda0fe193d6de2776bd83300000000000000000000000083edfc33a51f87af954e1b68ca2065ba2ce9bc2a000000000000000000000000c400266337c75e1deebee6e61441fd1536e5fed100000000000000000000000046e9f617d6fa492950f71ecf8c42a7f18af428f10000000000000000000000000ec527559e564d86835184496523856e8780d625000000000000000000000000f85726be6f2edaed69db0c20e26c0d5df2ddc30e000000000000000000000000dca3bd3c6a90cb64a3f6c8c5bf17919b96a255680000000000000000000000007ef3e08a08836b22d1e8a0ed17080a257e30f82a0000000000000000000000004c40078d2b8adb693dce6728ad921cfbcf9baabb000000000000000000000000e1e7707f78290b02213608be43385a686ca3f4c10000000000000000000000002176883f9401c6211b542b91d587a81a751cd8bf000000000000000000000000f7a8a292e96b160d6c070b620b3f401809deb0630000000000000000000000006dc17e2a3211dae0b982d6ad3819ea09e238ada7000000000000000000000000e30c143f8f6fc065cee46d4c175c341863e28232000000000000000000000000bcf0d213640d49e6ae0d370d900c374154ef004d000000000000000000000000f90e786f6ecb21d90e304110675fd805c7f2538f0000000000000000000000004da154e669cea6ed7e3ed9aee6e0b59fcd4e99a0000000000000000000000000399b793d6a8e8c17202ede543d5639ee93652d91000000000000000000000000f76b27dc55139fa078ab64ed3de711d3d307d6bb00000000000000000000000019d264094f9b55ff6ea1b05a39d80e0ed125464b0000000000000000000000001c07826f962a9a9de5e2555e70b58784662f45170000000000000000000000007e6309ccbbbe50d36dacdd250becad8db295d7a8000000000000000000000000678b8f2e8dda9690d3cf63f89d79b9127b65a4ad000000000000000000000000a9d89e8f1115e0efbe119ba84c0754b55d807810000000000000000000000000ce093746d7b4d9f925921390a2a8c2d408f61bb0000000000000000000000000e8315a0e6ef4135fc7bf4d0d73b837aaa058fe9f0000000000000000000000002b81a16d4a6c6f35bff9ec37f166729aba1e415900000000000000000000000064fc523146669804a183fb3c1a01e1cfcbf82ec00000000000000000000000006d2681d67ef900688de47e011d5f616b5fc7ca090000000000000000000000005e85671699410ad786c9122451a00085d3f33ed0000000000000000000000000241efde75f82333600ebb90dfd39f32cbac0ad000000000000000000000000007a7af5829b78662512708ad8ddd6577fd6e87d5300000000000000000000000029197fd155eca6bdbc89222a373d3887e9bac7c3000000000000000000000000530175a7f249711dfa4c481b397677d1364f0d7b0000000000000000000000008946c009fb73a534262674f392bcb86c3c4bf63300000000000000000000000020de3d92a1b78e185cf3fb28bf0ce97db9c75f01000000000000000000000000572a3d2de54c183ba53506de214185a4f92e593200000000000000000000000058362de0a5810c423dd3137715b26555d6e2caea000000000000000000000000f22242bd28a6fb13cd05fdcc5816cf0763e1710d0000000000000000000000002f3751ddffb004e796e3fc30bdc81bb11c996a4f0000000000000000000000008983d99473e69ad3c4bb5d45c24443bf7ad00d39000000000000000000000000d396d4414c6cf83e3085db0cb80a215516d9ae7f00000000000000000000000062ae7f3dd6d365a37ebc0e8f66a2984204d224450000000000000000000000003c9080d2e4b390af248dfa9cc50b6ef1d59cc466000000000000000000000000cffaa6f5e1417b76ac08f76bc35f27cf3ee1afa900000000000000000000000088657d06c2fc4fae74275d6ec3986115674cee1b00000000000000000000000053f719f573b85842ea384b145bcaadbd59a4b01c00000000000000000000000067e73ff061eda87df73d157099e7f87d922c35d30000000000000000000000006608718a2da735b2345e682567b965c4e99066e6000000000000000000000000f6ec4a9db685f8bc0cb9d7aefa74c071902d646b00000000000000000000000097ddaffed6df0b1d6f1475c545ecf39210a3d27900000000000000000000000097a13bf026d5c40e3ac539e2e02670e734370240000000000000000000000000c01b62118afa3028a2785c72ee6be2f5aa3e2f0c000000000000000000000000adec8b50c9cabfaf5bb2679272ccecb3b280f3920000000000000000000000005c840905bb2b3099d75ae23a3358cd4413f3b27d000000000000000000000000280ce33dc00a122f54e19afb693baed8f5a6891e000000000000000000000000637c26153cf96690739255300bbeb41879ab367e000000000000000000000000708f42b81217ff416e8971d0dd775fb6748adfed000000000000000000000000824dc68698e9a14e0015a5dc7043f2cf823ca23d000000000000000000000000fd3200b636029e552276e1b0e104c889383408ae000000000000000000000000c78d34cb99fa6e1414396df514a2b2e9d7efdcac0000000000000000000000007e891a1bdc6f97dbc85fa5678387071d64e7205800000000000000000000000061923a422445406a7b8e3daa01f1f1995186ac8400000000000000000000000093d70dd2df0192d2c3a6a43791f81d5cc640230f00000000000000000000000095661c17ce801ebd604d3bf3741ff65f19a83a62000000000000000000000000be28f14d4ae9ded22730b4f5c8cb46fa50ea7ce100000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d