From b21ecce6645fc17c520b722de3d96e550c77c490 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Thu, 13 Mar 2025 21:30:13 -0400 Subject: Update --- assets/avatars/aerze_the_witch.png | Bin 0 -> 9696 bytes assets/avatars/asiekierka.png | Bin 0 -> 10327 bytes assets/avatars/astatinchan.png | Bin 4095 -> 0 bytes assets/avatars/avocado_violet.png | Bin 0 -> 7255 bytes assets/avatars/dumbmoths.png | Bin 0 -> 7755 bytes assets/avatars/echostatic85.png | Bin 0 -> 7211 bytes assets/avatars/lucaval.png | Bin 0 -> 7296 bytes assets/avatars/nyxkrage.png | Bin 0 -> 9902 bytes assets/avatars/pixelsorted.png | Bin 0 -> 7158 bytes assets/avatars/roboman01851.png | Bin 0 -> 8728 bytes assets/avatars/thatguydoru.png | Bin 0 -> 1081 bytes assets/avatars/tomaterr.png | Bin 0 -> 6221 bytes assets/bannerads/brightermalphon_littleguy.png | Bin 0 -> 15810 bytes assets/bannerads/caram3lnuke_valentines.png | Bin 0 -> 24145 bytes assets/bible.txt | 4 +- assets/emotes/1366365 | Bin 0 -> 1468 bytes assets/emotes/1413942 | Bin 0 -> 2253 bytes assets/emotes/160017 | Bin 0 -> 1978 bytes assets/emotes/1663601 | Bin 0 -> 2060 bytes assets/emotes/1917460 | Bin 0 -> 2282 bytes assets/emotes/301108045 | Bin 0 -> 752 bytes assets/emotes/301108047 | Bin 0 -> 733 bytes assets/emotes/301513871 | Bin 0 -> 2109 bytes assets/emotes/301776931 | Bin 0 -> 2048 bytes assets/emotes/304398413 | Bin 0 -> 2706 bytes assets/emotes/304412430 | Bin 0 -> 2397 bytes assets/emotes/305795441 | Bin 0 -> 1098 bytes assets/emotes/306287110 | Bin 0 -> 2670 bytes assets/emotes/308075336 | Bin 0 -> 2114 bytes assets/emotes/497 | Bin 0 -> 1729 bytes assets/emotes/53853 | Bin 0 -> 3971 bytes assets/emotes/982801 | Bin 0 -> 2438 bytes .../emotesv2_02c94a55b8ee428cb8faad8423d4f00c | Bin 0 -> 12777 bytes .../emotesv2_04f1e46b95cb40469050dd6135a154e6 | Bin 0 -> 2274 bytes .../emotesv2_056a37d9e9ce420299fa3ac93cc74fa9 | Bin 0 -> 5738 bytes .../emotesv2_05a11e9d3f4c4a8892d3955432759837 | Bin 0 -> 2315 bytes .../emotesv2_05f9e92de4bb4214beb91eb6f6e065a1 | Bin 0 -> 21457 bytes .../emotesv2_06588d67a8f14e76b01440bf324ba953 | Bin 0 -> 24024 bytes .../emotesv2_06769c18dfc6494fbf1f431d965b1bb1 | Bin 0 -> 46854 bytes .../emotesv2_07c3a88feb4b45c684fe2fd3cab11d4b | Bin 0 -> 3536 bytes .../emotesv2_09a1f733f2df442fa1dcf64ca8f44adb | Bin 0 -> 1977 bytes .../emotesv2_09d5f43dfc7f40028d17b64031cc9757 | Bin 0 -> 18222 bytes .../emotesv2_0a004eea287b4bec9d9d95091cb6d2ff | Bin 0 -> 1952 bytes .../emotesv2_0a21e6ea261043a0ae7ada4af35bba06 | Bin 0 -> 634 bytes .../emotesv2_0b1cda138e3440e58b1ec172bdd07d18 | Bin 0 -> 2397 bytes .../emotesv2_0bb01f6c7d114d1990f1a1481bdc8ff8 | Bin 0 -> 2111 bytes .../emotesv2_0be9f24d89c44ba6a2cbc1e14f1eb81a | Bin 0 -> 14912 bytes .../emotesv2_0bfe99e304cf4c358bdcca21300ced00 | Bin 0 -> 2383 bytes .../emotesv2_0e2527e85f384e5b8965966d78bfc639 | Bin 0 -> 2030 bytes .../emotesv2_0e43f1e424a54c298b93a0a47f0229ca | Bin 0 -> 33962 bytes .../emotesv2_0ea37aa33b814cf68dc6eb528babd84a | Bin 0 -> 5204 bytes .../emotesv2_0eed51700de64a579fd6f30503fcb937 | Bin 0 -> 2380 bytes .../emotesv2_0fc07867549f46e9957c0b814250e289 | Bin 0 -> 39366 bytes .../emotesv2_1165b5e525194714a448219372d29ae9 | Bin 0 -> 8309 bytes .../emotesv2_1263ae56fe744944ae4a09c48f697148 | Bin 0 -> 2660 bytes .../emotesv2_1273dbdff0d74bf98e3949cb6e7e0279 | Bin 0 -> 8088 bytes .../emotesv2_1369f555db424e66aa2086d1631f5f4a | Bin 0 -> 2444 bytes .../emotesv2_13f68d6342e24c67881429ed4a98d11d | Bin 0 -> 2110 bytes .../emotesv2_14c9e475335e47799f851b5108fa325d | Bin 0 -> 56062 bytes .../emotesv2_14cf593554944c539243a7557bec1ce7 | Bin 0 -> 4580 bytes .../emotesv2_14e582f03a6e46699ff38fd296a34cdb | Bin 0 -> 2605 bytes .../emotesv2_151c180ac1904d8ea5429f5814302cd5 | Bin 0 -> 2768 bytes .../emotesv2_156040a084894533ad9ba6c97d333b1d | Bin 0 -> 2578 bytes .../emotesv2_15c17eea361f491b9906c22ff1e2d12f | Bin 0 -> 2375 bytes .../emotesv2_160627e2359a42ecaa02ed4fca5b5a45 | Bin 0 -> 3087 bytes .../emotesv2_161f6febb14344f2b804333838f5a61d | Bin 0 -> 2936 bytes .../emotesv2_166c9530b8a74bf191ac7812d74e3733 | Bin 0 -> 27189 bytes .../emotesv2_173b7a3c295745ca8dc30e757d6c3598 | Bin 0 -> 7742 bytes .../emotesv2_1743db9ec8f1446ea58b0f60966c731f | Bin 0 -> 2782 bytes .../emotesv2_17e9aeae350d49949342834baba9ddbb | Bin 0 -> 69496 bytes .../emotesv2_18437571c2b7494f86b023a910bbe9fa | Bin 0 -> 2421 bytes .../emotesv2_18494353752f41ebb02697182a328c47 | Bin 0 -> 2319 bytes .../emotesv2_1956c13f467044f98cac265fe068d25a | Bin 0 -> 38316 bytes .../emotesv2_19ae34a4da2e4970a61a2674a4e2f1f7 | Bin 0 -> 2385 bytes .../emotesv2_1bee269065664df49c8fbbc303e4565c | Bin 0 -> 2500 bytes .../emotesv2_1c8678c17ea845f2b51a37450320b18f | Bin 0 -> 11533 bytes .../emotesv2_1d65b56516b04a44a1bb02678ad63881 | Bin 0 -> 71673 bytes .../emotesv2_1dd66889dbef4326a7d2eefc1482a599 | Bin 0 -> 2116 bytes .../emotesv2_1e4b6cc3de3f4eedb23b38987f820030 | Bin 0 -> 14227 bytes .../emotesv2_1e71cd1b27ba42af97c6e791021c143e | Bin 0 -> 86411 bytes .../emotesv2_1e7b451c09ff4843aa510ff0a2f19094 | Bin 0 -> 2069 bytes .../emotesv2_1f3c178c49d544d093bd7d063923396a | Bin 0 -> 2613 bytes .../emotesv2_1f724d1af189414c8c4db82a697695d0 | Bin 0 -> 1543 bytes .../emotesv2_1f92463e18214a8f86a727a8c92e6bad | Bin 0 -> 2589 bytes .../emotesv2_1fb4cfd73d41498db495a2193793017e | Bin 0 -> 3912 bytes .../emotesv2_1ff70f01ae914316b04d899574cfbbb1 | Bin 0 -> 45802 bytes .../emotesv2_2029b483c7e847a39f8c30cb9d1cf639 | Bin 0 -> 3385 bytes .../emotesv2_21dd99030049448482e64f3c636f65b3 | Bin 0 -> 50684 bytes .../emotesv2_2209f7100c6149cdb5fbc451ddcc210b | Bin 0 -> 2511 bytes .../emotesv2_22e822f693df4deda9273513f9a0e1e4 | Bin 0 -> 15545 bytes .../emotesv2_2334b89584b048c998eb725fb17c09e1 | Bin 0 -> 13886 bytes .../emotesv2_23db1cb9dfb5497ba10bebfbde7de630 | Bin 0 -> 2373 bytes .../emotesv2_23e14cc48cf24a62a864666f602dd5e0 | Bin 0 -> 2516 bytes .../emotesv2_26929f06231844bf9f814d110cb04bea | Bin 0 -> 2581 bytes .../emotesv2_27022e3bf34a4ddb8f117b6ec330599b | Bin 0 -> 8065 bytes .../emotesv2_27262de126834753886581fa0881b137 | Bin 0 -> 2381 bytes .../emotesv2_27d5a5fd268d4848bdc6fcc5a478d1e9 | Bin 0 -> 2464 bytes .../emotesv2_29227a590c1d4b16bb5edc4d8abf3f9d | Bin 0 -> 3617 bytes .../emotesv2_2a37de636019468e8f9ede2cdc4cc5b9 | Bin 0 -> 2459 bytes .../emotesv2_2bdc2be2d6814b5f9288d6231a6bc7a3 | Bin 0 -> 3508 bytes .../emotesv2_2c61f40c63c34b589b539ff74a484172 | Bin 0 -> 8051 bytes .../emotesv2_2dad4dfd4916451db94cd139df14860c | Bin 0 -> 89756 bytes .../emotesv2_2dcc275ac9d64037946371e0a3665de7 | Bin 0 -> 2254 bytes .../emotesv2_2dd82f57e3074799846de94d2849db98 | Bin 0 -> 2674 bytes .../emotesv2_2eeeffb1279a4306ac911bedc08249e4 | Bin 0 -> 6007 bytes .../emotesv2_2fa89df5c2ff431b93dde1788cbd04ae | Bin 0 -> 2149 bytes .../emotesv2_2ffb9ece77b0401a8177e89a43495f66 | Bin 0 -> 8171 bytes .../emotesv2_3000ada60bc24d0f9d6167b17a7dd684 | Bin 0 -> 3906 bytes .../emotesv2_32ac22e1b6264cecaec464579ab6dbb2 | Bin 0 -> 6314 bytes .../emotesv2_32f772b609d8471583fac08e3294ea23 | Bin 0 -> 47846 bytes .../emotesv2_357ded09ad3449cd9afff04c95c7c07c | Bin 0 -> 2128 bytes .../emotesv2_3ae4c23223324c4981995ecd346035c0 | Bin 0 -> 2473 bytes .../emotesv2_3b82d1e9fca54e55b36847a474ac6226 | Bin 0 -> 1663 bytes .../emotesv2_3c06d86d7b8942208a558c0d41ed3189 | Bin 0 -> 13518 bytes .../emotesv2_3cef4c51d4aa45be822ee327f97650a0 | Bin 0 -> 15528 bytes .../emotesv2_3d247f404fbe40c988cc6a017794c83c | Bin 0 -> 2463 bytes .../emotesv2_3dbe2aaa1658468b89abf48179242939 | Bin 0 -> 2564 bytes .../emotesv2_3de47d9b6ba5499ead94c63dd302665c | Bin 0 -> 41996 bytes .../emotesv2_3e9cd45fa2854af5b4c5cc60c54480f1 | Bin 0 -> 1933 bytes .../emotesv2_3edbc18212d74ecd9a9e302496758f46 | Bin 0 -> 2781 bytes .../emotesv2_3f03641e60664bb8b93665d5042fbd4b | Bin 0 -> 33129 bytes .../emotesv2_3f5f22fb41704db3a971a83cf2962fbd | Bin 0 -> 2443 bytes .../emotesv2_41b0461920bc4b9b8305a90dec822d66 | Bin 0 -> 1885 bytes .../emotesv2_42ee24ccc30545078215551ef4118652 | Bin 0 -> 1204 bytes .../emotesv2_43700cf6c8d7474eab6006407bb1c5d6 | Bin 0 -> 2441 bytes .../emotesv2_43e7c72c26b54212a2d71dec250516e0 | Bin 0 -> 2514 bytes .../emotesv2_43fcc427ad4c4bebba4a843eb095b75d | Bin 0 -> 2241 bytes .../emotesv2_4521db9302564597bfa6ecd90681b0cc | Bin 0 -> 2701 bytes .../emotesv2_461acc7960e248198ff62994718df46a | Bin 0 -> 2636 bytes .../emotesv2_462fc11ba55f49ceaea9e2605cae8327 | Bin 0 -> 2727 bytes .../emotesv2_4659adc3c37043559431214d3132f9f0 | Bin 0 -> 79598 bytes .../emotesv2_465abb83c608466180282653dc79c2c8 | Bin 0 -> 2094 bytes .../emotesv2_47cb2f1240234a13bbc72bc46ca5e16f | Bin 0 -> 15072 bytes .../emotesv2_47f66b3c1176428897ec15f68913892b | Bin 0 -> 8091 bytes .../emotesv2_48245fa76119401aac06397e1fa6eb0a | Bin 0 -> 4718 bytes .../emotesv2_4863c0849b7344d0a2f99bc90d41d544 | Bin 0 -> 2432 bytes .../emotesv2_4991d8de430b4970a736fb563609610a | Bin 0 -> 3635 bytes .../emotesv2_49e019b854e540429002279d97a64813 | Bin 0 -> 2682 bytes .../emotesv2_4a4db0b375f742f9b9a9213b60b73253 | Bin 0 -> 2308 bytes .../emotesv2_4ab8cc4b3e554500b19b97f4da628afc | Bin 0 -> 2087 bytes .../emotesv2_4ac4f1999d174f218fc24cea80e18154 | Bin 0 -> 39932 bytes .../emotesv2_4b095971635d4dc09a8180c11ca0597e | Bin 0 -> 6390 bytes .../emotesv2_4d91cd12ffb34b64a8b6f7723a85562b | Bin 0 -> 1619 bytes .../emotesv2_4f418f98f996424bbf389fd50b5d1ef6 | Bin 0 -> 2777 bytes .../emotesv2_4f83679d65b44fde924bc5cdf7df959b | Bin 0 -> 2625 bytes .../emotesv2_4ff4e4aa5b9c4d298cb1db314e3cec18 | Bin 0 -> 2662 bytes .../emotesv2_5042b3fd972947d6bf0965eece99e62c | Bin 0 -> 16381 bytes .../emotesv2_519d048a3e9d4596bfedd974972dcb32 | Bin 0 -> 41659 bytes .../emotesv2_51fde6aa5de44a14a7d96bdcf2aba0ff | Bin 0 -> 5343 bytes .../emotesv2_525981ceeb79446f9a6bdeb48fcc4b5d | Bin 0 -> 19730 bytes .../emotesv2_546f1aed57df43ffb0eb1c25201d29e4 | Bin 0 -> 14759 bytes .../emotesv2_550a70f248cc41bf830efe5a77753e17 | Bin 0 -> 2190 bytes .../emotesv2_5618ea12040945c8a3a2e0b9f14c76e5 | Bin 0 -> 5791 bytes .../emotesv2_57bf7d36317f43ffa05363db715c9b47 | Bin 0 -> 1771 bytes .../emotesv2_57f489fe0953457e806838af569f6611 | Bin 0 -> 1536 bytes .../emotesv2_5810606dc520489980429ec3c78c66c1 | Bin 0 -> 20001 bytes .../emotesv2_581d24646d254b9b981f54299d4902f8 | Bin 0 -> 64177 bytes .../emotesv2_582105bec67c408d805d2f4d4ed7cd6f | Bin 0 -> 5402 bytes .../emotesv2_587405136a8147148c77df74baaa1bf4 | Bin 0 -> 22891 bytes .../emotesv2_589687e5389743c88984079b2969f415 | Bin 0 -> 2495 bytes .../emotesv2_589c50d6f29d487a8373f2fe367c3a6c | Bin 0 -> 4395 bytes .../emotesv2_59c20e27d68d41418ae67e155b4dc22b | Bin 0 -> 31056 bytes .../emotesv2_59db425a5c2e444994d77c668623af1f | Bin 0 -> 2179 bytes .../emotesv2_5a0718d94b264d9c937b38bcb32e4894 | Bin 0 -> 2659 bytes .../emotesv2_5acd2abd801142bfa4d1ee9e315c7bc6 | Bin 0 -> 2595 bytes .../emotesv2_5ade60d2852549d3b87ccadf594f5d0b | Bin 0 -> 14627 bytes .../emotesv2_5bc778ba1bc04199a8d207b4a21de5e5 | Bin 0 -> 4033 bytes .../emotesv2_5cf2bae3579d49b1906561e75e16c08d | Bin 0 -> 1640 bytes .../emotesv2_5d1842c751484d0c803ceb9fbaffd336 | Bin 0 -> 33779 bytes .../emotesv2_5d74a6ec97bf4e73bd9ccd43b9476099 | Bin 0 -> 1980 bytes .../emotesv2_5ea59661a7814218acc30217a2d5c9bc | Bin 0 -> 14469 bytes .../emotesv2_5eabda432d074a469b96042350c1e57b | Bin 0 -> 2518 bytes .../emotesv2_5ef5848f8b11466eaf506defd7ccc7eb | Bin 0 -> 2758 bytes .../emotesv2_5f06fe0ec7fb4dc9a2b65fc3ec20ed62 | Bin 0 -> 21331 bytes .../emotesv2_5ff031434a76471abfbfb048407d11f0 | Bin 0 -> 42638 bytes .../emotesv2_60298fdb66f1453c986fd231c9ae3861 | Bin 0 -> 38478 bytes .../emotesv2_6063f18c72bf452ba298ba37b49842b1 | Bin 0 -> 1686 bytes .../emotesv2_606838c85fa0443999bfc21e8d5c479f | Bin 0 -> 28125 bytes .../emotesv2_60a5524c4f0a4d3ba0bcff774f6b3620 | Bin 0 -> 60143 bytes .../emotesv2_61d8fd33d75a4681b9c39f2db3612d27 | Bin 0 -> 2458 bytes .../emotesv2_61f1f40d0c8b4fafac3b401029bbb0dd | Bin 0 -> 2378 bytes .../emotesv2_626bb9b129614d7db9aa0a8cecdb8ee3 | Bin 0 -> 15132 bytes .../emotesv2_627d415024924f1e9721db7985681789 | Bin 0 -> 2669 bytes .../emotesv2_62a165a81ce3435db3a4a5a55c441f48 | Bin 0 -> 12648 bytes .../emotesv2_6304ec06235445a1b7bb753b22ed7904 | Bin 0 -> 11702 bytes .../emotesv2_63f6657086ae4512ba544dc330142e3b | Bin 0 -> 24493 bytes .../emotesv2_640e7fd46331451780c85c0143c7e9d9 | Bin 0 -> 3503 bytes .../emotesv2_6467341548844130a6d764e5f5fe5ab2 | Bin 0 -> 1862 bytes .../emotesv2_68b95f1cbb924c43b82da38172b36e8f | Bin 0 -> 6541 bytes .../emotesv2_6a11881abb214087bdc945257a5e41c6 | Bin 0 -> 2447 bytes .../emotesv2_6a2dc5d3f0b24035bc3ff8f06b20e701 | Bin 0 -> 7745 bytes .../emotesv2_6a8f6885cd3b41e6ba3724b8330525cc | Bin 0 -> 2099 bytes .../emotesv2_6c18ef056eeb4cac99837372aee45a12 | Bin 0 -> 2842 bytes .../emotesv2_6d61d8c802bb47648bbcc1f9dea41432 | Bin 0 -> 7157 bytes .../emotesv2_6d8f1c892fad49acbb8b9cfdc7470071 | Bin 0 -> 2103 bytes .../emotesv2_6e39974ec01d48d1a9226ae4e1b56aa4 | Bin 0 -> 2662 bytes .../emotesv2_6e42740bd1804f0c809edfbee18db204 | Bin 0 -> 21503 bytes .../emotesv2_6eaba1a1000e40e1b3476a6d55163d3c | Bin 0 -> 2560 bytes .../emotesv2_6f4fa2cd4b394b24aae860644fbbd02d | Bin 0 -> 1274 bytes .../emotesv2_6f5986733e534ce9a02e4fa53c35323d | Bin 0 -> 1872 bytes .../emotesv2_710a8f088662459eb3eacad7ac103af1 | Bin 0 -> 1558 bytes .../emotesv2_7132d7b3c7ea4bb5846057f6dcb62d23 | Bin 0 -> 43362 bytes .../emotesv2_735d908c232544b29360a715010bb118 | Bin 0 -> 2642 bytes .../emotesv2_73827a8add6a49e5b56969f6a38d6204 | Bin 0 -> 2248 bytes .../emotesv2_763ebf1016e04418929b1d71b41d31d5 | Bin 0 -> 2280 bytes .../emotesv2_7a98531b293542a08417747a48da2bdc | Bin 0 -> 2482 bytes .../emotesv2_7ab53dff8d6d4d759c1cde19c60b493b | Bin 0 -> 4585 bytes .../emotesv2_7b4502ff8b4e41ed9e01bb8cae7af5c8 | Bin 0 -> 1498 bytes .../emotesv2_7b7acf5a165e424f938e2c4e116be0eb | Bin 0 -> 1551 bytes .../emotesv2_7bb6845f2d9143d5a68a8c8ed6eb76d6 | Bin 0 -> 2371 bytes .../emotesv2_7c782737cc8247af99ee5d01aa88081c | Bin 0 -> 2733 bytes .../emotesv2_7cf9cff95b944cef82e62a7aad06143a | Bin 0 -> 2708 bytes .../emotesv2_7d9e832db56f4344ab1d82b76b2570c8 | Bin 0 -> 15054 bytes .../emotesv2_7e721195c9534f899204d096b0747ad3 | Bin 0 -> 9362 bytes .../emotesv2_7f09d8e70a5c4fbaa14f1f280f987f80 | Bin 0 -> 31509 bytes .../emotesv2_7fc7502b51094839b0c249f0227ccb6f | Bin 0 -> 6253 bytes .../emotesv2_803bab7b4ecd486bafaf2f95ab842a49 | Bin 0 -> 2306 bytes .../emotesv2_807cde04b4614b31862e52fb69365d36 | Bin 0 -> 14475 bytes .../emotesv2_81897a1c9b4445378b651808dc4fdfa9 | Bin 0 -> 33078 bytes .../emotesv2_8264801e188a4b219668c0b0e14c7258 | Bin 0 -> 1987 bytes .../emotesv2_8272c793dc9f4658887df323dedf96fb | Bin 0 -> 1848 bytes .../emotesv2_83be05735ebe4d11b9ddad7da35a8d4c | Bin 0 -> 5165 bytes .../emotesv2_861b010e1c1d40c0bd7bd08414294679 | Bin 0 -> 2272 bytes .../emotesv2_871fb6fa55d54fae8e807198c59e082f | Bin 0 -> 9455 bytes .../emotesv2_890d049c630544678939e0582ca80215 | Bin 0 -> 1110 bytes .../emotesv2_891049ccb8834eeebb74f82481872efb | Bin 0 -> 26336 bytes .../emotesv2_89f0f73dcc6644c3b5a356bfde50739c | Bin 0 -> 2216 bytes .../emotesv2_8a52ed73c3e94128a326644fcaccd3c7 | Bin 0 -> 6471 bytes .../emotesv2_8a9aa6baf9ff4816a9cd37b212633a89 | Bin 0 -> 2589 bytes .../emotesv2_8b268899679147d49f2b6c6d1d2db7b5 | Bin 0 -> 26935 bytes .../emotesv2_8b3622b553dc4fe7af4d10cc4f37c692 | Bin 0 -> 1909 bytes .../emotesv2_8c985caab1b74fa988d1840547d4d523 | Bin 0 -> 10472 bytes .../emotesv2_8cdd3265d8b94773b0c10969d65925b1 | Bin 0 -> 10597 bytes .../emotesv2_8d1c552146264a5baa859dc9e36c6f1d | Bin 0 -> 12789 bytes .../emotesv2_8f39f6d06973469d9f5ba10c168d38a9 | Bin 0 -> 2644 bytes .../emotesv2_8f8c4272a8bf41679f0a0fa2a418dce3 | Bin 0 -> 15947 bytes .../emotesv2_8fb4c888dcdf48078a86bfb0ff8abe07 | Bin 0 -> 2224 bytes .../emotesv2_8fb8fb8d7e574838a565e043dd28db25 | Bin 0 -> 2760 bytes .../emotesv2_8fc4a178bd26480c89a5d60847f06201 | Bin 0 -> 15813 bytes .../emotesv2_8fe9176c7b2a4873be7ecd15c8e4a70b | Bin 0 -> 18048 bytes .../emotesv2_90d1979728c3401987e54e1f239f0f18 | Bin 0 -> 2593 bytes .../emotesv2_910977d4e26f4241b2d6228277807f46 | Bin 0 -> 2624 bytes .../emotesv2_920ede18c8b74203b9b1e8f7d0c8304d | Bin 0 -> 3882 bytes .../emotesv2_93527a53a5bc4ed495d93f1bbde5f95e | Bin 0 -> 2295 bytes .../emotesv2_9379a37a2d5f46fb96989a97b5e1d63c | Bin 0 -> 2289 bytes .../emotesv2_938256701565439db7fed5574b995d89 | Bin 0 -> 24198 bytes .../emotesv2_93a680b6acd5490dbfa76a2f5b0bd28b | Bin 0 -> 1821 bytes .../emotesv2_94fe0607105a4bd387719a35e89d5cc7 | Bin 0 -> 2486 bytes .../emotesv2_951bf4b33ba1450290a475955f2722a1 | Bin 0 -> 3605 bytes .../emotesv2_95b7317345d7432eae90096a7000067c | Bin 0 -> 2151 bytes .../emotesv2_98e437991bb34b458009383517fb2c53 | Bin 0 -> 1898 bytes .../emotesv2_9a5992a902bf434d84d5b3266ea33cdd | Bin 0 -> 59093 bytes .../emotesv2_9a74615f05084b8888a627d06b5b5be4 | Bin 0 -> 2160 bytes .../emotesv2_9a8d8c9bd11d435184d4331e3a33aca3 | Bin 0 -> 2500 bytes .../emotesv2_9a96e98a135c439582b375e8fd60e294 | Bin 0 -> 907 bytes .../emotesv2_9b10fd2981d14f1d96d9f133aeac5283 | Bin 0 -> 39348 bytes .../emotesv2_9b6569cc72e04b7298f1772c0b039c9d | Bin 0 -> 36421 bytes .../emotesv2_9b7afda20bfa4c9ebf0ac0ed134203a1 | Bin 0 -> 1891 bytes .../emotesv2_9e8fdd5115384019a3655e39b4074d5e | Bin 0 -> 13811 bytes .../emotesv2_9e980c1976e74fd0b7fd99582d8751ea | Bin 0 -> 8024 bytes .../emotesv2_9edb26b0c62d4dceb0a4699ba1246baf | Bin 0 -> 1927 bytes .../emotesv2_9f5a37d6cc1740e6b9a3b735d2685765 | Bin 0 -> 2373 bytes .../emotesv2_a0174f1eb8874db89f2429f6a529f75a | Bin 0 -> 2773 bytes .../emotesv2_a11ac93345a849078f98c4bad5cd50f7 | Bin 0 -> 4444 bytes .../emotesv2_a12c927c99bc4a7bbb3c4f3966d5ee52 | Bin 0 -> 2654 bytes .../emotesv2_a267d59c63eb43969fe9956853b2834b | Bin 0 -> 20974 bytes .../emotesv2_a312b11111c244108e1fd29a057e157f | Bin 0 -> 40850 bytes .../emotesv2_a3d0d41939734f0f925f33411d5fa0f3 | Bin 0 -> 4338 bytes .../emotesv2_a579d8f33ad14ab9ab2e430a57698a53 | Bin 0 -> 23129 bytes .../emotesv2_a5dd02ec8e7749798d99b2cf7926955d | Bin 0 -> 5063 bytes .../emotesv2_a620b6a73b72466180fb1f1c404af165 | Bin 0 -> 1730 bytes .../emotesv2_a6478790801c45ff83b60dd764674144 | Bin 0 -> 3709 bytes .../emotesv2_a7c3b55039564c3db97204787e90e4e3 | Bin 0 -> 1539 bytes .../emotesv2_a7e79590d37a435181fac86b308837f0 | Bin 0 -> 7950 bytes .../emotesv2_a85109c3f75148fe93f3f02a0d988611 | Bin 0 -> 2387 bytes .../emotesv2_a8b9348b3fb4460da4aca5ac7eab6c29 | Bin 0 -> 2570 bytes .../emotesv2_a8db09db865b4292a28902672d7fb61f | Bin 0 -> 2569 bytes .../emotesv2_a98b7ac0ce6d4c5fa55e2790e027005c | Bin 0 -> 2290 bytes .../emotesv2_aa8db3de21e1465dab81bedfa47e29f2 | Bin 0 -> 13302 bytes .../emotesv2_ab0b1b7ab1fd4303b6b3e79b7587c97a | Bin 0 -> 64548 bytes .../emotesv2_abf191efd6484178a6dcc3ee65a161f7 | Bin 0 -> 34429 bytes .../emotesv2_ac040d08831d4852851727054603db8c | Bin 0 -> 10923 bytes .../emotesv2_ad50b9a0ca6d452bbf8fbe838dfb0346 | Bin 0 -> 6916 bytes .../emotesv2_ad68e2b723404bf58c645194820b04b9 | Bin 0 -> 2624 bytes .../emotesv2_ae51eae2cf074a44805328e2b44c13d4 | Bin 0 -> 13512 bytes .../emotesv2_ae6dfcaa8c454d8b9dcbb590a23636ea | Bin 0 -> 2516 bytes .../emotesv2_ae75437617824598a8fc6d64f6f1f75a | Bin 0 -> 8591 bytes .../emotesv2_b00ec08df5034eb9bd057e197af5d418 | Bin 0 -> 8468 bytes .../emotesv2_b074dbfd4497498fae655a83164a75ba | Bin 0 -> 2550 bytes .../emotesv2_b1ca5ab6d4f5434d9c7861820a911b15 | Bin 0 -> 2354 bytes .../emotesv2_b21285be7eb140d3b792ab46071eea1e | Bin 0 -> 6838 bytes .../emotesv2_b245fbf7b42145a1a59e707557d308ff | Bin 0 -> 2545 bytes .../emotesv2_b282dd1ae0414bd0b7a6124dd373d264 | Bin 0 -> 2578 bytes .../emotesv2_b42a863da9ef4db9a7380ce05519b747 | Bin 0 -> 2567 bytes .../emotesv2_b446c43c644940b5868314bdaec10a18 | Bin 0 -> 2665 bytes .../emotesv2_b485e0da6fad4b21a16592626342a38f | Bin 0 -> 36633 bytes .../emotesv2_b6146b2ce9a347128742d7ca01ac229a | Bin 0 -> 2223 bytes .../emotesv2_b783b54d598940ff8e5a60c9cfe868dd | Bin 0 -> 6122 bytes .../emotesv2_b7edfba3424d47448442ebed316973d5 | Bin 0 -> 1764 bytes .../emotesv2_ba0245b2977641faa0da1670726c1790 | Bin 0 -> 45346 bytes .../emotesv2_ba0ef735fe664b169a221ad9f87f6e0c | Bin 0 -> 2256 bytes .../emotesv2_ba780a53f337416c8d41390ebee01119 | Bin 0 -> 2611 bytes .../emotesv2_bada012e7c224dd7b23a8a48c4dcd118 | Bin 0 -> 2706 bytes .../emotesv2_baf2757706104c81a7cba44cf676bc5b | Bin 0 -> 2480 bytes .../emotesv2_bba5b53d3b964a1b92ef1343e039d664 | Bin 0 -> 2539 bytes .../emotesv2_bbda2d66fb2d448e9e0021ddcdc63b8d | Bin 0 -> 5903 bytes .../emotesv2_bc4839de2dab4abc905d5730781f9e8f | Bin 0 -> 5421 bytes .../emotesv2_bd290412753447a7849d55f2056306f8 | Bin 0 -> 33443 bytes .../emotesv2_bd9167fbd13542618d6fecff0ac028d2 | Bin 0 -> 2423 bytes .../emotesv2_be6b5560194a4935bfb5de8060a59cc0 | Bin 0 -> 10372 bytes .../emotesv2_c06f39f961604fd0a5388b8756cda2b3 | Bin 0 -> 11202 bytes .../emotesv2_c15998534f4d49c5ba559f23e375198a | Bin 0 -> 2670 bytes .../emotesv2_c297a638faf144bdaf7f7e4d073a4c25 | Bin 0 -> 2254 bytes .../emotesv2_c32ba98d501f4c22874436e82390b610 | Bin 0 -> 15755 bytes .../emotesv2_c35dfb2220294d8ea04a4f967b38ff79 | Bin 0 -> 30780 bytes .../emotesv2_c3a053b9cc00475c80cdcb81d82c1b95 | Bin 0 -> 8024 bytes .../emotesv2_c4d53a2999db431892fe6ad13febc317 | Bin 0 -> 1898 bytes .../emotesv2_c681df7e91be43ec99b654b94ab6238e | Bin 0 -> 2586 bytes .../emotesv2_c9a05cf2861949728657860828b96571 | Bin 0 -> 9550 bytes .../emotesv2_cb96944975ad47fdb415ae8a549b0c5f | Bin 0 -> 14281 bytes .../emotesv2_cbcf251edef54cfe8b764013ea1563ad | Bin 0 -> 1711 bytes .../emotesv2_cc9c1e1c2c1b4318859bf12772c23e47 | Bin 0 -> 1574 bytes .../emotesv2_cca86ed0a30847dd8fcf6d9f62652a51 | Bin 0 -> 8506 bytes .../emotesv2_cdfbc6826f7a492da05d72206d8fddd6 | Bin 0 -> 2913 bytes .../emotesv2_cf04df4260f14082b7d27873fafef0bf | Bin 0 -> 2696 bytes .../emotesv2_cf28ef3337ee41c883365008eba4936c | Bin 0 -> 349 bytes .../emotesv2_cf3fb8c40b3e4a15abd6af18ab135b3d | Bin 0 -> 6772 bytes .../emotesv2_d0de5666aaf4437babe90b7ac25e50c1 | Bin 0 -> 8036 bytes .../emotesv2_d1cfb28b326244acb55bb273ae279bcd | Bin 0 -> 8892 bytes .../emotesv2_d2a5e8582c7144f79c6b7e85a0736ae6 | Bin 0 -> 1622 bytes .../emotesv2_d2be3c8c8a0b427d921b1a1f65129246 | Bin 0 -> 554 bytes .../emotesv2_d3d32339ba684bbc8ad47106aa010480 | Bin 0 -> 3026 bytes .../emotesv2_d4ed1a012a3f43c28872323b850091c1 | Bin 0 -> 2436 bytes .../emotesv2_d50ed7bf16714d83ba5284de669657f4 | Bin 0 -> 1810 bytes .../emotesv2_d866f4f6a80e47bc954bfe5afa835022 | Bin 0 -> 11055 bytes .../emotesv2_d8a817db11784a1f891bafb8c07907a6 | Bin 0 -> 2759 bytes .../emotesv2_d9f96a97d0be455a9dc00ac155b883b1 | Bin 0 -> 2235 bytes .../emotesv2_daaba03b164541ba8176fb93cf67c458 | Bin 0 -> 36144 bytes .../emotesv2_dab170e664b74fb4b1f1bbc11d1751a1 | Bin 0 -> 16893 bytes .../emotesv2_dc96b886a0444ffaa4a442f90603af2f | Bin 0 -> 14897 bytes .../emotesv2_de1ba643db5940c48b805c22067cdd95 | Bin 0 -> 1200 bytes .../emotesv2_deec3d454965426386a2ab0056032ebb | Bin 0 -> 2497 bytes .../emotesv2_dfbf3a46082341a3946a294c2707ea28 | Bin 0 -> 2703 bytes .../emotesv2_dfe9372c4e824e6c92c00f85ae1c8ac1 | Bin 0 -> 31313 bytes .../emotesv2_e04fbd79a76145858371739a4c97ed01 | Bin 0 -> 12855 bytes .../emotesv2_e08bc126279b4e43a51f1c8a560cba28 | Bin 0 -> 2000 bytes .../emotesv2_e192527a1b724abebc3da69e26f17206 | Bin 0 -> 2617 bytes .../emotesv2_e2b2fd55d19d42f4a52c66a0b853a9fb | Bin 0 -> 2261 bytes .../emotesv2_e5380c07ea5a4102af3db33a04fb842b | Bin 0 -> 1708 bytes .../emotesv2_e56838155cbe4913be1de318a1f7f2b7 | Bin 0 -> 33253 bytes .../emotesv2_e7efae5825b7482b95d227ba421f4766 | Bin 0 -> 24506 bytes .../emotesv2_e81db743441e465dacf6d2921e51c9fb | Bin 0 -> 2477 bytes .../emotesv2_ea41333eb58f493498da986f67eaa6a5 | Bin 0 -> 2848 bytes .../emotesv2_eb3c830882294eb49e308984e1ddc446 | Bin 0 -> 2672 bytes .../emotesv2_eb411fac746f4f6f88776bd1553d866e | Bin 0 -> 7208 bytes .../emotesv2_eb86dddf276e462f99378aba9d4b12cf | Bin 0 -> 3219 bytes .../emotesv2_ebc2b6b467d2472ab398f7d9ae99c70b | Bin 0 -> 2058 bytes .../emotesv2_ef4de7af1dea424ea62f645b911be817 | Bin 0 -> 6960 bytes .../emotesv2_f1467254addc4ac5bdf1ca125ccd1ded | Bin 0 -> 2090 bytes .../emotesv2_f2c6ffbc741246ac8735f4b369f0f874 | Bin 0 -> 2809 bytes .../emotesv2_f3cfa293e5b442f9a60335194bcc0dd5 | Bin 0 -> 2114 bytes .../emotesv2_f43c461397d04ffbba8b9185b096628f | Bin 0 -> 2162 bytes .../emotesv2_f53146218c494163be939062bb560060 | Bin 0 -> 5727 bytes .../emotesv2_f5f92113b40b4d37afdd38439f13b307 | Bin 0 -> 5187 bytes .../emotesv2_f5f9cec275a14b07bb40d32224b98a5f | Bin 0 -> 2689 bytes .../emotesv2_f695ac1ad1aa43ef85d56434ce477289 | Bin 0 -> 1952 bytes .../emotesv2_f7876b3366e34dd4a409f39ea9026c29 | Bin 0 -> 2546 bytes .../emotesv2_f8bfaceb17a04543abdbc450e08c4e06 | Bin 0 -> 2743 bytes .../emotesv2_f8ed05add38143cca3d1ae6e9427ff1f | Bin 0 -> 2244 bytes .../emotesv2_f99f88aeb3d64d92a1c57c7e7f9ef917 | Bin 0 -> 25199 bytes .../emotesv2_f9a49fde7a634441bf31abdcb9ed1852 | Bin 0 -> 40385 bytes .../emotesv2_fa4b053a690a4029ab240f7359cf6f61 | Bin 0 -> 11845 bytes .../emotesv2_fd65e757f8e24295b46a691cee173e05 | Bin 0 -> 2622 bytes .../emotesv2_ff13cdb38c54428db4fcdd33152e4b28 | Bin 0 -> 2155 bytes assets/glossary/2025-02-04.txt | 1 + assets/glossary/2025-02-07.txt | 1 + assets/glossary/2025-02-11.txt | 1 + assets/glossary/2025-02-14.txt | 1 + assets/glossary/2025-02-21.txt | 1 + assets/glossary/2025-02-25.txt | 1 + assets/glossary/2025-02-28.txt | 1 + assets/glossary/2025-03-04.txt | 1 + assets/glossary/2025-03-08.txt | 1 + assets/glossary/2025-03-11.txt | 1 + assets/thumb.txt | 1479 ++++++++++++++++++++ src/gizmo/wasp-bannerads.el | 25 +- src/gizmo/wasp-biblicality.el | 3 +- src/gizmo/wasp-heartrate.el | 10 + src/wasp-ai.el | 19 +- src/wasp-audio.el | 47 +- src/wasp-bus.el | 11 +- src/wasp-chat.el | 8 + src/wasp-model.el | 13 + src/wasp-obs.el | 29 +- src/wasp-overlay.el | 2 +- src/wasp-twitch-chat-commands.el | 382 ++--- src/wasp-twitch-redeems.el | 562 ++++---- src/wasp-twitch.el | 6 +- src/wasp-user-whitelist.el | 6 + src/wasp-utils.el | 6 +- wasp.el | 4 +- 401 files changed, 2127 insertions(+), 499 deletions(-) create mode 100644 assets/avatars/aerze_the_witch.png create mode 100644 assets/avatars/asiekierka.png delete mode 100644 assets/avatars/astatinchan.png create mode 100644 assets/avatars/avocado_violet.png create mode 100644 assets/avatars/dumbmoths.png create mode 100644 assets/avatars/echostatic85.png create mode 100644 assets/avatars/lucaval.png create mode 100644 assets/avatars/nyxkrage.png create mode 100644 assets/avatars/pixelsorted.png create mode 100644 assets/avatars/roboman01851.png create mode 100644 assets/avatars/thatguydoru.png create mode 100644 assets/avatars/tomaterr.png create mode 100644 assets/bannerads/brightermalphon_littleguy.png create mode 100644 assets/bannerads/caram3lnuke_valentines.png create mode 100644 assets/emotes/1366365 create mode 100644 assets/emotes/1413942 create mode 100644 assets/emotes/160017 create mode 100644 assets/emotes/1663601 create mode 100644 assets/emotes/1917460 create mode 100644 assets/emotes/301108045 create mode 100644 assets/emotes/301108047 create mode 100644 assets/emotes/301513871 create mode 100644 assets/emotes/301776931 create mode 100644 assets/emotes/304398413 create mode 100644 assets/emotes/304412430 create mode 100644 assets/emotes/305795441 create mode 100644 assets/emotes/306287110 create mode 100644 assets/emotes/308075336 create mode 100644 assets/emotes/497 create mode 100644 assets/emotes/53853 create mode 100644 assets/emotes/982801 create mode 100644 assets/emotes/emotesv2_02c94a55b8ee428cb8faad8423d4f00c create mode 100644 assets/emotes/emotesv2_04f1e46b95cb40469050dd6135a154e6 create mode 100644 assets/emotes/emotesv2_056a37d9e9ce420299fa3ac93cc74fa9 create mode 100644 assets/emotes/emotesv2_05a11e9d3f4c4a8892d3955432759837 create mode 100644 assets/emotes/emotesv2_05f9e92de4bb4214beb91eb6f6e065a1 create mode 100644 assets/emotes/emotesv2_06588d67a8f14e76b01440bf324ba953 create mode 100644 assets/emotes/emotesv2_06769c18dfc6494fbf1f431d965b1bb1 create mode 100644 assets/emotes/emotesv2_07c3a88feb4b45c684fe2fd3cab11d4b create mode 100644 assets/emotes/emotesv2_09a1f733f2df442fa1dcf64ca8f44adb create mode 100644 assets/emotes/emotesv2_09d5f43dfc7f40028d17b64031cc9757 create mode 100644 assets/emotes/emotesv2_0a004eea287b4bec9d9d95091cb6d2ff create mode 100644 assets/emotes/emotesv2_0a21e6ea261043a0ae7ada4af35bba06 create mode 100644 assets/emotes/emotesv2_0b1cda138e3440e58b1ec172bdd07d18 create mode 100644 assets/emotes/emotesv2_0bb01f6c7d114d1990f1a1481bdc8ff8 create mode 100644 assets/emotes/emotesv2_0be9f24d89c44ba6a2cbc1e14f1eb81a create mode 100644 assets/emotes/emotesv2_0bfe99e304cf4c358bdcca21300ced00 create mode 100644 assets/emotes/emotesv2_0e2527e85f384e5b8965966d78bfc639 create mode 100644 assets/emotes/emotesv2_0e43f1e424a54c298b93a0a47f0229ca create mode 100644 assets/emotes/emotesv2_0ea37aa33b814cf68dc6eb528babd84a create mode 100644 assets/emotes/emotesv2_0eed51700de64a579fd6f30503fcb937 create mode 100644 assets/emotes/emotesv2_0fc07867549f46e9957c0b814250e289 create mode 100644 assets/emotes/emotesv2_1165b5e525194714a448219372d29ae9 create mode 100644 assets/emotes/emotesv2_1263ae56fe744944ae4a09c48f697148 create mode 100644 assets/emotes/emotesv2_1273dbdff0d74bf98e3949cb6e7e0279 create mode 100644 assets/emotes/emotesv2_1369f555db424e66aa2086d1631f5f4a create mode 100644 assets/emotes/emotesv2_13f68d6342e24c67881429ed4a98d11d create mode 100644 assets/emotes/emotesv2_14c9e475335e47799f851b5108fa325d create mode 100644 assets/emotes/emotesv2_14cf593554944c539243a7557bec1ce7 create mode 100644 assets/emotes/emotesv2_14e582f03a6e46699ff38fd296a34cdb create mode 100644 assets/emotes/emotesv2_151c180ac1904d8ea5429f5814302cd5 create mode 100644 assets/emotes/emotesv2_156040a084894533ad9ba6c97d333b1d create mode 100644 assets/emotes/emotesv2_15c17eea361f491b9906c22ff1e2d12f create mode 100644 assets/emotes/emotesv2_160627e2359a42ecaa02ed4fca5b5a45 create mode 100644 assets/emotes/emotesv2_161f6febb14344f2b804333838f5a61d create mode 100644 assets/emotes/emotesv2_166c9530b8a74bf191ac7812d74e3733 create mode 100644 assets/emotes/emotesv2_173b7a3c295745ca8dc30e757d6c3598 create mode 100644 assets/emotes/emotesv2_1743db9ec8f1446ea58b0f60966c731f create mode 100644 assets/emotes/emotesv2_17e9aeae350d49949342834baba9ddbb create mode 100644 assets/emotes/emotesv2_18437571c2b7494f86b023a910bbe9fa create mode 100644 assets/emotes/emotesv2_18494353752f41ebb02697182a328c47 create mode 100644 assets/emotes/emotesv2_1956c13f467044f98cac265fe068d25a create mode 100644 assets/emotes/emotesv2_19ae34a4da2e4970a61a2674a4e2f1f7 create mode 100644 assets/emotes/emotesv2_1bee269065664df49c8fbbc303e4565c create mode 100644 assets/emotes/emotesv2_1c8678c17ea845f2b51a37450320b18f create mode 100644 assets/emotes/emotesv2_1d65b56516b04a44a1bb02678ad63881 create mode 100644 assets/emotes/emotesv2_1dd66889dbef4326a7d2eefc1482a599 create mode 100644 assets/emotes/emotesv2_1e4b6cc3de3f4eedb23b38987f820030 create mode 100644 assets/emotes/emotesv2_1e71cd1b27ba42af97c6e791021c143e create mode 100644 assets/emotes/emotesv2_1e7b451c09ff4843aa510ff0a2f19094 create mode 100644 assets/emotes/emotesv2_1f3c178c49d544d093bd7d063923396a create mode 100644 assets/emotes/emotesv2_1f724d1af189414c8c4db82a697695d0 create mode 100644 assets/emotes/emotesv2_1f92463e18214a8f86a727a8c92e6bad create mode 100644 assets/emotes/emotesv2_1fb4cfd73d41498db495a2193793017e create mode 100644 assets/emotes/emotesv2_1ff70f01ae914316b04d899574cfbbb1 create mode 100644 assets/emotes/emotesv2_2029b483c7e847a39f8c30cb9d1cf639 create mode 100644 assets/emotes/emotesv2_21dd99030049448482e64f3c636f65b3 create mode 100644 assets/emotes/emotesv2_2209f7100c6149cdb5fbc451ddcc210b create mode 100644 assets/emotes/emotesv2_22e822f693df4deda9273513f9a0e1e4 create mode 100644 assets/emotes/emotesv2_2334b89584b048c998eb725fb17c09e1 create mode 100644 assets/emotes/emotesv2_23db1cb9dfb5497ba10bebfbde7de630 create mode 100644 assets/emotes/emotesv2_23e14cc48cf24a62a864666f602dd5e0 create mode 100644 assets/emotes/emotesv2_26929f06231844bf9f814d110cb04bea create mode 100644 assets/emotes/emotesv2_27022e3bf34a4ddb8f117b6ec330599b create mode 100644 assets/emotes/emotesv2_27262de126834753886581fa0881b137 create mode 100644 assets/emotes/emotesv2_27d5a5fd268d4848bdc6fcc5a478d1e9 create mode 100644 assets/emotes/emotesv2_29227a590c1d4b16bb5edc4d8abf3f9d create mode 100644 assets/emotes/emotesv2_2a37de636019468e8f9ede2cdc4cc5b9 create mode 100644 assets/emotes/emotesv2_2bdc2be2d6814b5f9288d6231a6bc7a3 create mode 100644 assets/emotes/emotesv2_2c61f40c63c34b589b539ff74a484172 create mode 100644 assets/emotes/emotesv2_2dad4dfd4916451db94cd139df14860c create mode 100644 assets/emotes/emotesv2_2dcc275ac9d64037946371e0a3665de7 create mode 100644 assets/emotes/emotesv2_2dd82f57e3074799846de94d2849db98 create mode 100644 assets/emotes/emotesv2_2eeeffb1279a4306ac911bedc08249e4 create mode 100644 assets/emotes/emotesv2_2fa89df5c2ff431b93dde1788cbd04ae create mode 100644 assets/emotes/emotesv2_2ffb9ece77b0401a8177e89a43495f66 create mode 100644 assets/emotes/emotesv2_3000ada60bc24d0f9d6167b17a7dd684 create mode 100644 assets/emotes/emotesv2_32ac22e1b6264cecaec464579ab6dbb2 create mode 100644 assets/emotes/emotesv2_32f772b609d8471583fac08e3294ea23 create mode 100644 assets/emotes/emotesv2_357ded09ad3449cd9afff04c95c7c07c create mode 100644 assets/emotes/emotesv2_3ae4c23223324c4981995ecd346035c0 create mode 100644 assets/emotes/emotesv2_3b82d1e9fca54e55b36847a474ac6226 create mode 100644 assets/emotes/emotesv2_3c06d86d7b8942208a558c0d41ed3189 create mode 100644 assets/emotes/emotesv2_3cef4c51d4aa45be822ee327f97650a0 create mode 100644 assets/emotes/emotesv2_3d247f404fbe40c988cc6a017794c83c create mode 100644 assets/emotes/emotesv2_3dbe2aaa1658468b89abf48179242939 create mode 100644 assets/emotes/emotesv2_3de47d9b6ba5499ead94c63dd302665c create mode 100644 assets/emotes/emotesv2_3e9cd45fa2854af5b4c5cc60c54480f1 create mode 100644 assets/emotes/emotesv2_3edbc18212d74ecd9a9e302496758f46 create mode 100644 assets/emotes/emotesv2_3f03641e60664bb8b93665d5042fbd4b create mode 100644 assets/emotes/emotesv2_3f5f22fb41704db3a971a83cf2962fbd create mode 100644 assets/emotes/emotesv2_41b0461920bc4b9b8305a90dec822d66 create mode 100644 assets/emotes/emotesv2_42ee24ccc30545078215551ef4118652 create mode 100644 assets/emotes/emotesv2_43700cf6c8d7474eab6006407bb1c5d6 create mode 100644 assets/emotes/emotesv2_43e7c72c26b54212a2d71dec250516e0 create mode 100644 assets/emotes/emotesv2_43fcc427ad4c4bebba4a843eb095b75d create mode 100644 assets/emotes/emotesv2_4521db9302564597bfa6ecd90681b0cc create mode 100644 assets/emotes/emotesv2_461acc7960e248198ff62994718df46a create mode 100644 assets/emotes/emotesv2_462fc11ba55f49ceaea9e2605cae8327 create mode 100644 assets/emotes/emotesv2_4659adc3c37043559431214d3132f9f0 create mode 100644 assets/emotes/emotesv2_465abb83c608466180282653dc79c2c8 create mode 100644 assets/emotes/emotesv2_47cb2f1240234a13bbc72bc46ca5e16f create mode 100644 assets/emotes/emotesv2_47f66b3c1176428897ec15f68913892b create mode 100644 assets/emotes/emotesv2_48245fa76119401aac06397e1fa6eb0a create mode 100644 assets/emotes/emotesv2_4863c0849b7344d0a2f99bc90d41d544 create mode 100644 assets/emotes/emotesv2_4991d8de430b4970a736fb563609610a create mode 100644 assets/emotes/emotesv2_49e019b854e540429002279d97a64813 create mode 100644 assets/emotes/emotesv2_4a4db0b375f742f9b9a9213b60b73253 create mode 100644 assets/emotes/emotesv2_4ab8cc4b3e554500b19b97f4da628afc create mode 100644 assets/emotes/emotesv2_4ac4f1999d174f218fc24cea80e18154 create mode 100644 assets/emotes/emotesv2_4b095971635d4dc09a8180c11ca0597e create mode 100644 assets/emotes/emotesv2_4d91cd12ffb34b64a8b6f7723a85562b create mode 100644 assets/emotes/emotesv2_4f418f98f996424bbf389fd50b5d1ef6 create mode 100644 assets/emotes/emotesv2_4f83679d65b44fde924bc5cdf7df959b create mode 100644 assets/emotes/emotesv2_4ff4e4aa5b9c4d298cb1db314e3cec18 create mode 100644 assets/emotes/emotesv2_5042b3fd972947d6bf0965eece99e62c create mode 100644 assets/emotes/emotesv2_519d048a3e9d4596bfedd974972dcb32 create mode 100644 assets/emotes/emotesv2_51fde6aa5de44a14a7d96bdcf2aba0ff create mode 100644 assets/emotes/emotesv2_525981ceeb79446f9a6bdeb48fcc4b5d create mode 100644 assets/emotes/emotesv2_546f1aed57df43ffb0eb1c25201d29e4 create mode 100644 assets/emotes/emotesv2_550a70f248cc41bf830efe5a77753e17 create mode 100644 assets/emotes/emotesv2_5618ea12040945c8a3a2e0b9f14c76e5 create mode 100644 assets/emotes/emotesv2_57bf7d36317f43ffa05363db715c9b47 create mode 100644 assets/emotes/emotesv2_57f489fe0953457e806838af569f6611 create mode 100644 assets/emotes/emotesv2_5810606dc520489980429ec3c78c66c1 create mode 100644 assets/emotes/emotesv2_581d24646d254b9b981f54299d4902f8 create mode 100644 assets/emotes/emotesv2_582105bec67c408d805d2f4d4ed7cd6f create mode 100644 assets/emotes/emotesv2_587405136a8147148c77df74baaa1bf4 create mode 100644 assets/emotes/emotesv2_589687e5389743c88984079b2969f415 create mode 100644 assets/emotes/emotesv2_589c50d6f29d487a8373f2fe367c3a6c create mode 100644 assets/emotes/emotesv2_59c20e27d68d41418ae67e155b4dc22b create mode 100644 assets/emotes/emotesv2_59db425a5c2e444994d77c668623af1f create mode 100644 assets/emotes/emotesv2_5a0718d94b264d9c937b38bcb32e4894 create mode 100644 assets/emotes/emotesv2_5acd2abd801142bfa4d1ee9e315c7bc6 create mode 100644 assets/emotes/emotesv2_5ade60d2852549d3b87ccadf594f5d0b create mode 100644 assets/emotes/emotesv2_5bc778ba1bc04199a8d207b4a21de5e5 create mode 100644 assets/emotes/emotesv2_5cf2bae3579d49b1906561e75e16c08d create mode 100644 assets/emotes/emotesv2_5d1842c751484d0c803ceb9fbaffd336 create mode 100644 assets/emotes/emotesv2_5d74a6ec97bf4e73bd9ccd43b9476099 create mode 100644 assets/emotes/emotesv2_5ea59661a7814218acc30217a2d5c9bc create mode 100644 assets/emotes/emotesv2_5eabda432d074a469b96042350c1e57b create mode 100644 assets/emotes/emotesv2_5ef5848f8b11466eaf506defd7ccc7eb create mode 100644 assets/emotes/emotesv2_5f06fe0ec7fb4dc9a2b65fc3ec20ed62 create mode 100644 assets/emotes/emotesv2_5ff031434a76471abfbfb048407d11f0 create mode 100644 assets/emotes/emotesv2_60298fdb66f1453c986fd231c9ae3861 create mode 100644 assets/emotes/emotesv2_6063f18c72bf452ba298ba37b49842b1 create mode 100644 assets/emotes/emotesv2_606838c85fa0443999bfc21e8d5c479f create mode 100644 assets/emotes/emotesv2_60a5524c4f0a4d3ba0bcff774f6b3620 create mode 100644 assets/emotes/emotesv2_61d8fd33d75a4681b9c39f2db3612d27 create mode 100644 assets/emotes/emotesv2_61f1f40d0c8b4fafac3b401029bbb0dd create mode 100644 assets/emotes/emotesv2_626bb9b129614d7db9aa0a8cecdb8ee3 create mode 100644 assets/emotes/emotesv2_627d415024924f1e9721db7985681789 create mode 100644 assets/emotes/emotesv2_62a165a81ce3435db3a4a5a55c441f48 create mode 100644 assets/emotes/emotesv2_6304ec06235445a1b7bb753b22ed7904 create mode 100644 assets/emotes/emotesv2_63f6657086ae4512ba544dc330142e3b create mode 100644 assets/emotes/emotesv2_640e7fd46331451780c85c0143c7e9d9 create mode 100644 assets/emotes/emotesv2_6467341548844130a6d764e5f5fe5ab2 create mode 100644 assets/emotes/emotesv2_68b95f1cbb924c43b82da38172b36e8f create mode 100644 assets/emotes/emotesv2_6a11881abb214087bdc945257a5e41c6 create mode 100644 assets/emotes/emotesv2_6a2dc5d3f0b24035bc3ff8f06b20e701 create mode 100644 assets/emotes/emotesv2_6a8f6885cd3b41e6ba3724b8330525cc create mode 100644 assets/emotes/emotesv2_6c18ef056eeb4cac99837372aee45a12 create mode 100644 assets/emotes/emotesv2_6d61d8c802bb47648bbcc1f9dea41432 create mode 100644 assets/emotes/emotesv2_6d8f1c892fad49acbb8b9cfdc7470071 create mode 100644 assets/emotes/emotesv2_6e39974ec01d48d1a9226ae4e1b56aa4 create mode 100644 assets/emotes/emotesv2_6e42740bd1804f0c809edfbee18db204 create mode 100644 assets/emotes/emotesv2_6eaba1a1000e40e1b3476a6d55163d3c create mode 100644 assets/emotes/emotesv2_6f4fa2cd4b394b24aae860644fbbd02d create mode 100644 assets/emotes/emotesv2_6f5986733e534ce9a02e4fa53c35323d create mode 100644 assets/emotes/emotesv2_710a8f088662459eb3eacad7ac103af1 create mode 100644 assets/emotes/emotesv2_7132d7b3c7ea4bb5846057f6dcb62d23 create mode 100644 assets/emotes/emotesv2_735d908c232544b29360a715010bb118 create mode 100644 assets/emotes/emotesv2_73827a8add6a49e5b56969f6a38d6204 create mode 100644 assets/emotes/emotesv2_763ebf1016e04418929b1d71b41d31d5 create mode 100644 assets/emotes/emotesv2_7a98531b293542a08417747a48da2bdc create mode 100644 assets/emotes/emotesv2_7ab53dff8d6d4d759c1cde19c60b493b create mode 100644 assets/emotes/emotesv2_7b4502ff8b4e41ed9e01bb8cae7af5c8 create mode 100644 assets/emotes/emotesv2_7b7acf5a165e424f938e2c4e116be0eb create mode 100644 assets/emotes/emotesv2_7bb6845f2d9143d5a68a8c8ed6eb76d6 create mode 100644 assets/emotes/emotesv2_7c782737cc8247af99ee5d01aa88081c create mode 100644 assets/emotes/emotesv2_7cf9cff95b944cef82e62a7aad06143a create mode 100644 assets/emotes/emotesv2_7d9e832db56f4344ab1d82b76b2570c8 create mode 100644 assets/emotes/emotesv2_7e721195c9534f899204d096b0747ad3 create mode 100644 assets/emotes/emotesv2_7f09d8e70a5c4fbaa14f1f280f987f80 create mode 100644 assets/emotes/emotesv2_7fc7502b51094839b0c249f0227ccb6f create mode 100644 assets/emotes/emotesv2_803bab7b4ecd486bafaf2f95ab842a49 create mode 100644 assets/emotes/emotesv2_807cde04b4614b31862e52fb69365d36 create mode 100644 assets/emotes/emotesv2_81897a1c9b4445378b651808dc4fdfa9 create mode 100644 assets/emotes/emotesv2_8264801e188a4b219668c0b0e14c7258 create mode 100644 assets/emotes/emotesv2_8272c793dc9f4658887df323dedf96fb create mode 100644 assets/emotes/emotesv2_83be05735ebe4d11b9ddad7da35a8d4c create mode 100644 assets/emotes/emotesv2_861b010e1c1d40c0bd7bd08414294679 create mode 100644 assets/emotes/emotesv2_871fb6fa55d54fae8e807198c59e082f create mode 100644 assets/emotes/emotesv2_890d049c630544678939e0582ca80215 create mode 100644 assets/emotes/emotesv2_891049ccb8834eeebb74f82481872efb create mode 100644 assets/emotes/emotesv2_89f0f73dcc6644c3b5a356bfde50739c create mode 100644 assets/emotes/emotesv2_8a52ed73c3e94128a326644fcaccd3c7 create mode 100644 assets/emotes/emotesv2_8a9aa6baf9ff4816a9cd37b212633a89 create mode 100644 assets/emotes/emotesv2_8b268899679147d49f2b6c6d1d2db7b5 create mode 100644 assets/emotes/emotesv2_8b3622b553dc4fe7af4d10cc4f37c692 create mode 100644 assets/emotes/emotesv2_8c985caab1b74fa988d1840547d4d523 create mode 100644 assets/emotes/emotesv2_8cdd3265d8b94773b0c10969d65925b1 create mode 100644 assets/emotes/emotesv2_8d1c552146264a5baa859dc9e36c6f1d create mode 100644 assets/emotes/emotesv2_8f39f6d06973469d9f5ba10c168d38a9 create mode 100644 assets/emotes/emotesv2_8f8c4272a8bf41679f0a0fa2a418dce3 create mode 100644 assets/emotes/emotesv2_8fb4c888dcdf48078a86bfb0ff8abe07 create mode 100644 assets/emotes/emotesv2_8fb8fb8d7e574838a565e043dd28db25 create mode 100644 assets/emotes/emotesv2_8fc4a178bd26480c89a5d60847f06201 create mode 100644 assets/emotes/emotesv2_8fe9176c7b2a4873be7ecd15c8e4a70b create mode 100644 assets/emotes/emotesv2_90d1979728c3401987e54e1f239f0f18 create mode 100644 assets/emotes/emotesv2_910977d4e26f4241b2d6228277807f46 create mode 100644 assets/emotes/emotesv2_920ede18c8b74203b9b1e8f7d0c8304d create mode 100644 assets/emotes/emotesv2_93527a53a5bc4ed495d93f1bbde5f95e create mode 100644 assets/emotes/emotesv2_9379a37a2d5f46fb96989a97b5e1d63c create mode 100644 assets/emotes/emotesv2_938256701565439db7fed5574b995d89 create mode 100644 assets/emotes/emotesv2_93a680b6acd5490dbfa76a2f5b0bd28b create mode 100644 assets/emotes/emotesv2_94fe0607105a4bd387719a35e89d5cc7 create mode 100644 assets/emotes/emotesv2_951bf4b33ba1450290a475955f2722a1 create mode 100644 assets/emotes/emotesv2_95b7317345d7432eae90096a7000067c create mode 100644 assets/emotes/emotesv2_98e437991bb34b458009383517fb2c53 create mode 100644 assets/emotes/emotesv2_9a5992a902bf434d84d5b3266ea33cdd create mode 100644 assets/emotes/emotesv2_9a74615f05084b8888a627d06b5b5be4 create mode 100644 assets/emotes/emotesv2_9a8d8c9bd11d435184d4331e3a33aca3 create mode 100644 assets/emotes/emotesv2_9a96e98a135c439582b375e8fd60e294 create mode 100644 assets/emotes/emotesv2_9b10fd2981d14f1d96d9f133aeac5283 create mode 100644 assets/emotes/emotesv2_9b6569cc72e04b7298f1772c0b039c9d create mode 100644 assets/emotes/emotesv2_9b7afda20bfa4c9ebf0ac0ed134203a1 create mode 100644 assets/emotes/emotesv2_9e8fdd5115384019a3655e39b4074d5e create mode 100644 assets/emotes/emotesv2_9e980c1976e74fd0b7fd99582d8751ea create mode 100644 assets/emotes/emotesv2_9edb26b0c62d4dceb0a4699ba1246baf create mode 100644 assets/emotes/emotesv2_9f5a37d6cc1740e6b9a3b735d2685765 create mode 100644 assets/emotes/emotesv2_a0174f1eb8874db89f2429f6a529f75a create mode 100644 assets/emotes/emotesv2_a11ac93345a849078f98c4bad5cd50f7 create mode 100644 assets/emotes/emotesv2_a12c927c99bc4a7bbb3c4f3966d5ee52 create mode 100644 assets/emotes/emotesv2_a267d59c63eb43969fe9956853b2834b create mode 100644 assets/emotes/emotesv2_a312b11111c244108e1fd29a057e157f create mode 100644 assets/emotes/emotesv2_a3d0d41939734f0f925f33411d5fa0f3 create mode 100644 assets/emotes/emotesv2_a579d8f33ad14ab9ab2e430a57698a53 create mode 100644 assets/emotes/emotesv2_a5dd02ec8e7749798d99b2cf7926955d create mode 100644 assets/emotes/emotesv2_a620b6a73b72466180fb1f1c404af165 create mode 100644 assets/emotes/emotesv2_a6478790801c45ff83b60dd764674144 create mode 100644 assets/emotes/emotesv2_a7c3b55039564c3db97204787e90e4e3 create mode 100644 assets/emotes/emotesv2_a7e79590d37a435181fac86b308837f0 create mode 100644 assets/emotes/emotesv2_a85109c3f75148fe93f3f02a0d988611 create mode 100644 assets/emotes/emotesv2_a8b9348b3fb4460da4aca5ac7eab6c29 create mode 100644 assets/emotes/emotesv2_a8db09db865b4292a28902672d7fb61f create mode 100644 assets/emotes/emotesv2_a98b7ac0ce6d4c5fa55e2790e027005c create mode 100644 assets/emotes/emotesv2_aa8db3de21e1465dab81bedfa47e29f2 create mode 100644 assets/emotes/emotesv2_ab0b1b7ab1fd4303b6b3e79b7587c97a create mode 100644 assets/emotes/emotesv2_abf191efd6484178a6dcc3ee65a161f7 create mode 100644 assets/emotes/emotesv2_ac040d08831d4852851727054603db8c create mode 100644 assets/emotes/emotesv2_ad50b9a0ca6d452bbf8fbe838dfb0346 create mode 100644 assets/emotes/emotesv2_ad68e2b723404bf58c645194820b04b9 create mode 100644 assets/emotes/emotesv2_ae51eae2cf074a44805328e2b44c13d4 create mode 100644 assets/emotes/emotesv2_ae6dfcaa8c454d8b9dcbb590a23636ea create mode 100644 assets/emotes/emotesv2_ae75437617824598a8fc6d64f6f1f75a create mode 100644 assets/emotes/emotesv2_b00ec08df5034eb9bd057e197af5d418 create mode 100644 assets/emotes/emotesv2_b074dbfd4497498fae655a83164a75ba create mode 100644 assets/emotes/emotesv2_b1ca5ab6d4f5434d9c7861820a911b15 create mode 100644 assets/emotes/emotesv2_b21285be7eb140d3b792ab46071eea1e create mode 100644 assets/emotes/emotesv2_b245fbf7b42145a1a59e707557d308ff create mode 100644 assets/emotes/emotesv2_b282dd1ae0414bd0b7a6124dd373d264 create mode 100644 assets/emotes/emotesv2_b42a863da9ef4db9a7380ce05519b747 create mode 100644 assets/emotes/emotesv2_b446c43c644940b5868314bdaec10a18 create mode 100644 assets/emotes/emotesv2_b485e0da6fad4b21a16592626342a38f create mode 100644 assets/emotes/emotesv2_b6146b2ce9a347128742d7ca01ac229a create mode 100644 assets/emotes/emotesv2_b783b54d598940ff8e5a60c9cfe868dd create mode 100644 assets/emotes/emotesv2_b7edfba3424d47448442ebed316973d5 create mode 100644 assets/emotes/emotesv2_ba0245b2977641faa0da1670726c1790 create mode 100644 assets/emotes/emotesv2_ba0ef735fe664b169a221ad9f87f6e0c create mode 100644 assets/emotes/emotesv2_ba780a53f337416c8d41390ebee01119 create mode 100644 assets/emotes/emotesv2_bada012e7c224dd7b23a8a48c4dcd118 create mode 100644 assets/emotes/emotesv2_baf2757706104c81a7cba44cf676bc5b create mode 100644 assets/emotes/emotesv2_bba5b53d3b964a1b92ef1343e039d664 create mode 100644 assets/emotes/emotesv2_bbda2d66fb2d448e9e0021ddcdc63b8d create mode 100644 assets/emotes/emotesv2_bc4839de2dab4abc905d5730781f9e8f create mode 100644 assets/emotes/emotesv2_bd290412753447a7849d55f2056306f8 create mode 100644 assets/emotes/emotesv2_bd9167fbd13542618d6fecff0ac028d2 create mode 100644 assets/emotes/emotesv2_be6b5560194a4935bfb5de8060a59cc0 create mode 100644 assets/emotes/emotesv2_c06f39f961604fd0a5388b8756cda2b3 create mode 100644 assets/emotes/emotesv2_c15998534f4d49c5ba559f23e375198a create mode 100644 assets/emotes/emotesv2_c297a638faf144bdaf7f7e4d073a4c25 create mode 100644 assets/emotes/emotesv2_c32ba98d501f4c22874436e82390b610 create mode 100644 assets/emotes/emotesv2_c35dfb2220294d8ea04a4f967b38ff79 create mode 100644 assets/emotes/emotesv2_c3a053b9cc00475c80cdcb81d82c1b95 create mode 100644 assets/emotes/emotesv2_c4d53a2999db431892fe6ad13febc317 create mode 100644 assets/emotes/emotesv2_c681df7e91be43ec99b654b94ab6238e create mode 100644 assets/emotes/emotesv2_c9a05cf2861949728657860828b96571 create mode 100644 assets/emotes/emotesv2_cb96944975ad47fdb415ae8a549b0c5f create mode 100644 assets/emotes/emotesv2_cbcf251edef54cfe8b764013ea1563ad create mode 100644 assets/emotes/emotesv2_cc9c1e1c2c1b4318859bf12772c23e47 create mode 100644 assets/emotes/emotesv2_cca86ed0a30847dd8fcf6d9f62652a51 create mode 100644 assets/emotes/emotesv2_cdfbc6826f7a492da05d72206d8fddd6 create mode 100644 assets/emotes/emotesv2_cf04df4260f14082b7d27873fafef0bf create mode 100644 assets/emotes/emotesv2_cf28ef3337ee41c883365008eba4936c create mode 100644 assets/emotes/emotesv2_cf3fb8c40b3e4a15abd6af18ab135b3d create mode 100644 assets/emotes/emotesv2_d0de5666aaf4437babe90b7ac25e50c1 create mode 100644 assets/emotes/emotesv2_d1cfb28b326244acb55bb273ae279bcd create mode 100644 assets/emotes/emotesv2_d2a5e8582c7144f79c6b7e85a0736ae6 create mode 100644 assets/emotes/emotesv2_d2be3c8c8a0b427d921b1a1f65129246 create mode 100644 assets/emotes/emotesv2_d3d32339ba684bbc8ad47106aa010480 create mode 100644 assets/emotes/emotesv2_d4ed1a012a3f43c28872323b850091c1 create mode 100644 assets/emotes/emotesv2_d50ed7bf16714d83ba5284de669657f4 create mode 100644 assets/emotes/emotesv2_d866f4f6a80e47bc954bfe5afa835022 create mode 100644 assets/emotes/emotesv2_d8a817db11784a1f891bafb8c07907a6 create mode 100644 assets/emotes/emotesv2_d9f96a97d0be455a9dc00ac155b883b1 create mode 100644 assets/emotes/emotesv2_daaba03b164541ba8176fb93cf67c458 create mode 100644 assets/emotes/emotesv2_dab170e664b74fb4b1f1bbc11d1751a1 create mode 100644 assets/emotes/emotesv2_dc96b886a0444ffaa4a442f90603af2f create mode 100644 assets/emotes/emotesv2_de1ba643db5940c48b805c22067cdd95 create mode 100644 assets/emotes/emotesv2_deec3d454965426386a2ab0056032ebb create mode 100644 assets/emotes/emotesv2_dfbf3a46082341a3946a294c2707ea28 create mode 100644 assets/emotes/emotesv2_dfe9372c4e824e6c92c00f85ae1c8ac1 create mode 100644 assets/emotes/emotesv2_e04fbd79a76145858371739a4c97ed01 create mode 100644 assets/emotes/emotesv2_e08bc126279b4e43a51f1c8a560cba28 create mode 100644 assets/emotes/emotesv2_e192527a1b724abebc3da69e26f17206 create mode 100644 assets/emotes/emotesv2_e2b2fd55d19d42f4a52c66a0b853a9fb create mode 100644 assets/emotes/emotesv2_e5380c07ea5a4102af3db33a04fb842b create mode 100644 assets/emotes/emotesv2_e56838155cbe4913be1de318a1f7f2b7 create mode 100644 assets/emotes/emotesv2_e7efae5825b7482b95d227ba421f4766 create mode 100644 assets/emotes/emotesv2_e81db743441e465dacf6d2921e51c9fb create mode 100644 assets/emotes/emotesv2_ea41333eb58f493498da986f67eaa6a5 create mode 100644 assets/emotes/emotesv2_eb3c830882294eb49e308984e1ddc446 create mode 100644 assets/emotes/emotesv2_eb411fac746f4f6f88776bd1553d866e create mode 100644 assets/emotes/emotesv2_eb86dddf276e462f99378aba9d4b12cf create mode 100644 assets/emotes/emotesv2_ebc2b6b467d2472ab398f7d9ae99c70b create mode 100644 assets/emotes/emotesv2_ef4de7af1dea424ea62f645b911be817 create mode 100644 assets/emotes/emotesv2_f1467254addc4ac5bdf1ca125ccd1ded create mode 100644 assets/emotes/emotesv2_f2c6ffbc741246ac8735f4b369f0f874 create mode 100644 assets/emotes/emotesv2_f3cfa293e5b442f9a60335194bcc0dd5 create mode 100644 assets/emotes/emotesv2_f43c461397d04ffbba8b9185b096628f create mode 100644 assets/emotes/emotesv2_f53146218c494163be939062bb560060 create mode 100644 assets/emotes/emotesv2_f5f92113b40b4d37afdd38439f13b307 create mode 100644 assets/emotes/emotesv2_f5f9cec275a14b07bb40d32224b98a5f create mode 100644 assets/emotes/emotesv2_f695ac1ad1aa43ef85d56434ce477289 create mode 100644 assets/emotes/emotesv2_f7876b3366e34dd4a409f39ea9026c29 create mode 100644 assets/emotes/emotesv2_f8bfaceb17a04543abdbc450e08c4e06 create mode 100644 assets/emotes/emotesv2_f8ed05add38143cca3d1ae6e9427ff1f create mode 100644 assets/emotes/emotesv2_f99f88aeb3d64d92a1c57c7e7f9ef917 create mode 100644 assets/emotes/emotesv2_f9a49fde7a634441bf31abdcb9ed1852 create mode 100644 assets/emotes/emotesv2_fa4b053a690a4029ab240f7359cf6f61 create mode 100644 assets/emotes/emotesv2_fd65e757f8e24295b46a691cee173e05 create mode 100644 assets/emotes/emotesv2_ff13cdb38c54428db4fcdd33152e4b28 create mode 100644 assets/glossary/2025-02-04.txt create mode 100644 assets/glossary/2025-02-07.txt create mode 100644 assets/glossary/2025-02-11.txt create mode 100644 assets/glossary/2025-02-14.txt create mode 100644 assets/glossary/2025-02-21.txt create mode 100644 assets/glossary/2025-02-25.txt create mode 100644 assets/glossary/2025-02-28.txt create mode 100644 assets/glossary/2025-03-04.txt create mode 100644 assets/glossary/2025-03-08.txt create mode 100644 assets/glossary/2025-03-11.txt create mode 100644 assets/thumb.txt diff --git a/assets/avatars/aerze_the_witch.png b/assets/avatars/aerze_the_witch.png new file mode 100644 index 00000000..043b47b1 Binary files /dev/null and b/assets/avatars/aerze_the_witch.png differ diff --git a/assets/avatars/asiekierka.png b/assets/avatars/asiekierka.png new file mode 100644 index 00000000..854cde3f Binary files /dev/null and b/assets/avatars/asiekierka.png differ diff --git a/assets/avatars/astatinchan.png b/assets/avatars/astatinchan.png deleted file mode 100644 index a2111b76..00000000 Binary files a/assets/avatars/astatinchan.png and /dev/null differ diff --git a/assets/avatars/avocado_violet.png b/assets/avatars/avocado_violet.png new file mode 100644 index 00000000..b91cfeea Binary files /dev/null and b/assets/avatars/avocado_violet.png differ diff --git a/assets/avatars/dumbmoths.png b/assets/avatars/dumbmoths.png new file mode 100644 index 00000000..596216b2 Binary files /dev/null and b/assets/avatars/dumbmoths.png differ diff --git a/assets/avatars/echostatic85.png b/assets/avatars/echostatic85.png new file mode 100644 index 00000000..aac6161b Binary files /dev/null and b/assets/avatars/echostatic85.png differ diff --git a/assets/avatars/lucaval.png b/assets/avatars/lucaval.png new file mode 100644 index 00000000..07031454 Binary files /dev/null and b/assets/avatars/lucaval.png differ diff --git a/assets/avatars/nyxkrage.png b/assets/avatars/nyxkrage.png new file mode 100644 index 00000000..cdc1fddc Binary files /dev/null and b/assets/avatars/nyxkrage.png differ diff --git a/assets/avatars/pixelsorted.png b/assets/avatars/pixelsorted.png new file mode 100644 index 00000000..ad1760eb Binary files /dev/null and b/assets/avatars/pixelsorted.png differ diff --git a/assets/avatars/roboman01851.png b/assets/avatars/roboman01851.png new file mode 100644 index 00000000..903c8986 Binary files /dev/null and b/assets/avatars/roboman01851.png differ diff --git a/assets/avatars/thatguydoru.png b/assets/avatars/thatguydoru.png new file mode 100644 index 00000000..4dede951 Binary files /dev/null and b/assets/avatars/thatguydoru.png differ diff --git a/assets/avatars/tomaterr.png b/assets/avatars/tomaterr.png new file mode 100644 index 00000000..5d8cea33 Binary files /dev/null and b/assets/avatars/tomaterr.png differ diff --git a/assets/bannerads/brightermalphon_littleguy.png b/assets/bannerads/brightermalphon_littleguy.png new file mode 100644 index 00000000..47bad2f3 Binary files /dev/null and b/assets/bannerads/brightermalphon_littleguy.png differ diff --git a/assets/bannerads/caram3lnuke_valentines.png b/assets/bannerads/caram3lnuke_valentines.png new file mode 100644 index 00000000..d5c08e04 Binary files /dev/null and b/assets/bannerads/caram3lnuke_valentines.png differ diff --git a/assets/bible.txt b/assets/bible.txt index b087208e..42068f91 100644 --- a/assets/bible.txt +++ b/assets/bible.txt @@ -99922,4 +99922,6 @@ faeissleepy faeissleepy faeissleepy faeissleepy faeissleepy faeissleepy faeissle brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon brightermalphon mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ mamimi___ zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae zoft_fae -pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray \ No newline at end of file +pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray pengowray +sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 sun312772 +quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm quantumbohm \ No newline at end of file diff --git a/assets/emotes/1366365 b/assets/emotes/1366365 new file mode 100644 index 00000000..28c7d690 Binary files /dev/null and b/assets/emotes/1366365 differ diff --git a/assets/emotes/1413942 b/assets/emotes/1413942 new file mode 100644 index 00000000..4627b966 Binary files /dev/null and b/assets/emotes/1413942 differ diff --git a/assets/emotes/160017 b/assets/emotes/160017 new file mode 100644 index 00000000..f91daf39 Binary files /dev/null and b/assets/emotes/160017 differ diff --git a/assets/emotes/1663601 b/assets/emotes/1663601 new file mode 100644 index 00000000..045847be Binary files /dev/null and b/assets/emotes/1663601 differ diff --git a/assets/emotes/1917460 b/assets/emotes/1917460 new file mode 100644 index 00000000..ae191d65 Binary files /dev/null and b/assets/emotes/1917460 differ diff --git a/assets/emotes/301108045 b/assets/emotes/301108045 new file mode 100644 index 00000000..d632af5f Binary files /dev/null and b/assets/emotes/301108045 differ diff --git a/assets/emotes/301108047 b/assets/emotes/301108047 new file mode 100644 index 00000000..aad4d934 Binary files /dev/null and b/assets/emotes/301108047 differ diff --git a/assets/emotes/301513871 b/assets/emotes/301513871 new file mode 100644 index 00000000..c3e6fccf Binary files /dev/null and b/assets/emotes/301513871 differ diff --git a/assets/emotes/301776931 b/assets/emotes/301776931 new file mode 100644 index 00000000..21247ed9 Binary files /dev/null and b/assets/emotes/301776931 differ diff --git a/assets/emotes/304398413 b/assets/emotes/304398413 new file mode 100644 index 00000000..688d1a2a Binary files /dev/null and b/assets/emotes/304398413 differ diff --git a/assets/emotes/304412430 b/assets/emotes/304412430 new file mode 100644 index 00000000..aa809397 Binary files /dev/null and b/assets/emotes/304412430 differ diff --git a/assets/emotes/305795441 b/assets/emotes/305795441 new file mode 100644 index 00000000..2767a400 Binary files /dev/null and b/assets/emotes/305795441 differ diff --git a/assets/emotes/306287110 b/assets/emotes/306287110 new file mode 100644 index 00000000..a9ed872c Binary files /dev/null and b/assets/emotes/306287110 differ diff --git a/assets/emotes/308075336 b/assets/emotes/308075336 new file mode 100644 index 00000000..12fab333 Binary files /dev/null and b/assets/emotes/308075336 differ diff --git a/assets/emotes/497 b/assets/emotes/497 new file mode 100644 index 00000000..b6ec7c15 Binary files /dev/null and b/assets/emotes/497 differ diff --git a/assets/emotes/53853 b/assets/emotes/53853 new file mode 100644 index 00000000..d3b45585 Binary files /dev/null and b/assets/emotes/53853 differ diff --git a/assets/emotes/982801 b/assets/emotes/982801 new file mode 100644 index 00000000..b1b25d05 Binary files /dev/null and b/assets/emotes/982801 differ diff --git a/assets/emotes/emotesv2_02c94a55b8ee428cb8faad8423d4f00c b/assets/emotes/emotesv2_02c94a55b8ee428cb8faad8423d4f00c new file mode 100644 index 00000000..3875de2b Binary files /dev/null and b/assets/emotes/emotesv2_02c94a55b8ee428cb8faad8423d4f00c differ diff --git a/assets/emotes/emotesv2_04f1e46b95cb40469050dd6135a154e6 b/assets/emotes/emotesv2_04f1e46b95cb40469050dd6135a154e6 new file mode 100644 index 00000000..e6431392 Binary files /dev/null and b/assets/emotes/emotesv2_04f1e46b95cb40469050dd6135a154e6 differ diff --git a/assets/emotes/emotesv2_056a37d9e9ce420299fa3ac93cc74fa9 b/assets/emotes/emotesv2_056a37d9e9ce420299fa3ac93cc74fa9 new file mode 100644 index 00000000..a65d48fc Binary files /dev/null and b/assets/emotes/emotesv2_056a37d9e9ce420299fa3ac93cc74fa9 differ diff --git a/assets/emotes/emotesv2_05a11e9d3f4c4a8892d3955432759837 b/assets/emotes/emotesv2_05a11e9d3f4c4a8892d3955432759837 new file mode 100644 index 00000000..7e90671e Binary files /dev/null and b/assets/emotes/emotesv2_05a11e9d3f4c4a8892d3955432759837 differ diff --git a/assets/emotes/emotesv2_05f9e92de4bb4214beb91eb6f6e065a1 b/assets/emotes/emotesv2_05f9e92de4bb4214beb91eb6f6e065a1 new file mode 100644 index 00000000..e2853724 Binary files /dev/null and b/assets/emotes/emotesv2_05f9e92de4bb4214beb91eb6f6e065a1 differ diff --git a/assets/emotes/emotesv2_06588d67a8f14e76b01440bf324ba953 b/assets/emotes/emotesv2_06588d67a8f14e76b01440bf324ba953 new file mode 100644 index 00000000..c9f4c4ca Binary files /dev/null and b/assets/emotes/emotesv2_06588d67a8f14e76b01440bf324ba953 differ diff --git a/assets/emotes/emotesv2_06769c18dfc6494fbf1f431d965b1bb1 b/assets/emotes/emotesv2_06769c18dfc6494fbf1f431d965b1bb1 new file mode 100644 index 00000000..bc06817c Binary files /dev/null and b/assets/emotes/emotesv2_06769c18dfc6494fbf1f431d965b1bb1 differ diff --git a/assets/emotes/emotesv2_07c3a88feb4b45c684fe2fd3cab11d4b b/assets/emotes/emotesv2_07c3a88feb4b45c684fe2fd3cab11d4b new file mode 100644 index 00000000..2f9d7d19 Binary files /dev/null and b/assets/emotes/emotesv2_07c3a88feb4b45c684fe2fd3cab11d4b differ diff --git a/assets/emotes/emotesv2_09a1f733f2df442fa1dcf64ca8f44adb b/assets/emotes/emotesv2_09a1f733f2df442fa1dcf64ca8f44adb new file mode 100644 index 00000000..89e8096c Binary files /dev/null and b/assets/emotes/emotesv2_09a1f733f2df442fa1dcf64ca8f44adb differ diff --git a/assets/emotes/emotesv2_09d5f43dfc7f40028d17b64031cc9757 b/assets/emotes/emotesv2_09d5f43dfc7f40028d17b64031cc9757 new file mode 100644 index 00000000..5c490a68 Binary files /dev/null and b/assets/emotes/emotesv2_09d5f43dfc7f40028d17b64031cc9757 differ diff --git a/assets/emotes/emotesv2_0a004eea287b4bec9d9d95091cb6d2ff b/assets/emotes/emotesv2_0a004eea287b4bec9d9d95091cb6d2ff new file mode 100644 index 00000000..8ace6093 Binary files /dev/null and b/assets/emotes/emotesv2_0a004eea287b4bec9d9d95091cb6d2ff differ diff --git a/assets/emotes/emotesv2_0a21e6ea261043a0ae7ada4af35bba06 b/assets/emotes/emotesv2_0a21e6ea261043a0ae7ada4af35bba06 new file mode 100644 index 00000000..ad5d77f4 Binary files /dev/null and b/assets/emotes/emotesv2_0a21e6ea261043a0ae7ada4af35bba06 differ diff --git a/assets/emotes/emotesv2_0b1cda138e3440e58b1ec172bdd07d18 b/assets/emotes/emotesv2_0b1cda138e3440e58b1ec172bdd07d18 new file mode 100644 index 00000000..45f330b6 Binary files /dev/null and b/assets/emotes/emotesv2_0b1cda138e3440e58b1ec172bdd07d18 differ diff --git a/assets/emotes/emotesv2_0bb01f6c7d114d1990f1a1481bdc8ff8 b/assets/emotes/emotesv2_0bb01f6c7d114d1990f1a1481bdc8ff8 new file mode 100644 index 00000000..a13964c7 Binary files /dev/null and b/assets/emotes/emotesv2_0bb01f6c7d114d1990f1a1481bdc8ff8 differ diff --git a/assets/emotes/emotesv2_0be9f24d89c44ba6a2cbc1e14f1eb81a b/assets/emotes/emotesv2_0be9f24d89c44ba6a2cbc1e14f1eb81a new file mode 100644 index 00000000..cce0b487 Binary files /dev/null and b/assets/emotes/emotesv2_0be9f24d89c44ba6a2cbc1e14f1eb81a differ diff --git a/assets/emotes/emotesv2_0bfe99e304cf4c358bdcca21300ced00 b/assets/emotes/emotesv2_0bfe99e304cf4c358bdcca21300ced00 new file mode 100644 index 00000000..56a58f0a Binary files /dev/null and b/assets/emotes/emotesv2_0bfe99e304cf4c358bdcca21300ced00 differ diff --git a/assets/emotes/emotesv2_0e2527e85f384e5b8965966d78bfc639 b/assets/emotes/emotesv2_0e2527e85f384e5b8965966d78bfc639 new file mode 100644 index 00000000..7116ee12 Binary files /dev/null and b/assets/emotes/emotesv2_0e2527e85f384e5b8965966d78bfc639 differ diff --git a/assets/emotes/emotesv2_0e43f1e424a54c298b93a0a47f0229ca b/assets/emotes/emotesv2_0e43f1e424a54c298b93a0a47f0229ca new file mode 100644 index 00000000..3cd02ceb Binary files /dev/null and b/assets/emotes/emotesv2_0e43f1e424a54c298b93a0a47f0229ca differ diff --git a/assets/emotes/emotesv2_0ea37aa33b814cf68dc6eb528babd84a b/assets/emotes/emotesv2_0ea37aa33b814cf68dc6eb528babd84a new file mode 100644 index 00000000..045278eb Binary files /dev/null and b/assets/emotes/emotesv2_0ea37aa33b814cf68dc6eb528babd84a differ diff --git a/assets/emotes/emotesv2_0eed51700de64a579fd6f30503fcb937 b/assets/emotes/emotesv2_0eed51700de64a579fd6f30503fcb937 new file mode 100644 index 00000000..46241d7b Binary files /dev/null and b/assets/emotes/emotesv2_0eed51700de64a579fd6f30503fcb937 differ diff --git a/assets/emotes/emotesv2_0fc07867549f46e9957c0b814250e289 b/assets/emotes/emotesv2_0fc07867549f46e9957c0b814250e289 new file mode 100644 index 00000000..bab67d57 Binary files /dev/null and b/assets/emotes/emotesv2_0fc07867549f46e9957c0b814250e289 differ diff --git a/assets/emotes/emotesv2_1165b5e525194714a448219372d29ae9 b/assets/emotes/emotesv2_1165b5e525194714a448219372d29ae9 new file mode 100644 index 00000000..981a1cfd Binary files /dev/null and b/assets/emotes/emotesv2_1165b5e525194714a448219372d29ae9 differ diff --git a/assets/emotes/emotesv2_1263ae56fe744944ae4a09c48f697148 b/assets/emotes/emotesv2_1263ae56fe744944ae4a09c48f697148 new file mode 100644 index 00000000..32c2f149 Binary files /dev/null and b/assets/emotes/emotesv2_1263ae56fe744944ae4a09c48f697148 differ diff --git a/assets/emotes/emotesv2_1273dbdff0d74bf98e3949cb6e7e0279 b/assets/emotes/emotesv2_1273dbdff0d74bf98e3949cb6e7e0279 new file mode 100644 index 00000000..3e9c50ab Binary files /dev/null and b/assets/emotes/emotesv2_1273dbdff0d74bf98e3949cb6e7e0279 differ diff --git a/assets/emotes/emotesv2_1369f555db424e66aa2086d1631f5f4a b/assets/emotes/emotesv2_1369f555db424e66aa2086d1631f5f4a new file mode 100644 index 00000000..9da26c66 Binary files /dev/null and b/assets/emotes/emotesv2_1369f555db424e66aa2086d1631f5f4a differ diff --git a/assets/emotes/emotesv2_13f68d6342e24c67881429ed4a98d11d b/assets/emotes/emotesv2_13f68d6342e24c67881429ed4a98d11d new file mode 100644 index 00000000..dd7820d9 Binary files /dev/null and b/assets/emotes/emotesv2_13f68d6342e24c67881429ed4a98d11d differ diff --git a/assets/emotes/emotesv2_14c9e475335e47799f851b5108fa325d b/assets/emotes/emotesv2_14c9e475335e47799f851b5108fa325d new file mode 100644 index 00000000..e5898117 Binary files /dev/null and b/assets/emotes/emotesv2_14c9e475335e47799f851b5108fa325d differ diff --git a/assets/emotes/emotesv2_14cf593554944c539243a7557bec1ce7 b/assets/emotes/emotesv2_14cf593554944c539243a7557bec1ce7 new file mode 100644 index 00000000..12e3ecdb Binary files /dev/null and b/assets/emotes/emotesv2_14cf593554944c539243a7557bec1ce7 differ diff --git a/assets/emotes/emotesv2_14e582f03a6e46699ff38fd296a34cdb b/assets/emotes/emotesv2_14e582f03a6e46699ff38fd296a34cdb new file mode 100644 index 00000000..d3ddbd00 Binary files /dev/null and b/assets/emotes/emotesv2_14e582f03a6e46699ff38fd296a34cdb differ diff --git a/assets/emotes/emotesv2_151c180ac1904d8ea5429f5814302cd5 b/assets/emotes/emotesv2_151c180ac1904d8ea5429f5814302cd5 new file mode 100644 index 00000000..32720ee4 Binary files /dev/null and b/assets/emotes/emotesv2_151c180ac1904d8ea5429f5814302cd5 differ diff --git a/assets/emotes/emotesv2_156040a084894533ad9ba6c97d333b1d b/assets/emotes/emotesv2_156040a084894533ad9ba6c97d333b1d new file mode 100644 index 00000000..65e54658 Binary files /dev/null and b/assets/emotes/emotesv2_156040a084894533ad9ba6c97d333b1d differ diff --git a/assets/emotes/emotesv2_15c17eea361f491b9906c22ff1e2d12f b/assets/emotes/emotesv2_15c17eea361f491b9906c22ff1e2d12f new file mode 100644 index 00000000..b9202e1b Binary files /dev/null and b/assets/emotes/emotesv2_15c17eea361f491b9906c22ff1e2d12f differ diff --git a/assets/emotes/emotesv2_160627e2359a42ecaa02ed4fca5b5a45 b/assets/emotes/emotesv2_160627e2359a42ecaa02ed4fca5b5a45 new file mode 100644 index 00000000..efca8bb6 Binary files /dev/null and b/assets/emotes/emotesv2_160627e2359a42ecaa02ed4fca5b5a45 differ diff --git a/assets/emotes/emotesv2_161f6febb14344f2b804333838f5a61d b/assets/emotes/emotesv2_161f6febb14344f2b804333838f5a61d new file mode 100644 index 00000000..30cb2df0 Binary files /dev/null and b/assets/emotes/emotesv2_161f6febb14344f2b804333838f5a61d differ diff --git a/assets/emotes/emotesv2_166c9530b8a74bf191ac7812d74e3733 b/assets/emotes/emotesv2_166c9530b8a74bf191ac7812d74e3733 new file mode 100644 index 00000000..e7a218ba Binary files /dev/null and b/assets/emotes/emotesv2_166c9530b8a74bf191ac7812d74e3733 differ diff --git a/assets/emotes/emotesv2_173b7a3c295745ca8dc30e757d6c3598 b/assets/emotes/emotesv2_173b7a3c295745ca8dc30e757d6c3598 new file mode 100644 index 00000000..277ed77c Binary files /dev/null and b/assets/emotes/emotesv2_173b7a3c295745ca8dc30e757d6c3598 differ diff --git a/assets/emotes/emotesv2_1743db9ec8f1446ea58b0f60966c731f b/assets/emotes/emotesv2_1743db9ec8f1446ea58b0f60966c731f new file mode 100644 index 00000000..3496c7bf Binary files /dev/null and b/assets/emotes/emotesv2_1743db9ec8f1446ea58b0f60966c731f differ diff --git a/assets/emotes/emotesv2_17e9aeae350d49949342834baba9ddbb b/assets/emotes/emotesv2_17e9aeae350d49949342834baba9ddbb new file mode 100644 index 00000000..52d9695c Binary files /dev/null and b/assets/emotes/emotesv2_17e9aeae350d49949342834baba9ddbb differ diff --git a/assets/emotes/emotesv2_18437571c2b7494f86b023a910bbe9fa b/assets/emotes/emotesv2_18437571c2b7494f86b023a910bbe9fa new file mode 100644 index 00000000..48be7ea5 Binary files /dev/null and b/assets/emotes/emotesv2_18437571c2b7494f86b023a910bbe9fa differ diff --git a/assets/emotes/emotesv2_18494353752f41ebb02697182a328c47 b/assets/emotes/emotesv2_18494353752f41ebb02697182a328c47 new file mode 100644 index 00000000..52997489 Binary files /dev/null and b/assets/emotes/emotesv2_18494353752f41ebb02697182a328c47 differ diff --git a/assets/emotes/emotesv2_1956c13f467044f98cac265fe068d25a b/assets/emotes/emotesv2_1956c13f467044f98cac265fe068d25a new file mode 100644 index 00000000..b93048b1 Binary files /dev/null and b/assets/emotes/emotesv2_1956c13f467044f98cac265fe068d25a differ diff --git a/assets/emotes/emotesv2_19ae34a4da2e4970a61a2674a4e2f1f7 b/assets/emotes/emotesv2_19ae34a4da2e4970a61a2674a4e2f1f7 new file mode 100644 index 00000000..3edb42ed Binary files /dev/null and b/assets/emotes/emotesv2_19ae34a4da2e4970a61a2674a4e2f1f7 differ diff --git a/assets/emotes/emotesv2_1bee269065664df49c8fbbc303e4565c b/assets/emotes/emotesv2_1bee269065664df49c8fbbc303e4565c new file mode 100644 index 00000000..298dd302 Binary files /dev/null and b/assets/emotes/emotesv2_1bee269065664df49c8fbbc303e4565c differ diff --git a/assets/emotes/emotesv2_1c8678c17ea845f2b51a37450320b18f b/assets/emotes/emotesv2_1c8678c17ea845f2b51a37450320b18f new file mode 100644 index 00000000..55a9ffe8 Binary files /dev/null and b/assets/emotes/emotesv2_1c8678c17ea845f2b51a37450320b18f differ diff --git a/assets/emotes/emotesv2_1d65b56516b04a44a1bb02678ad63881 b/assets/emotes/emotesv2_1d65b56516b04a44a1bb02678ad63881 new file mode 100644 index 00000000..d7a99b70 Binary files /dev/null and b/assets/emotes/emotesv2_1d65b56516b04a44a1bb02678ad63881 differ diff --git a/assets/emotes/emotesv2_1dd66889dbef4326a7d2eefc1482a599 b/assets/emotes/emotesv2_1dd66889dbef4326a7d2eefc1482a599 new file mode 100644 index 00000000..c7cab9c6 Binary files /dev/null and b/assets/emotes/emotesv2_1dd66889dbef4326a7d2eefc1482a599 differ diff --git a/assets/emotes/emotesv2_1e4b6cc3de3f4eedb23b38987f820030 b/assets/emotes/emotesv2_1e4b6cc3de3f4eedb23b38987f820030 new file mode 100644 index 00000000..6bdcd636 Binary files /dev/null and b/assets/emotes/emotesv2_1e4b6cc3de3f4eedb23b38987f820030 differ diff --git a/assets/emotes/emotesv2_1e71cd1b27ba42af97c6e791021c143e b/assets/emotes/emotesv2_1e71cd1b27ba42af97c6e791021c143e new file mode 100644 index 00000000..5ba1f766 Binary files /dev/null and b/assets/emotes/emotesv2_1e71cd1b27ba42af97c6e791021c143e differ diff --git a/assets/emotes/emotesv2_1e7b451c09ff4843aa510ff0a2f19094 b/assets/emotes/emotesv2_1e7b451c09ff4843aa510ff0a2f19094 new file mode 100644 index 00000000..5367e669 Binary files /dev/null and b/assets/emotes/emotesv2_1e7b451c09ff4843aa510ff0a2f19094 differ diff --git a/assets/emotes/emotesv2_1f3c178c49d544d093bd7d063923396a b/assets/emotes/emotesv2_1f3c178c49d544d093bd7d063923396a new file mode 100644 index 00000000..43951dc4 Binary files /dev/null and b/assets/emotes/emotesv2_1f3c178c49d544d093bd7d063923396a differ diff --git a/assets/emotes/emotesv2_1f724d1af189414c8c4db82a697695d0 b/assets/emotes/emotesv2_1f724d1af189414c8c4db82a697695d0 new file mode 100644 index 00000000..452e3f21 Binary files /dev/null and b/assets/emotes/emotesv2_1f724d1af189414c8c4db82a697695d0 differ diff --git a/assets/emotes/emotesv2_1f92463e18214a8f86a727a8c92e6bad b/assets/emotes/emotesv2_1f92463e18214a8f86a727a8c92e6bad new file mode 100644 index 00000000..5354718e Binary files /dev/null and b/assets/emotes/emotesv2_1f92463e18214a8f86a727a8c92e6bad differ diff --git a/assets/emotes/emotesv2_1fb4cfd73d41498db495a2193793017e b/assets/emotes/emotesv2_1fb4cfd73d41498db495a2193793017e new file mode 100644 index 00000000..6a3e4b53 Binary files /dev/null and b/assets/emotes/emotesv2_1fb4cfd73d41498db495a2193793017e differ diff --git a/assets/emotes/emotesv2_1ff70f01ae914316b04d899574cfbbb1 b/assets/emotes/emotesv2_1ff70f01ae914316b04d899574cfbbb1 new file mode 100644 index 00000000..2fe340a6 Binary files /dev/null and b/assets/emotes/emotesv2_1ff70f01ae914316b04d899574cfbbb1 differ diff --git a/assets/emotes/emotesv2_2029b483c7e847a39f8c30cb9d1cf639 b/assets/emotes/emotesv2_2029b483c7e847a39f8c30cb9d1cf639 new file mode 100644 index 00000000..60081cb1 Binary files /dev/null and b/assets/emotes/emotesv2_2029b483c7e847a39f8c30cb9d1cf639 differ diff --git a/assets/emotes/emotesv2_21dd99030049448482e64f3c636f65b3 b/assets/emotes/emotesv2_21dd99030049448482e64f3c636f65b3 new file mode 100644 index 00000000..1151d01c Binary files /dev/null and b/assets/emotes/emotesv2_21dd99030049448482e64f3c636f65b3 differ diff --git a/assets/emotes/emotesv2_2209f7100c6149cdb5fbc451ddcc210b b/assets/emotes/emotesv2_2209f7100c6149cdb5fbc451ddcc210b new file mode 100644 index 00000000..be04b910 Binary files /dev/null and b/assets/emotes/emotesv2_2209f7100c6149cdb5fbc451ddcc210b differ diff --git a/assets/emotes/emotesv2_22e822f693df4deda9273513f9a0e1e4 b/assets/emotes/emotesv2_22e822f693df4deda9273513f9a0e1e4 new file mode 100644 index 00000000..57e437f9 Binary files /dev/null and b/assets/emotes/emotesv2_22e822f693df4deda9273513f9a0e1e4 differ diff --git a/assets/emotes/emotesv2_2334b89584b048c998eb725fb17c09e1 b/assets/emotes/emotesv2_2334b89584b048c998eb725fb17c09e1 new file mode 100644 index 00000000..e6444807 Binary files /dev/null and b/assets/emotes/emotesv2_2334b89584b048c998eb725fb17c09e1 differ diff --git a/assets/emotes/emotesv2_23db1cb9dfb5497ba10bebfbde7de630 b/assets/emotes/emotesv2_23db1cb9dfb5497ba10bebfbde7de630 new file mode 100644 index 00000000..27f2e7e6 Binary files /dev/null and b/assets/emotes/emotesv2_23db1cb9dfb5497ba10bebfbde7de630 differ diff --git a/assets/emotes/emotesv2_23e14cc48cf24a62a864666f602dd5e0 b/assets/emotes/emotesv2_23e14cc48cf24a62a864666f602dd5e0 new file mode 100644 index 00000000..dc90398a Binary files /dev/null and b/assets/emotes/emotesv2_23e14cc48cf24a62a864666f602dd5e0 differ diff --git a/assets/emotes/emotesv2_26929f06231844bf9f814d110cb04bea b/assets/emotes/emotesv2_26929f06231844bf9f814d110cb04bea new file mode 100644 index 00000000..4bb48b50 Binary files /dev/null and b/assets/emotes/emotesv2_26929f06231844bf9f814d110cb04bea differ diff --git a/assets/emotes/emotesv2_27022e3bf34a4ddb8f117b6ec330599b b/assets/emotes/emotesv2_27022e3bf34a4ddb8f117b6ec330599b new file mode 100644 index 00000000..49bffe75 Binary files /dev/null and b/assets/emotes/emotesv2_27022e3bf34a4ddb8f117b6ec330599b differ diff --git a/assets/emotes/emotesv2_27262de126834753886581fa0881b137 b/assets/emotes/emotesv2_27262de126834753886581fa0881b137 new file mode 100644 index 00000000..508137cb Binary files /dev/null and b/assets/emotes/emotesv2_27262de126834753886581fa0881b137 differ diff --git a/assets/emotes/emotesv2_27d5a5fd268d4848bdc6fcc5a478d1e9 b/assets/emotes/emotesv2_27d5a5fd268d4848bdc6fcc5a478d1e9 new file mode 100644 index 00000000..83502b58 Binary files /dev/null and b/assets/emotes/emotesv2_27d5a5fd268d4848bdc6fcc5a478d1e9 differ diff --git a/assets/emotes/emotesv2_29227a590c1d4b16bb5edc4d8abf3f9d b/assets/emotes/emotesv2_29227a590c1d4b16bb5edc4d8abf3f9d new file mode 100644 index 00000000..9b9db178 Binary files /dev/null and b/assets/emotes/emotesv2_29227a590c1d4b16bb5edc4d8abf3f9d differ diff --git a/assets/emotes/emotesv2_2a37de636019468e8f9ede2cdc4cc5b9 b/assets/emotes/emotesv2_2a37de636019468e8f9ede2cdc4cc5b9 new file mode 100644 index 00000000..73f4f4b1 Binary files /dev/null and b/assets/emotes/emotesv2_2a37de636019468e8f9ede2cdc4cc5b9 differ diff --git a/assets/emotes/emotesv2_2bdc2be2d6814b5f9288d6231a6bc7a3 b/assets/emotes/emotesv2_2bdc2be2d6814b5f9288d6231a6bc7a3 new file mode 100644 index 00000000..78105158 Binary files /dev/null and b/assets/emotes/emotesv2_2bdc2be2d6814b5f9288d6231a6bc7a3 differ diff --git a/assets/emotes/emotesv2_2c61f40c63c34b589b539ff74a484172 b/assets/emotes/emotesv2_2c61f40c63c34b589b539ff74a484172 new file mode 100644 index 00000000..2b6659ed Binary files /dev/null and b/assets/emotes/emotesv2_2c61f40c63c34b589b539ff74a484172 differ diff --git a/assets/emotes/emotesv2_2dad4dfd4916451db94cd139df14860c b/assets/emotes/emotesv2_2dad4dfd4916451db94cd139df14860c new file mode 100644 index 00000000..13f4ddec Binary files /dev/null and b/assets/emotes/emotesv2_2dad4dfd4916451db94cd139df14860c differ diff --git a/assets/emotes/emotesv2_2dcc275ac9d64037946371e0a3665de7 b/assets/emotes/emotesv2_2dcc275ac9d64037946371e0a3665de7 new file mode 100644 index 00000000..7c973408 Binary files /dev/null and b/assets/emotes/emotesv2_2dcc275ac9d64037946371e0a3665de7 differ diff --git a/assets/emotes/emotesv2_2dd82f57e3074799846de94d2849db98 b/assets/emotes/emotesv2_2dd82f57e3074799846de94d2849db98 new file mode 100644 index 00000000..722baed1 Binary files /dev/null and b/assets/emotes/emotesv2_2dd82f57e3074799846de94d2849db98 differ diff --git a/assets/emotes/emotesv2_2eeeffb1279a4306ac911bedc08249e4 b/assets/emotes/emotesv2_2eeeffb1279a4306ac911bedc08249e4 new file mode 100644 index 00000000..ba06b4ae Binary files /dev/null and b/assets/emotes/emotesv2_2eeeffb1279a4306ac911bedc08249e4 differ diff --git a/assets/emotes/emotesv2_2fa89df5c2ff431b93dde1788cbd04ae b/assets/emotes/emotesv2_2fa89df5c2ff431b93dde1788cbd04ae new file mode 100644 index 00000000..b26518e1 Binary files /dev/null and b/assets/emotes/emotesv2_2fa89df5c2ff431b93dde1788cbd04ae differ diff --git a/assets/emotes/emotesv2_2ffb9ece77b0401a8177e89a43495f66 b/assets/emotes/emotesv2_2ffb9ece77b0401a8177e89a43495f66 new file mode 100644 index 00000000..9115da1a Binary files /dev/null and b/assets/emotes/emotesv2_2ffb9ece77b0401a8177e89a43495f66 differ diff --git a/assets/emotes/emotesv2_3000ada60bc24d0f9d6167b17a7dd684 b/assets/emotes/emotesv2_3000ada60bc24d0f9d6167b17a7dd684 new file mode 100644 index 00000000..4012d2e9 Binary files /dev/null and b/assets/emotes/emotesv2_3000ada60bc24d0f9d6167b17a7dd684 differ diff --git a/assets/emotes/emotesv2_32ac22e1b6264cecaec464579ab6dbb2 b/assets/emotes/emotesv2_32ac22e1b6264cecaec464579ab6dbb2 new file mode 100644 index 00000000..e275f80b Binary files /dev/null and b/assets/emotes/emotesv2_32ac22e1b6264cecaec464579ab6dbb2 differ diff --git a/assets/emotes/emotesv2_32f772b609d8471583fac08e3294ea23 b/assets/emotes/emotesv2_32f772b609d8471583fac08e3294ea23 new file mode 100644 index 00000000..4ec724a6 Binary files /dev/null and b/assets/emotes/emotesv2_32f772b609d8471583fac08e3294ea23 differ diff --git a/assets/emotes/emotesv2_357ded09ad3449cd9afff04c95c7c07c b/assets/emotes/emotesv2_357ded09ad3449cd9afff04c95c7c07c new file mode 100644 index 00000000..513e8d37 Binary files /dev/null and b/assets/emotes/emotesv2_357ded09ad3449cd9afff04c95c7c07c differ diff --git a/assets/emotes/emotesv2_3ae4c23223324c4981995ecd346035c0 b/assets/emotes/emotesv2_3ae4c23223324c4981995ecd346035c0 new file mode 100644 index 00000000..dd87480d Binary files /dev/null and b/assets/emotes/emotesv2_3ae4c23223324c4981995ecd346035c0 differ diff --git a/assets/emotes/emotesv2_3b82d1e9fca54e55b36847a474ac6226 b/assets/emotes/emotesv2_3b82d1e9fca54e55b36847a474ac6226 new file mode 100644 index 00000000..445c1410 Binary files /dev/null and b/assets/emotes/emotesv2_3b82d1e9fca54e55b36847a474ac6226 differ diff --git a/assets/emotes/emotesv2_3c06d86d7b8942208a558c0d41ed3189 b/assets/emotes/emotesv2_3c06d86d7b8942208a558c0d41ed3189 new file mode 100644 index 00000000..247038bc Binary files /dev/null and b/assets/emotes/emotesv2_3c06d86d7b8942208a558c0d41ed3189 differ diff --git a/assets/emotes/emotesv2_3cef4c51d4aa45be822ee327f97650a0 b/assets/emotes/emotesv2_3cef4c51d4aa45be822ee327f97650a0 new file mode 100644 index 00000000..9295386c Binary files /dev/null and b/assets/emotes/emotesv2_3cef4c51d4aa45be822ee327f97650a0 differ diff --git a/assets/emotes/emotesv2_3d247f404fbe40c988cc6a017794c83c b/assets/emotes/emotesv2_3d247f404fbe40c988cc6a017794c83c new file mode 100644 index 00000000..d81df98b Binary files /dev/null and b/assets/emotes/emotesv2_3d247f404fbe40c988cc6a017794c83c differ diff --git a/assets/emotes/emotesv2_3dbe2aaa1658468b89abf48179242939 b/assets/emotes/emotesv2_3dbe2aaa1658468b89abf48179242939 new file mode 100644 index 00000000..5e02cc0e Binary files /dev/null and b/assets/emotes/emotesv2_3dbe2aaa1658468b89abf48179242939 differ diff --git a/assets/emotes/emotesv2_3de47d9b6ba5499ead94c63dd302665c b/assets/emotes/emotesv2_3de47d9b6ba5499ead94c63dd302665c new file mode 100644 index 00000000..89dee7bd Binary files /dev/null and b/assets/emotes/emotesv2_3de47d9b6ba5499ead94c63dd302665c differ diff --git a/assets/emotes/emotesv2_3e9cd45fa2854af5b4c5cc60c54480f1 b/assets/emotes/emotesv2_3e9cd45fa2854af5b4c5cc60c54480f1 new file mode 100644 index 00000000..a15c719f Binary files /dev/null and b/assets/emotes/emotesv2_3e9cd45fa2854af5b4c5cc60c54480f1 differ diff --git a/assets/emotes/emotesv2_3edbc18212d74ecd9a9e302496758f46 b/assets/emotes/emotesv2_3edbc18212d74ecd9a9e302496758f46 new file mode 100644 index 00000000..1a4af730 Binary files /dev/null and b/assets/emotes/emotesv2_3edbc18212d74ecd9a9e302496758f46 differ diff --git a/assets/emotes/emotesv2_3f03641e60664bb8b93665d5042fbd4b b/assets/emotes/emotesv2_3f03641e60664bb8b93665d5042fbd4b new file mode 100644 index 00000000..4c84d7c9 Binary files /dev/null and b/assets/emotes/emotesv2_3f03641e60664bb8b93665d5042fbd4b differ diff --git a/assets/emotes/emotesv2_3f5f22fb41704db3a971a83cf2962fbd b/assets/emotes/emotesv2_3f5f22fb41704db3a971a83cf2962fbd new file mode 100644 index 00000000..4333b8c9 Binary files /dev/null and b/assets/emotes/emotesv2_3f5f22fb41704db3a971a83cf2962fbd differ diff --git a/assets/emotes/emotesv2_41b0461920bc4b9b8305a90dec822d66 b/assets/emotes/emotesv2_41b0461920bc4b9b8305a90dec822d66 new file mode 100644 index 00000000..d334a463 Binary files /dev/null and b/assets/emotes/emotesv2_41b0461920bc4b9b8305a90dec822d66 differ diff --git a/assets/emotes/emotesv2_42ee24ccc30545078215551ef4118652 b/assets/emotes/emotesv2_42ee24ccc30545078215551ef4118652 new file mode 100644 index 00000000..10e13e12 Binary files /dev/null and b/assets/emotes/emotesv2_42ee24ccc30545078215551ef4118652 differ diff --git a/assets/emotes/emotesv2_43700cf6c8d7474eab6006407bb1c5d6 b/assets/emotes/emotesv2_43700cf6c8d7474eab6006407bb1c5d6 new file mode 100644 index 00000000..9faf5973 Binary files /dev/null and b/assets/emotes/emotesv2_43700cf6c8d7474eab6006407bb1c5d6 differ diff --git a/assets/emotes/emotesv2_43e7c72c26b54212a2d71dec250516e0 b/assets/emotes/emotesv2_43e7c72c26b54212a2d71dec250516e0 new file mode 100644 index 00000000..1cfa567d Binary files /dev/null and b/assets/emotes/emotesv2_43e7c72c26b54212a2d71dec250516e0 differ diff --git a/assets/emotes/emotesv2_43fcc427ad4c4bebba4a843eb095b75d b/assets/emotes/emotesv2_43fcc427ad4c4bebba4a843eb095b75d new file mode 100644 index 00000000..b198c077 Binary files /dev/null and b/assets/emotes/emotesv2_43fcc427ad4c4bebba4a843eb095b75d differ diff --git a/assets/emotes/emotesv2_4521db9302564597bfa6ecd90681b0cc b/assets/emotes/emotesv2_4521db9302564597bfa6ecd90681b0cc new file mode 100644 index 00000000..21c88dd3 Binary files /dev/null and b/assets/emotes/emotesv2_4521db9302564597bfa6ecd90681b0cc differ diff --git a/assets/emotes/emotesv2_461acc7960e248198ff62994718df46a b/assets/emotes/emotesv2_461acc7960e248198ff62994718df46a new file mode 100644 index 00000000..2702e748 Binary files /dev/null and b/assets/emotes/emotesv2_461acc7960e248198ff62994718df46a differ diff --git a/assets/emotes/emotesv2_462fc11ba55f49ceaea9e2605cae8327 b/assets/emotes/emotesv2_462fc11ba55f49ceaea9e2605cae8327 new file mode 100644 index 00000000..cbaab30d Binary files /dev/null and b/assets/emotes/emotesv2_462fc11ba55f49ceaea9e2605cae8327 differ diff --git a/assets/emotes/emotesv2_4659adc3c37043559431214d3132f9f0 b/assets/emotes/emotesv2_4659adc3c37043559431214d3132f9f0 new file mode 100644 index 00000000..48e56344 Binary files /dev/null and b/assets/emotes/emotesv2_4659adc3c37043559431214d3132f9f0 differ diff --git a/assets/emotes/emotesv2_465abb83c608466180282653dc79c2c8 b/assets/emotes/emotesv2_465abb83c608466180282653dc79c2c8 new file mode 100644 index 00000000..d2332793 Binary files /dev/null and b/assets/emotes/emotesv2_465abb83c608466180282653dc79c2c8 differ diff --git a/assets/emotes/emotesv2_47cb2f1240234a13bbc72bc46ca5e16f b/assets/emotes/emotesv2_47cb2f1240234a13bbc72bc46ca5e16f new file mode 100644 index 00000000..9b67e9c5 Binary files /dev/null and b/assets/emotes/emotesv2_47cb2f1240234a13bbc72bc46ca5e16f differ diff --git a/assets/emotes/emotesv2_47f66b3c1176428897ec15f68913892b b/assets/emotes/emotesv2_47f66b3c1176428897ec15f68913892b new file mode 100644 index 00000000..608cb233 Binary files /dev/null and b/assets/emotes/emotesv2_47f66b3c1176428897ec15f68913892b differ diff --git a/assets/emotes/emotesv2_48245fa76119401aac06397e1fa6eb0a b/assets/emotes/emotesv2_48245fa76119401aac06397e1fa6eb0a new file mode 100644 index 00000000..25e367ee Binary files /dev/null and b/assets/emotes/emotesv2_48245fa76119401aac06397e1fa6eb0a differ diff --git a/assets/emotes/emotesv2_4863c0849b7344d0a2f99bc90d41d544 b/assets/emotes/emotesv2_4863c0849b7344d0a2f99bc90d41d544 new file mode 100644 index 00000000..a887132a Binary files /dev/null and b/assets/emotes/emotesv2_4863c0849b7344d0a2f99bc90d41d544 differ diff --git a/assets/emotes/emotesv2_4991d8de430b4970a736fb563609610a b/assets/emotes/emotesv2_4991d8de430b4970a736fb563609610a new file mode 100644 index 00000000..46b1d339 Binary files /dev/null and b/assets/emotes/emotesv2_4991d8de430b4970a736fb563609610a differ diff --git a/assets/emotes/emotesv2_49e019b854e540429002279d97a64813 b/assets/emotes/emotesv2_49e019b854e540429002279d97a64813 new file mode 100644 index 00000000..bb66b66e Binary files /dev/null and b/assets/emotes/emotesv2_49e019b854e540429002279d97a64813 differ diff --git a/assets/emotes/emotesv2_4a4db0b375f742f9b9a9213b60b73253 b/assets/emotes/emotesv2_4a4db0b375f742f9b9a9213b60b73253 new file mode 100644 index 00000000..b6d7c3d4 Binary files /dev/null and b/assets/emotes/emotesv2_4a4db0b375f742f9b9a9213b60b73253 differ diff --git a/assets/emotes/emotesv2_4ab8cc4b3e554500b19b97f4da628afc b/assets/emotes/emotesv2_4ab8cc4b3e554500b19b97f4da628afc new file mode 100644 index 00000000..15da0c37 Binary files /dev/null and b/assets/emotes/emotesv2_4ab8cc4b3e554500b19b97f4da628afc differ diff --git a/assets/emotes/emotesv2_4ac4f1999d174f218fc24cea80e18154 b/assets/emotes/emotesv2_4ac4f1999d174f218fc24cea80e18154 new file mode 100644 index 00000000..2d762591 Binary files /dev/null and b/assets/emotes/emotesv2_4ac4f1999d174f218fc24cea80e18154 differ diff --git a/assets/emotes/emotesv2_4b095971635d4dc09a8180c11ca0597e b/assets/emotes/emotesv2_4b095971635d4dc09a8180c11ca0597e new file mode 100644 index 00000000..2d42116f Binary files /dev/null and b/assets/emotes/emotesv2_4b095971635d4dc09a8180c11ca0597e differ diff --git a/assets/emotes/emotesv2_4d91cd12ffb34b64a8b6f7723a85562b b/assets/emotes/emotesv2_4d91cd12ffb34b64a8b6f7723a85562b new file mode 100644 index 00000000..dc838a21 Binary files /dev/null and b/assets/emotes/emotesv2_4d91cd12ffb34b64a8b6f7723a85562b differ diff --git a/assets/emotes/emotesv2_4f418f98f996424bbf389fd50b5d1ef6 b/assets/emotes/emotesv2_4f418f98f996424bbf389fd50b5d1ef6 new file mode 100644 index 00000000..10cf36d4 Binary files /dev/null and b/assets/emotes/emotesv2_4f418f98f996424bbf389fd50b5d1ef6 differ diff --git a/assets/emotes/emotesv2_4f83679d65b44fde924bc5cdf7df959b b/assets/emotes/emotesv2_4f83679d65b44fde924bc5cdf7df959b new file mode 100644 index 00000000..4759a9d6 Binary files /dev/null and b/assets/emotes/emotesv2_4f83679d65b44fde924bc5cdf7df959b differ diff --git a/assets/emotes/emotesv2_4ff4e4aa5b9c4d298cb1db314e3cec18 b/assets/emotes/emotesv2_4ff4e4aa5b9c4d298cb1db314e3cec18 new file mode 100644 index 00000000..3784a4bd Binary files /dev/null and b/assets/emotes/emotesv2_4ff4e4aa5b9c4d298cb1db314e3cec18 differ diff --git a/assets/emotes/emotesv2_5042b3fd972947d6bf0965eece99e62c b/assets/emotes/emotesv2_5042b3fd972947d6bf0965eece99e62c new file mode 100644 index 00000000..96b2a1ea Binary files /dev/null and b/assets/emotes/emotesv2_5042b3fd972947d6bf0965eece99e62c differ diff --git a/assets/emotes/emotesv2_519d048a3e9d4596bfedd974972dcb32 b/assets/emotes/emotesv2_519d048a3e9d4596bfedd974972dcb32 new file mode 100644 index 00000000..b54dd46d Binary files /dev/null and b/assets/emotes/emotesv2_519d048a3e9d4596bfedd974972dcb32 differ diff --git a/assets/emotes/emotesv2_51fde6aa5de44a14a7d96bdcf2aba0ff b/assets/emotes/emotesv2_51fde6aa5de44a14a7d96bdcf2aba0ff new file mode 100644 index 00000000..b8407ae2 Binary files /dev/null and b/assets/emotes/emotesv2_51fde6aa5de44a14a7d96bdcf2aba0ff differ diff --git a/assets/emotes/emotesv2_525981ceeb79446f9a6bdeb48fcc4b5d b/assets/emotes/emotesv2_525981ceeb79446f9a6bdeb48fcc4b5d new file mode 100644 index 00000000..83f11235 Binary files /dev/null and b/assets/emotes/emotesv2_525981ceeb79446f9a6bdeb48fcc4b5d differ diff --git a/assets/emotes/emotesv2_546f1aed57df43ffb0eb1c25201d29e4 b/assets/emotes/emotesv2_546f1aed57df43ffb0eb1c25201d29e4 new file mode 100644 index 00000000..3a13fd85 Binary files /dev/null and b/assets/emotes/emotesv2_546f1aed57df43ffb0eb1c25201d29e4 differ diff --git a/assets/emotes/emotesv2_550a70f248cc41bf830efe5a77753e17 b/assets/emotes/emotesv2_550a70f248cc41bf830efe5a77753e17 new file mode 100644 index 00000000..636c3125 Binary files /dev/null and b/assets/emotes/emotesv2_550a70f248cc41bf830efe5a77753e17 differ diff --git a/assets/emotes/emotesv2_5618ea12040945c8a3a2e0b9f14c76e5 b/assets/emotes/emotesv2_5618ea12040945c8a3a2e0b9f14c76e5 new file mode 100644 index 00000000..882a942c Binary files /dev/null and b/assets/emotes/emotesv2_5618ea12040945c8a3a2e0b9f14c76e5 differ diff --git a/assets/emotes/emotesv2_57bf7d36317f43ffa05363db715c9b47 b/assets/emotes/emotesv2_57bf7d36317f43ffa05363db715c9b47 new file mode 100644 index 00000000..e92d47e2 Binary files /dev/null and b/assets/emotes/emotesv2_57bf7d36317f43ffa05363db715c9b47 differ diff --git a/assets/emotes/emotesv2_57f489fe0953457e806838af569f6611 b/assets/emotes/emotesv2_57f489fe0953457e806838af569f6611 new file mode 100644 index 00000000..cd2b203f Binary files /dev/null and b/assets/emotes/emotesv2_57f489fe0953457e806838af569f6611 differ diff --git a/assets/emotes/emotesv2_5810606dc520489980429ec3c78c66c1 b/assets/emotes/emotesv2_5810606dc520489980429ec3c78c66c1 new file mode 100644 index 00000000..1228cfad Binary files /dev/null and b/assets/emotes/emotesv2_5810606dc520489980429ec3c78c66c1 differ diff --git a/assets/emotes/emotesv2_581d24646d254b9b981f54299d4902f8 b/assets/emotes/emotesv2_581d24646d254b9b981f54299d4902f8 new file mode 100644 index 00000000..fa05ad58 Binary files /dev/null and b/assets/emotes/emotesv2_581d24646d254b9b981f54299d4902f8 differ diff --git a/assets/emotes/emotesv2_582105bec67c408d805d2f4d4ed7cd6f b/assets/emotes/emotesv2_582105bec67c408d805d2f4d4ed7cd6f new file mode 100644 index 00000000..e98493de Binary files /dev/null and b/assets/emotes/emotesv2_582105bec67c408d805d2f4d4ed7cd6f differ diff --git a/assets/emotes/emotesv2_587405136a8147148c77df74baaa1bf4 b/assets/emotes/emotesv2_587405136a8147148c77df74baaa1bf4 new file mode 100644 index 00000000..9a4713e2 Binary files /dev/null and b/assets/emotes/emotesv2_587405136a8147148c77df74baaa1bf4 differ diff --git a/assets/emotes/emotesv2_589687e5389743c88984079b2969f415 b/assets/emotes/emotesv2_589687e5389743c88984079b2969f415 new file mode 100644 index 00000000..b208a19c Binary files /dev/null and b/assets/emotes/emotesv2_589687e5389743c88984079b2969f415 differ diff --git a/assets/emotes/emotesv2_589c50d6f29d487a8373f2fe367c3a6c b/assets/emotes/emotesv2_589c50d6f29d487a8373f2fe367c3a6c new file mode 100644 index 00000000..83738083 Binary files /dev/null and b/assets/emotes/emotesv2_589c50d6f29d487a8373f2fe367c3a6c differ diff --git a/assets/emotes/emotesv2_59c20e27d68d41418ae67e155b4dc22b b/assets/emotes/emotesv2_59c20e27d68d41418ae67e155b4dc22b new file mode 100644 index 00000000..a6d7058c Binary files /dev/null and b/assets/emotes/emotesv2_59c20e27d68d41418ae67e155b4dc22b differ diff --git a/assets/emotes/emotesv2_59db425a5c2e444994d77c668623af1f b/assets/emotes/emotesv2_59db425a5c2e444994d77c668623af1f new file mode 100644 index 00000000..7ce373fd Binary files /dev/null and b/assets/emotes/emotesv2_59db425a5c2e444994d77c668623af1f differ diff --git a/assets/emotes/emotesv2_5a0718d94b264d9c937b38bcb32e4894 b/assets/emotes/emotesv2_5a0718d94b264d9c937b38bcb32e4894 new file mode 100644 index 00000000..e011593f Binary files /dev/null and b/assets/emotes/emotesv2_5a0718d94b264d9c937b38bcb32e4894 differ diff --git a/assets/emotes/emotesv2_5acd2abd801142bfa4d1ee9e315c7bc6 b/assets/emotes/emotesv2_5acd2abd801142bfa4d1ee9e315c7bc6 new file mode 100644 index 00000000..7763bf88 Binary files /dev/null and b/assets/emotes/emotesv2_5acd2abd801142bfa4d1ee9e315c7bc6 differ diff --git a/assets/emotes/emotesv2_5ade60d2852549d3b87ccadf594f5d0b b/assets/emotes/emotesv2_5ade60d2852549d3b87ccadf594f5d0b new file mode 100644 index 00000000..ca0ff3cf Binary files /dev/null and b/assets/emotes/emotesv2_5ade60d2852549d3b87ccadf594f5d0b differ diff --git a/assets/emotes/emotesv2_5bc778ba1bc04199a8d207b4a21de5e5 b/assets/emotes/emotesv2_5bc778ba1bc04199a8d207b4a21de5e5 new file mode 100644 index 00000000..1cc47626 Binary files /dev/null and b/assets/emotes/emotesv2_5bc778ba1bc04199a8d207b4a21de5e5 differ diff --git a/assets/emotes/emotesv2_5cf2bae3579d49b1906561e75e16c08d b/assets/emotes/emotesv2_5cf2bae3579d49b1906561e75e16c08d new file mode 100644 index 00000000..8afa63e3 Binary files /dev/null and b/assets/emotes/emotesv2_5cf2bae3579d49b1906561e75e16c08d differ diff --git a/assets/emotes/emotesv2_5d1842c751484d0c803ceb9fbaffd336 b/assets/emotes/emotesv2_5d1842c751484d0c803ceb9fbaffd336 new file mode 100644 index 00000000..b3ad6137 Binary files /dev/null and b/assets/emotes/emotesv2_5d1842c751484d0c803ceb9fbaffd336 differ diff --git a/assets/emotes/emotesv2_5d74a6ec97bf4e73bd9ccd43b9476099 b/assets/emotes/emotesv2_5d74a6ec97bf4e73bd9ccd43b9476099 new file mode 100644 index 00000000..c56d340b Binary files /dev/null and b/assets/emotes/emotesv2_5d74a6ec97bf4e73bd9ccd43b9476099 differ diff --git a/assets/emotes/emotesv2_5ea59661a7814218acc30217a2d5c9bc b/assets/emotes/emotesv2_5ea59661a7814218acc30217a2d5c9bc new file mode 100644 index 00000000..f4b6eb6f Binary files /dev/null and b/assets/emotes/emotesv2_5ea59661a7814218acc30217a2d5c9bc differ diff --git a/assets/emotes/emotesv2_5eabda432d074a469b96042350c1e57b b/assets/emotes/emotesv2_5eabda432d074a469b96042350c1e57b new file mode 100644 index 00000000..d4ac26be Binary files /dev/null and b/assets/emotes/emotesv2_5eabda432d074a469b96042350c1e57b differ diff --git a/assets/emotes/emotesv2_5ef5848f8b11466eaf506defd7ccc7eb b/assets/emotes/emotesv2_5ef5848f8b11466eaf506defd7ccc7eb new file mode 100644 index 00000000..d826d67c Binary files /dev/null and b/assets/emotes/emotesv2_5ef5848f8b11466eaf506defd7ccc7eb differ diff --git a/assets/emotes/emotesv2_5f06fe0ec7fb4dc9a2b65fc3ec20ed62 b/assets/emotes/emotesv2_5f06fe0ec7fb4dc9a2b65fc3ec20ed62 new file mode 100644 index 00000000..41c43795 Binary files /dev/null and b/assets/emotes/emotesv2_5f06fe0ec7fb4dc9a2b65fc3ec20ed62 differ diff --git a/assets/emotes/emotesv2_5ff031434a76471abfbfb048407d11f0 b/assets/emotes/emotesv2_5ff031434a76471abfbfb048407d11f0 new file mode 100644 index 00000000..da33d34a Binary files /dev/null and b/assets/emotes/emotesv2_5ff031434a76471abfbfb048407d11f0 differ diff --git a/assets/emotes/emotesv2_60298fdb66f1453c986fd231c9ae3861 b/assets/emotes/emotesv2_60298fdb66f1453c986fd231c9ae3861 new file mode 100644 index 00000000..ce14f701 Binary files /dev/null and b/assets/emotes/emotesv2_60298fdb66f1453c986fd231c9ae3861 differ diff --git a/assets/emotes/emotesv2_6063f18c72bf452ba298ba37b49842b1 b/assets/emotes/emotesv2_6063f18c72bf452ba298ba37b49842b1 new file mode 100644 index 00000000..02f4242b Binary files /dev/null and b/assets/emotes/emotesv2_6063f18c72bf452ba298ba37b49842b1 differ diff --git a/assets/emotes/emotesv2_606838c85fa0443999bfc21e8d5c479f b/assets/emotes/emotesv2_606838c85fa0443999bfc21e8d5c479f new file mode 100644 index 00000000..47a88546 Binary files /dev/null and b/assets/emotes/emotesv2_606838c85fa0443999bfc21e8d5c479f differ diff --git a/assets/emotes/emotesv2_60a5524c4f0a4d3ba0bcff774f6b3620 b/assets/emotes/emotesv2_60a5524c4f0a4d3ba0bcff774f6b3620 new file mode 100644 index 00000000..807f2e86 Binary files /dev/null and b/assets/emotes/emotesv2_60a5524c4f0a4d3ba0bcff774f6b3620 differ diff --git a/assets/emotes/emotesv2_61d8fd33d75a4681b9c39f2db3612d27 b/assets/emotes/emotesv2_61d8fd33d75a4681b9c39f2db3612d27 new file mode 100644 index 00000000..efadfb47 Binary files /dev/null and b/assets/emotes/emotesv2_61d8fd33d75a4681b9c39f2db3612d27 differ diff --git a/assets/emotes/emotesv2_61f1f40d0c8b4fafac3b401029bbb0dd b/assets/emotes/emotesv2_61f1f40d0c8b4fafac3b401029bbb0dd new file mode 100644 index 00000000..a55a7469 Binary files /dev/null and b/assets/emotes/emotesv2_61f1f40d0c8b4fafac3b401029bbb0dd differ diff --git a/assets/emotes/emotesv2_626bb9b129614d7db9aa0a8cecdb8ee3 b/assets/emotes/emotesv2_626bb9b129614d7db9aa0a8cecdb8ee3 new file mode 100644 index 00000000..b195ccb1 Binary files /dev/null and b/assets/emotes/emotesv2_626bb9b129614d7db9aa0a8cecdb8ee3 differ diff --git a/assets/emotes/emotesv2_627d415024924f1e9721db7985681789 b/assets/emotes/emotesv2_627d415024924f1e9721db7985681789 new file mode 100644 index 00000000..59eedea6 Binary files /dev/null and b/assets/emotes/emotesv2_627d415024924f1e9721db7985681789 differ diff --git a/assets/emotes/emotesv2_62a165a81ce3435db3a4a5a55c441f48 b/assets/emotes/emotesv2_62a165a81ce3435db3a4a5a55c441f48 new file mode 100644 index 00000000..7c7219d3 Binary files /dev/null and b/assets/emotes/emotesv2_62a165a81ce3435db3a4a5a55c441f48 differ diff --git a/assets/emotes/emotesv2_6304ec06235445a1b7bb753b22ed7904 b/assets/emotes/emotesv2_6304ec06235445a1b7bb753b22ed7904 new file mode 100644 index 00000000..2ebc6cf6 Binary files /dev/null and b/assets/emotes/emotesv2_6304ec06235445a1b7bb753b22ed7904 differ diff --git a/assets/emotes/emotesv2_63f6657086ae4512ba544dc330142e3b b/assets/emotes/emotesv2_63f6657086ae4512ba544dc330142e3b new file mode 100644 index 00000000..b7bf1aa5 Binary files /dev/null and b/assets/emotes/emotesv2_63f6657086ae4512ba544dc330142e3b differ diff --git a/assets/emotes/emotesv2_640e7fd46331451780c85c0143c7e9d9 b/assets/emotes/emotesv2_640e7fd46331451780c85c0143c7e9d9 new file mode 100644 index 00000000..420134f6 Binary files /dev/null and b/assets/emotes/emotesv2_640e7fd46331451780c85c0143c7e9d9 differ diff --git a/assets/emotes/emotesv2_6467341548844130a6d764e5f5fe5ab2 b/assets/emotes/emotesv2_6467341548844130a6d764e5f5fe5ab2 new file mode 100644 index 00000000..ed6d8a67 Binary files /dev/null and b/assets/emotes/emotesv2_6467341548844130a6d764e5f5fe5ab2 differ diff --git a/assets/emotes/emotesv2_68b95f1cbb924c43b82da38172b36e8f b/assets/emotes/emotesv2_68b95f1cbb924c43b82da38172b36e8f new file mode 100644 index 00000000..f5736ae4 Binary files /dev/null and b/assets/emotes/emotesv2_68b95f1cbb924c43b82da38172b36e8f differ diff --git a/assets/emotes/emotesv2_6a11881abb214087bdc945257a5e41c6 b/assets/emotes/emotesv2_6a11881abb214087bdc945257a5e41c6 new file mode 100644 index 00000000..493f758f Binary files /dev/null and b/assets/emotes/emotesv2_6a11881abb214087bdc945257a5e41c6 differ diff --git a/assets/emotes/emotesv2_6a2dc5d3f0b24035bc3ff8f06b20e701 b/assets/emotes/emotesv2_6a2dc5d3f0b24035bc3ff8f06b20e701 new file mode 100644 index 00000000..e7dd3d29 Binary files /dev/null and b/assets/emotes/emotesv2_6a2dc5d3f0b24035bc3ff8f06b20e701 differ diff --git a/assets/emotes/emotesv2_6a8f6885cd3b41e6ba3724b8330525cc b/assets/emotes/emotesv2_6a8f6885cd3b41e6ba3724b8330525cc new file mode 100644 index 00000000..7c06a04d Binary files /dev/null and b/assets/emotes/emotesv2_6a8f6885cd3b41e6ba3724b8330525cc differ diff --git a/assets/emotes/emotesv2_6c18ef056eeb4cac99837372aee45a12 b/assets/emotes/emotesv2_6c18ef056eeb4cac99837372aee45a12 new file mode 100644 index 00000000..1809999b Binary files /dev/null and b/assets/emotes/emotesv2_6c18ef056eeb4cac99837372aee45a12 differ diff --git a/assets/emotes/emotesv2_6d61d8c802bb47648bbcc1f9dea41432 b/assets/emotes/emotesv2_6d61d8c802bb47648bbcc1f9dea41432 new file mode 100644 index 00000000..0757e83a Binary files /dev/null and b/assets/emotes/emotesv2_6d61d8c802bb47648bbcc1f9dea41432 differ diff --git a/assets/emotes/emotesv2_6d8f1c892fad49acbb8b9cfdc7470071 b/assets/emotes/emotesv2_6d8f1c892fad49acbb8b9cfdc7470071 new file mode 100644 index 00000000..1a16c6b6 Binary files /dev/null and b/assets/emotes/emotesv2_6d8f1c892fad49acbb8b9cfdc7470071 differ diff --git a/assets/emotes/emotesv2_6e39974ec01d48d1a9226ae4e1b56aa4 b/assets/emotes/emotesv2_6e39974ec01d48d1a9226ae4e1b56aa4 new file mode 100644 index 00000000..6f7c4b8f Binary files /dev/null and b/assets/emotes/emotesv2_6e39974ec01d48d1a9226ae4e1b56aa4 differ diff --git a/assets/emotes/emotesv2_6e42740bd1804f0c809edfbee18db204 b/assets/emotes/emotesv2_6e42740bd1804f0c809edfbee18db204 new file mode 100644 index 00000000..d3bab62e Binary files /dev/null and b/assets/emotes/emotesv2_6e42740bd1804f0c809edfbee18db204 differ diff --git a/assets/emotes/emotesv2_6eaba1a1000e40e1b3476a6d55163d3c b/assets/emotes/emotesv2_6eaba1a1000e40e1b3476a6d55163d3c new file mode 100644 index 00000000..4509a023 Binary files /dev/null and b/assets/emotes/emotesv2_6eaba1a1000e40e1b3476a6d55163d3c differ diff --git a/assets/emotes/emotesv2_6f4fa2cd4b394b24aae860644fbbd02d b/assets/emotes/emotesv2_6f4fa2cd4b394b24aae860644fbbd02d new file mode 100644 index 00000000..de9c6806 Binary files /dev/null and b/assets/emotes/emotesv2_6f4fa2cd4b394b24aae860644fbbd02d differ diff --git a/assets/emotes/emotesv2_6f5986733e534ce9a02e4fa53c35323d b/assets/emotes/emotesv2_6f5986733e534ce9a02e4fa53c35323d new file mode 100644 index 00000000..b45415a3 Binary files /dev/null and b/assets/emotes/emotesv2_6f5986733e534ce9a02e4fa53c35323d differ diff --git a/assets/emotes/emotesv2_710a8f088662459eb3eacad7ac103af1 b/assets/emotes/emotesv2_710a8f088662459eb3eacad7ac103af1 new file mode 100644 index 00000000..eacaa63f Binary files /dev/null and b/assets/emotes/emotesv2_710a8f088662459eb3eacad7ac103af1 differ diff --git a/assets/emotes/emotesv2_7132d7b3c7ea4bb5846057f6dcb62d23 b/assets/emotes/emotesv2_7132d7b3c7ea4bb5846057f6dcb62d23 new file mode 100644 index 00000000..71c0527d Binary files /dev/null and b/assets/emotes/emotesv2_7132d7b3c7ea4bb5846057f6dcb62d23 differ diff --git a/assets/emotes/emotesv2_735d908c232544b29360a715010bb118 b/assets/emotes/emotesv2_735d908c232544b29360a715010bb118 new file mode 100644 index 00000000..147311b2 Binary files /dev/null and b/assets/emotes/emotesv2_735d908c232544b29360a715010bb118 differ diff --git a/assets/emotes/emotesv2_73827a8add6a49e5b56969f6a38d6204 b/assets/emotes/emotesv2_73827a8add6a49e5b56969f6a38d6204 new file mode 100644 index 00000000..4c05e3d4 Binary files /dev/null and b/assets/emotes/emotesv2_73827a8add6a49e5b56969f6a38d6204 differ diff --git a/assets/emotes/emotesv2_763ebf1016e04418929b1d71b41d31d5 b/assets/emotes/emotesv2_763ebf1016e04418929b1d71b41d31d5 new file mode 100644 index 00000000..0e66f0b8 Binary files /dev/null and b/assets/emotes/emotesv2_763ebf1016e04418929b1d71b41d31d5 differ diff --git a/assets/emotes/emotesv2_7a98531b293542a08417747a48da2bdc b/assets/emotes/emotesv2_7a98531b293542a08417747a48da2bdc new file mode 100644 index 00000000..8633534e Binary files /dev/null and b/assets/emotes/emotesv2_7a98531b293542a08417747a48da2bdc differ diff --git a/assets/emotes/emotesv2_7ab53dff8d6d4d759c1cde19c60b493b b/assets/emotes/emotesv2_7ab53dff8d6d4d759c1cde19c60b493b new file mode 100644 index 00000000..6995de7d Binary files /dev/null and b/assets/emotes/emotesv2_7ab53dff8d6d4d759c1cde19c60b493b differ diff --git a/assets/emotes/emotesv2_7b4502ff8b4e41ed9e01bb8cae7af5c8 b/assets/emotes/emotesv2_7b4502ff8b4e41ed9e01bb8cae7af5c8 new file mode 100644 index 00000000..6f1cb365 Binary files /dev/null and b/assets/emotes/emotesv2_7b4502ff8b4e41ed9e01bb8cae7af5c8 differ diff --git a/assets/emotes/emotesv2_7b7acf5a165e424f938e2c4e116be0eb b/assets/emotes/emotesv2_7b7acf5a165e424f938e2c4e116be0eb new file mode 100644 index 00000000..6745a733 Binary files /dev/null and b/assets/emotes/emotesv2_7b7acf5a165e424f938e2c4e116be0eb differ diff --git a/assets/emotes/emotesv2_7bb6845f2d9143d5a68a8c8ed6eb76d6 b/assets/emotes/emotesv2_7bb6845f2d9143d5a68a8c8ed6eb76d6 new file mode 100644 index 00000000..2adc3798 Binary files /dev/null and b/assets/emotes/emotesv2_7bb6845f2d9143d5a68a8c8ed6eb76d6 differ diff --git a/assets/emotes/emotesv2_7c782737cc8247af99ee5d01aa88081c b/assets/emotes/emotesv2_7c782737cc8247af99ee5d01aa88081c new file mode 100644 index 00000000..80fb2c63 Binary files /dev/null and b/assets/emotes/emotesv2_7c782737cc8247af99ee5d01aa88081c differ diff --git a/assets/emotes/emotesv2_7cf9cff95b944cef82e62a7aad06143a b/assets/emotes/emotesv2_7cf9cff95b944cef82e62a7aad06143a new file mode 100644 index 00000000..72109007 Binary files /dev/null and b/assets/emotes/emotesv2_7cf9cff95b944cef82e62a7aad06143a differ diff --git a/assets/emotes/emotesv2_7d9e832db56f4344ab1d82b76b2570c8 b/assets/emotes/emotesv2_7d9e832db56f4344ab1d82b76b2570c8 new file mode 100644 index 00000000..278ad519 Binary files /dev/null and b/assets/emotes/emotesv2_7d9e832db56f4344ab1d82b76b2570c8 differ diff --git a/assets/emotes/emotesv2_7e721195c9534f899204d096b0747ad3 b/assets/emotes/emotesv2_7e721195c9534f899204d096b0747ad3 new file mode 100644 index 00000000..545ba571 Binary files /dev/null and b/assets/emotes/emotesv2_7e721195c9534f899204d096b0747ad3 differ diff --git a/assets/emotes/emotesv2_7f09d8e70a5c4fbaa14f1f280f987f80 b/assets/emotes/emotesv2_7f09d8e70a5c4fbaa14f1f280f987f80 new file mode 100644 index 00000000..3b048be8 Binary files /dev/null and b/assets/emotes/emotesv2_7f09d8e70a5c4fbaa14f1f280f987f80 differ diff --git a/assets/emotes/emotesv2_7fc7502b51094839b0c249f0227ccb6f b/assets/emotes/emotesv2_7fc7502b51094839b0c249f0227ccb6f new file mode 100644 index 00000000..c6f21be9 Binary files /dev/null and b/assets/emotes/emotesv2_7fc7502b51094839b0c249f0227ccb6f differ diff --git a/assets/emotes/emotesv2_803bab7b4ecd486bafaf2f95ab842a49 b/assets/emotes/emotesv2_803bab7b4ecd486bafaf2f95ab842a49 new file mode 100644 index 00000000..3596cfd7 Binary files /dev/null and b/assets/emotes/emotesv2_803bab7b4ecd486bafaf2f95ab842a49 differ diff --git a/assets/emotes/emotesv2_807cde04b4614b31862e52fb69365d36 b/assets/emotes/emotesv2_807cde04b4614b31862e52fb69365d36 new file mode 100644 index 00000000..bb95ce77 Binary files /dev/null and b/assets/emotes/emotesv2_807cde04b4614b31862e52fb69365d36 differ diff --git a/assets/emotes/emotesv2_81897a1c9b4445378b651808dc4fdfa9 b/assets/emotes/emotesv2_81897a1c9b4445378b651808dc4fdfa9 new file mode 100644 index 00000000..c566626f Binary files /dev/null and b/assets/emotes/emotesv2_81897a1c9b4445378b651808dc4fdfa9 differ diff --git a/assets/emotes/emotesv2_8264801e188a4b219668c0b0e14c7258 b/assets/emotes/emotesv2_8264801e188a4b219668c0b0e14c7258 new file mode 100644 index 00000000..31682b24 Binary files /dev/null and b/assets/emotes/emotesv2_8264801e188a4b219668c0b0e14c7258 differ diff --git a/assets/emotes/emotesv2_8272c793dc9f4658887df323dedf96fb b/assets/emotes/emotesv2_8272c793dc9f4658887df323dedf96fb new file mode 100644 index 00000000..c7d0ec13 Binary files /dev/null and b/assets/emotes/emotesv2_8272c793dc9f4658887df323dedf96fb differ diff --git a/assets/emotes/emotesv2_83be05735ebe4d11b9ddad7da35a8d4c b/assets/emotes/emotesv2_83be05735ebe4d11b9ddad7da35a8d4c new file mode 100644 index 00000000..4df904a6 Binary files /dev/null and b/assets/emotes/emotesv2_83be05735ebe4d11b9ddad7da35a8d4c differ diff --git a/assets/emotes/emotesv2_861b010e1c1d40c0bd7bd08414294679 b/assets/emotes/emotesv2_861b010e1c1d40c0bd7bd08414294679 new file mode 100644 index 00000000..a0b93ec9 Binary files /dev/null and b/assets/emotes/emotesv2_861b010e1c1d40c0bd7bd08414294679 differ diff --git a/assets/emotes/emotesv2_871fb6fa55d54fae8e807198c59e082f b/assets/emotes/emotesv2_871fb6fa55d54fae8e807198c59e082f new file mode 100644 index 00000000..b116e1b6 Binary files /dev/null and b/assets/emotes/emotesv2_871fb6fa55d54fae8e807198c59e082f differ diff --git a/assets/emotes/emotesv2_890d049c630544678939e0582ca80215 b/assets/emotes/emotesv2_890d049c630544678939e0582ca80215 new file mode 100644 index 00000000..7ece6264 Binary files /dev/null and b/assets/emotes/emotesv2_890d049c630544678939e0582ca80215 differ diff --git a/assets/emotes/emotesv2_891049ccb8834eeebb74f82481872efb b/assets/emotes/emotesv2_891049ccb8834eeebb74f82481872efb new file mode 100644 index 00000000..34de4cc7 Binary files /dev/null and b/assets/emotes/emotesv2_891049ccb8834eeebb74f82481872efb differ diff --git a/assets/emotes/emotesv2_89f0f73dcc6644c3b5a356bfde50739c b/assets/emotes/emotesv2_89f0f73dcc6644c3b5a356bfde50739c new file mode 100644 index 00000000..0dbfb0d7 Binary files /dev/null and b/assets/emotes/emotesv2_89f0f73dcc6644c3b5a356bfde50739c differ diff --git a/assets/emotes/emotesv2_8a52ed73c3e94128a326644fcaccd3c7 b/assets/emotes/emotesv2_8a52ed73c3e94128a326644fcaccd3c7 new file mode 100644 index 00000000..6bdff214 Binary files /dev/null and b/assets/emotes/emotesv2_8a52ed73c3e94128a326644fcaccd3c7 differ diff --git a/assets/emotes/emotesv2_8a9aa6baf9ff4816a9cd37b212633a89 b/assets/emotes/emotesv2_8a9aa6baf9ff4816a9cd37b212633a89 new file mode 100644 index 00000000..fc807532 Binary files /dev/null and b/assets/emotes/emotesv2_8a9aa6baf9ff4816a9cd37b212633a89 differ diff --git a/assets/emotes/emotesv2_8b268899679147d49f2b6c6d1d2db7b5 b/assets/emotes/emotesv2_8b268899679147d49f2b6c6d1d2db7b5 new file mode 100644 index 00000000..f66cc428 Binary files /dev/null and b/assets/emotes/emotesv2_8b268899679147d49f2b6c6d1d2db7b5 differ diff --git a/assets/emotes/emotesv2_8b3622b553dc4fe7af4d10cc4f37c692 b/assets/emotes/emotesv2_8b3622b553dc4fe7af4d10cc4f37c692 new file mode 100644 index 00000000..76cbfe70 Binary files /dev/null and b/assets/emotes/emotesv2_8b3622b553dc4fe7af4d10cc4f37c692 differ diff --git a/assets/emotes/emotesv2_8c985caab1b74fa988d1840547d4d523 b/assets/emotes/emotesv2_8c985caab1b74fa988d1840547d4d523 new file mode 100644 index 00000000..59e6921a Binary files /dev/null and b/assets/emotes/emotesv2_8c985caab1b74fa988d1840547d4d523 differ diff --git a/assets/emotes/emotesv2_8cdd3265d8b94773b0c10969d65925b1 b/assets/emotes/emotesv2_8cdd3265d8b94773b0c10969d65925b1 new file mode 100644 index 00000000..ac386d8c Binary files /dev/null and b/assets/emotes/emotesv2_8cdd3265d8b94773b0c10969d65925b1 differ diff --git a/assets/emotes/emotesv2_8d1c552146264a5baa859dc9e36c6f1d b/assets/emotes/emotesv2_8d1c552146264a5baa859dc9e36c6f1d new file mode 100644 index 00000000..62bb3be1 Binary files /dev/null and b/assets/emotes/emotesv2_8d1c552146264a5baa859dc9e36c6f1d differ diff --git a/assets/emotes/emotesv2_8f39f6d06973469d9f5ba10c168d38a9 b/assets/emotes/emotesv2_8f39f6d06973469d9f5ba10c168d38a9 new file mode 100644 index 00000000..806ae3dd Binary files /dev/null and b/assets/emotes/emotesv2_8f39f6d06973469d9f5ba10c168d38a9 differ diff --git a/assets/emotes/emotesv2_8f8c4272a8bf41679f0a0fa2a418dce3 b/assets/emotes/emotesv2_8f8c4272a8bf41679f0a0fa2a418dce3 new file mode 100644 index 00000000..dc4e07cf Binary files /dev/null and b/assets/emotes/emotesv2_8f8c4272a8bf41679f0a0fa2a418dce3 differ diff --git a/assets/emotes/emotesv2_8fb4c888dcdf48078a86bfb0ff8abe07 b/assets/emotes/emotesv2_8fb4c888dcdf48078a86bfb0ff8abe07 new file mode 100644 index 00000000..07fc06fe Binary files /dev/null and b/assets/emotes/emotesv2_8fb4c888dcdf48078a86bfb0ff8abe07 differ diff --git a/assets/emotes/emotesv2_8fb8fb8d7e574838a565e043dd28db25 b/assets/emotes/emotesv2_8fb8fb8d7e574838a565e043dd28db25 new file mode 100644 index 00000000..1d668e5a Binary files /dev/null and b/assets/emotes/emotesv2_8fb8fb8d7e574838a565e043dd28db25 differ diff --git a/assets/emotes/emotesv2_8fc4a178bd26480c89a5d60847f06201 b/assets/emotes/emotesv2_8fc4a178bd26480c89a5d60847f06201 new file mode 100644 index 00000000..f3c6e40f Binary files /dev/null and b/assets/emotes/emotesv2_8fc4a178bd26480c89a5d60847f06201 differ diff --git a/assets/emotes/emotesv2_8fe9176c7b2a4873be7ecd15c8e4a70b b/assets/emotes/emotesv2_8fe9176c7b2a4873be7ecd15c8e4a70b new file mode 100644 index 00000000..550ded94 Binary files /dev/null and b/assets/emotes/emotesv2_8fe9176c7b2a4873be7ecd15c8e4a70b differ diff --git a/assets/emotes/emotesv2_90d1979728c3401987e54e1f239f0f18 b/assets/emotes/emotesv2_90d1979728c3401987e54e1f239f0f18 new file mode 100644 index 00000000..304b6edd Binary files /dev/null and b/assets/emotes/emotesv2_90d1979728c3401987e54e1f239f0f18 differ diff --git a/assets/emotes/emotesv2_910977d4e26f4241b2d6228277807f46 b/assets/emotes/emotesv2_910977d4e26f4241b2d6228277807f46 new file mode 100644 index 00000000..233d0ede Binary files /dev/null and b/assets/emotes/emotesv2_910977d4e26f4241b2d6228277807f46 differ diff --git a/assets/emotes/emotesv2_920ede18c8b74203b9b1e8f7d0c8304d b/assets/emotes/emotesv2_920ede18c8b74203b9b1e8f7d0c8304d new file mode 100644 index 00000000..6d6e809d Binary files /dev/null and b/assets/emotes/emotesv2_920ede18c8b74203b9b1e8f7d0c8304d differ diff --git a/assets/emotes/emotesv2_93527a53a5bc4ed495d93f1bbde5f95e b/assets/emotes/emotesv2_93527a53a5bc4ed495d93f1bbde5f95e new file mode 100644 index 00000000..8ab29b8d Binary files /dev/null and b/assets/emotes/emotesv2_93527a53a5bc4ed495d93f1bbde5f95e differ diff --git a/assets/emotes/emotesv2_9379a37a2d5f46fb96989a97b5e1d63c b/assets/emotes/emotesv2_9379a37a2d5f46fb96989a97b5e1d63c new file mode 100644 index 00000000..384760e0 Binary files /dev/null and b/assets/emotes/emotesv2_9379a37a2d5f46fb96989a97b5e1d63c differ diff --git a/assets/emotes/emotesv2_938256701565439db7fed5574b995d89 b/assets/emotes/emotesv2_938256701565439db7fed5574b995d89 new file mode 100644 index 00000000..13ecadb7 Binary files /dev/null and b/assets/emotes/emotesv2_938256701565439db7fed5574b995d89 differ diff --git a/assets/emotes/emotesv2_93a680b6acd5490dbfa76a2f5b0bd28b b/assets/emotes/emotesv2_93a680b6acd5490dbfa76a2f5b0bd28b new file mode 100644 index 00000000..f263b7f8 Binary files /dev/null and b/assets/emotes/emotesv2_93a680b6acd5490dbfa76a2f5b0bd28b differ diff --git a/assets/emotes/emotesv2_94fe0607105a4bd387719a35e89d5cc7 b/assets/emotes/emotesv2_94fe0607105a4bd387719a35e89d5cc7 new file mode 100644 index 00000000..78900218 Binary files /dev/null and b/assets/emotes/emotesv2_94fe0607105a4bd387719a35e89d5cc7 differ diff --git a/assets/emotes/emotesv2_951bf4b33ba1450290a475955f2722a1 b/assets/emotes/emotesv2_951bf4b33ba1450290a475955f2722a1 new file mode 100644 index 00000000..5df60d08 Binary files /dev/null and b/assets/emotes/emotesv2_951bf4b33ba1450290a475955f2722a1 differ diff --git a/assets/emotes/emotesv2_95b7317345d7432eae90096a7000067c b/assets/emotes/emotesv2_95b7317345d7432eae90096a7000067c new file mode 100644 index 00000000..d548d3e1 Binary files /dev/null and b/assets/emotes/emotesv2_95b7317345d7432eae90096a7000067c differ diff --git a/assets/emotes/emotesv2_98e437991bb34b458009383517fb2c53 b/assets/emotes/emotesv2_98e437991bb34b458009383517fb2c53 new file mode 100644 index 00000000..ac8000a6 Binary files /dev/null and b/assets/emotes/emotesv2_98e437991bb34b458009383517fb2c53 differ diff --git a/assets/emotes/emotesv2_9a5992a902bf434d84d5b3266ea33cdd b/assets/emotes/emotesv2_9a5992a902bf434d84d5b3266ea33cdd new file mode 100644 index 00000000..03b28376 Binary files /dev/null and b/assets/emotes/emotesv2_9a5992a902bf434d84d5b3266ea33cdd differ diff --git a/assets/emotes/emotesv2_9a74615f05084b8888a627d06b5b5be4 b/assets/emotes/emotesv2_9a74615f05084b8888a627d06b5b5be4 new file mode 100644 index 00000000..6e90199e Binary files /dev/null and b/assets/emotes/emotesv2_9a74615f05084b8888a627d06b5b5be4 differ diff --git a/assets/emotes/emotesv2_9a8d8c9bd11d435184d4331e3a33aca3 b/assets/emotes/emotesv2_9a8d8c9bd11d435184d4331e3a33aca3 new file mode 100644 index 00000000..a8e101d7 Binary files /dev/null and b/assets/emotes/emotesv2_9a8d8c9bd11d435184d4331e3a33aca3 differ diff --git a/assets/emotes/emotesv2_9a96e98a135c439582b375e8fd60e294 b/assets/emotes/emotesv2_9a96e98a135c439582b375e8fd60e294 new file mode 100644 index 00000000..056a2d1c Binary files /dev/null and b/assets/emotes/emotesv2_9a96e98a135c439582b375e8fd60e294 differ diff --git a/assets/emotes/emotesv2_9b10fd2981d14f1d96d9f133aeac5283 b/assets/emotes/emotesv2_9b10fd2981d14f1d96d9f133aeac5283 new file mode 100644 index 00000000..fdd6ec9b Binary files /dev/null and b/assets/emotes/emotesv2_9b10fd2981d14f1d96d9f133aeac5283 differ diff --git a/assets/emotes/emotesv2_9b6569cc72e04b7298f1772c0b039c9d b/assets/emotes/emotesv2_9b6569cc72e04b7298f1772c0b039c9d new file mode 100644 index 00000000..baf89b92 Binary files /dev/null and b/assets/emotes/emotesv2_9b6569cc72e04b7298f1772c0b039c9d differ diff --git a/assets/emotes/emotesv2_9b7afda20bfa4c9ebf0ac0ed134203a1 b/assets/emotes/emotesv2_9b7afda20bfa4c9ebf0ac0ed134203a1 new file mode 100644 index 00000000..5a37025c Binary files /dev/null and b/assets/emotes/emotesv2_9b7afda20bfa4c9ebf0ac0ed134203a1 differ diff --git a/assets/emotes/emotesv2_9e8fdd5115384019a3655e39b4074d5e b/assets/emotes/emotesv2_9e8fdd5115384019a3655e39b4074d5e new file mode 100644 index 00000000..f5f1af39 Binary files /dev/null and b/assets/emotes/emotesv2_9e8fdd5115384019a3655e39b4074d5e differ diff --git a/assets/emotes/emotesv2_9e980c1976e74fd0b7fd99582d8751ea b/assets/emotes/emotesv2_9e980c1976e74fd0b7fd99582d8751ea new file mode 100644 index 00000000..578114bc Binary files /dev/null and b/assets/emotes/emotesv2_9e980c1976e74fd0b7fd99582d8751ea differ diff --git a/assets/emotes/emotesv2_9edb26b0c62d4dceb0a4699ba1246baf b/assets/emotes/emotesv2_9edb26b0c62d4dceb0a4699ba1246baf new file mode 100644 index 00000000..9d8920bf Binary files /dev/null and b/assets/emotes/emotesv2_9edb26b0c62d4dceb0a4699ba1246baf differ diff --git a/assets/emotes/emotesv2_9f5a37d6cc1740e6b9a3b735d2685765 b/assets/emotes/emotesv2_9f5a37d6cc1740e6b9a3b735d2685765 new file mode 100644 index 00000000..9201fcd8 Binary files /dev/null and b/assets/emotes/emotesv2_9f5a37d6cc1740e6b9a3b735d2685765 differ diff --git a/assets/emotes/emotesv2_a0174f1eb8874db89f2429f6a529f75a b/assets/emotes/emotesv2_a0174f1eb8874db89f2429f6a529f75a new file mode 100644 index 00000000..fea522cc Binary files /dev/null and b/assets/emotes/emotesv2_a0174f1eb8874db89f2429f6a529f75a differ diff --git a/assets/emotes/emotesv2_a11ac93345a849078f98c4bad5cd50f7 b/assets/emotes/emotesv2_a11ac93345a849078f98c4bad5cd50f7 new file mode 100644 index 00000000..a369fe8b Binary files /dev/null and b/assets/emotes/emotesv2_a11ac93345a849078f98c4bad5cd50f7 differ diff --git a/assets/emotes/emotesv2_a12c927c99bc4a7bbb3c4f3966d5ee52 b/assets/emotes/emotesv2_a12c927c99bc4a7bbb3c4f3966d5ee52 new file mode 100644 index 00000000..75b6a268 Binary files /dev/null and b/assets/emotes/emotesv2_a12c927c99bc4a7bbb3c4f3966d5ee52 differ diff --git a/assets/emotes/emotesv2_a267d59c63eb43969fe9956853b2834b b/assets/emotes/emotesv2_a267d59c63eb43969fe9956853b2834b new file mode 100644 index 00000000..2aa21989 Binary files /dev/null and b/assets/emotes/emotesv2_a267d59c63eb43969fe9956853b2834b differ diff --git a/assets/emotes/emotesv2_a312b11111c244108e1fd29a057e157f b/assets/emotes/emotesv2_a312b11111c244108e1fd29a057e157f new file mode 100644 index 00000000..7b9f53df Binary files /dev/null and b/assets/emotes/emotesv2_a312b11111c244108e1fd29a057e157f differ diff --git a/assets/emotes/emotesv2_a3d0d41939734f0f925f33411d5fa0f3 b/assets/emotes/emotesv2_a3d0d41939734f0f925f33411d5fa0f3 new file mode 100644 index 00000000..b7a46af1 Binary files /dev/null and b/assets/emotes/emotesv2_a3d0d41939734f0f925f33411d5fa0f3 differ diff --git a/assets/emotes/emotesv2_a579d8f33ad14ab9ab2e430a57698a53 b/assets/emotes/emotesv2_a579d8f33ad14ab9ab2e430a57698a53 new file mode 100644 index 00000000..e6095b48 Binary files /dev/null and b/assets/emotes/emotesv2_a579d8f33ad14ab9ab2e430a57698a53 differ diff --git a/assets/emotes/emotesv2_a5dd02ec8e7749798d99b2cf7926955d b/assets/emotes/emotesv2_a5dd02ec8e7749798d99b2cf7926955d new file mode 100644 index 00000000..46000c85 Binary files /dev/null and b/assets/emotes/emotesv2_a5dd02ec8e7749798d99b2cf7926955d differ diff --git a/assets/emotes/emotesv2_a620b6a73b72466180fb1f1c404af165 b/assets/emotes/emotesv2_a620b6a73b72466180fb1f1c404af165 new file mode 100644 index 00000000..f2e03aa1 Binary files /dev/null and b/assets/emotes/emotesv2_a620b6a73b72466180fb1f1c404af165 differ diff --git a/assets/emotes/emotesv2_a6478790801c45ff83b60dd764674144 b/assets/emotes/emotesv2_a6478790801c45ff83b60dd764674144 new file mode 100644 index 00000000..f188fd85 Binary files /dev/null and b/assets/emotes/emotesv2_a6478790801c45ff83b60dd764674144 differ diff --git a/assets/emotes/emotesv2_a7c3b55039564c3db97204787e90e4e3 b/assets/emotes/emotesv2_a7c3b55039564c3db97204787e90e4e3 new file mode 100644 index 00000000..43306bba Binary files /dev/null and b/assets/emotes/emotesv2_a7c3b55039564c3db97204787e90e4e3 differ diff --git a/assets/emotes/emotesv2_a7e79590d37a435181fac86b308837f0 b/assets/emotes/emotesv2_a7e79590d37a435181fac86b308837f0 new file mode 100644 index 00000000..b6655420 Binary files /dev/null and b/assets/emotes/emotesv2_a7e79590d37a435181fac86b308837f0 differ diff --git a/assets/emotes/emotesv2_a85109c3f75148fe93f3f02a0d988611 b/assets/emotes/emotesv2_a85109c3f75148fe93f3f02a0d988611 new file mode 100644 index 00000000..e438e30e Binary files /dev/null and b/assets/emotes/emotesv2_a85109c3f75148fe93f3f02a0d988611 differ diff --git a/assets/emotes/emotesv2_a8b9348b3fb4460da4aca5ac7eab6c29 b/assets/emotes/emotesv2_a8b9348b3fb4460da4aca5ac7eab6c29 new file mode 100644 index 00000000..2a8a6377 Binary files /dev/null and b/assets/emotes/emotesv2_a8b9348b3fb4460da4aca5ac7eab6c29 differ diff --git a/assets/emotes/emotesv2_a8db09db865b4292a28902672d7fb61f b/assets/emotes/emotesv2_a8db09db865b4292a28902672d7fb61f new file mode 100644 index 00000000..16bfa461 Binary files /dev/null and b/assets/emotes/emotesv2_a8db09db865b4292a28902672d7fb61f differ diff --git a/assets/emotes/emotesv2_a98b7ac0ce6d4c5fa55e2790e027005c b/assets/emotes/emotesv2_a98b7ac0ce6d4c5fa55e2790e027005c new file mode 100644 index 00000000..52bc2a68 Binary files /dev/null and b/assets/emotes/emotesv2_a98b7ac0ce6d4c5fa55e2790e027005c differ diff --git a/assets/emotes/emotesv2_aa8db3de21e1465dab81bedfa47e29f2 b/assets/emotes/emotesv2_aa8db3de21e1465dab81bedfa47e29f2 new file mode 100644 index 00000000..ec7e38a9 Binary files /dev/null and b/assets/emotes/emotesv2_aa8db3de21e1465dab81bedfa47e29f2 differ diff --git a/assets/emotes/emotesv2_ab0b1b7ab1fd4303b6b3e79b7587c97a b/assets/emotes/emotesv2_ab0b1b7ab1fd4303b6b3e79b7587c97a new file mode 100644 index 00000000..1919c285 Binary files /dev/null and b/assets/emotes/emotesv2_ab0b1b7ab1fd4303b6b3e79b7587c97a differ diff --git a/assets/emotes/emotesv2_abf191efd6484178a6dcc3ee65a161f7 b/assets/emotes/emotesv2_abf191efd6484178a6dcc3ee65a161f7 new file mode 100644 index 00000000..5888f297 Binary files /dev/null and b/assets/emotes/emotesv2_abf191efd6484178a6dcc3ee65a161f7 differ diff --git a/assets/emotes/emotesv2_ac040d08831d4852851727054603db8c b/assets/emotes/emotesv2_ac040d08831d4852851727054603db8c new file mode 100644 index 00000000..e3c3b06b Binary files /dev/null and b/assets/emotes/emotesv2_ac040d08831d4852851727054603db8c differ diff --git a/assets/emotes/emotesv2_ad50b9a0ca6d452bbf8fbe838dfb0346 b/assets/emotes/emotesv2_ad50b9a0ca6d452bbf8fbe838dfb0346 new file mode 100644 index 00000000..52c48c71 Binary files /dev/null and b/assets/emotes/emotesv2_ad50b9a0ca6d452bbf8fbe838dfb0346 differ diff --git a/assets/emotes/emotesv2_ad68e2b723404bf58c645194820b04b9 b/assets/emotes/emotesv2_ad68e2b723404bf58c645194820b04b9 new file mode 100644 index 00000000..0532e18a Binary files /dev/null and b/assets/emotes/emotesv2_ad68e2b723404bf58c645194820b04b9 differ diff --git a/assets/emotes/emotesv2_ae51eae2cf074a44805328e2b44c13d4 b/assets/emotes/emotesv2_ae51eae2cf074a44805328e2b44c13d4 new file mode 100644 index 00000000..13d459dd Binary files /dev/null and b/assets/emotes/emotesv2_ae51eae2cf074a44805328e2b44c13d4 differ diff --git a/assets/emotes/emotesv2_ae6dfcaa8c454d8b9dcbb590a23636ea b/assets/emotes/emotesv2_ae6dfcaa8c454d8b9dcbb590a23636ea new file mode 100644 index 00000000..5e89119a Binary files /dev/null and b/assets/emotes/emotesv2_ae6dfcaa8c454d8b9dcbb590a23636ea differ diff --git a/assets/emotes/emotesv2_ae75437617824598a8fc6d64f6f1f75a b/assets/emotes/emotesv2_ae75437617824598a8fc6d64f6f1f75a new file mode 100644 index 00000000..d01c0559 Binary files /dev/null and b/assets/emotes/emotesv2_ae75437617824598a8fc6d64f6f1f75a differ diff --git a/assets/emotes/emotesv2_b00ec08df5034eb9bd057e197af5d418 b/assets/emotes/emotesv2_b00ec08df5034eb9bd057e197af5d418 new file mode 100644 index 00000000..1add41d5 Binary files /dev/null and b/assets/emotes/emotesv2_b00ec08df5034eb9bd057e197af5d418 differ diff --git a/assets/emotes/emotesv2_b074dbfd4497498fae655a83164a75ba b/assets/emotes/emotesv2_b074dbfd4497498fae655a83164a75ba new file mode 100644 index 00000000..6842b648 Binary files /dev/null and b/assets/emotes/emotesv2_b074dbfd4497498fae655a83164a75ba differ diff --git a/assets/emotes/emotesv2_b1ca5ab6d4f5434d9c7861820a911b15 b/assets/emotes/emotesv2_b1ca5ab6d4f5434d9c7861820a911b15 new file mode 100644 index 00000000..3e48ef67 Binary files /dev/null and b/assets/emotes/emotesv2_b1ca5ab6d4f5434d9c7861820a911b15 differ diff --git a/assets/emotes/emotesv2_b21285be7eb140d3b792ab46071eea1e b/assets/emotes/emotesv2_b21285be7eb140d3b792ab46071eea1e new file mode 100644 index 00000000..ae12bae4 Binary files /dev/null and b/assets/emotes/emotesv2_b21285be7eb140d3b792ab46071eea1e differ diff --git a/assets/emotes/emotesv2_b245fbf7b42145a1a59e707557d308ff b/assets/emotes/emotesv2_b245fbf7b42145a1a59e707557d308ff new file mode 100644 index 00000000..255e0b72 Binary files /dev/null and b/assets/emotes/emotesv2_b245fbf7b42145a1a59e707557d308ff differ diff --git a/assets/emotes/emotesv2_b282dd1ae0414bd0b7a6124dd373d264 b/assets/emotes/emotesv2_b282dd1ae0414bd0b7a6124dd373d264 new file mode 100644 index 00000000..614f2505 Binary files /dev/null and b/assets/emotes/emotesv2_b282dd1ae0414bd0b7a6124dd373d264 differ diff --git a/assets/emotes/emotesv2_b42a863da9ef4db9a7380ce05519b747 b/assets/emotes/emotesv2_b42a863da9ef4db9a7380ce05519b747 new file mode 100644 index 00000000..260e9e84 Binary files /dev/null and b/assets/emotes/emotesv2_b42a863da9ef4db9a7380ce05519b747 differ diff --git a/assets/emotes/emotesv2_b446c43c644940b5868314bdaec10a18 b/assets/emotes/emotesv2_b446c43c644940b5868314bdaec10a18 new file mode 100644 index 00000000..4db4baf4 Binary files /dev/null and b/assets/emotes/emotesv2_b446c43c644940b5868314bdaec10a18 differ diff --git a/assets/emotes/emotesv2_b485e0da6fad4b21a16592626342a38f b/assets/emotes/emotesv2_b485e0da6fad4b21a16592626342a38f new file mode 100644 index 00000000..7d847015 Binary files /dev/null and b/assets/emotes/emotesv2_b485e0da6fad4b21a16592626342a38f differ diff --git a/assets/emotes/emotesv2_b6146b2ce9a347128742d7ca01ac229a b/assets/emotes/emotesv2_b6146b2ce9a347128742d7ca01ac229a new file mode 100644 index 00000000..d55a677b Binary files /dev/null and b/assets/emotes/emotesv2_b6146b2ce9a347128742d7ca01ac229a differ diff --git a/assets/emotes/emotesv2_b783b54d598940ff8e5a60c9cfe868dd b/assets/emotes/emotesv2_b783b54d598940ff8e5a60c9cfe868dd new file mode 100644 index 00000000..f7ce615d Binary files /dev/null and b/assets/emotes/emotesv2_b783b54d598940ff8e5a60c9cfe868dd differ diff --git a/assets/emotes/emotesv2_b7edfba3424d47448442ebed316973d5 b/assets/emotes/emotesv2_b7edfba3424d47448442ebed316973d5 new file mode 100644 index 00000000..457893d3 Binary files /dev/null and b/assets/emotes/emotesv2_b7edfba3424d47448442ebed316973d5 differ diff --git a/assets/emotes/emotesv2_ba0245b2977641faa0da1670726c1790 b/assets/emotes/emotesv2_ba0245b2977641faa0da1670726c1790 new file mode 100644 index 00000000..2d43be08 Binary files /dev/null and b/assets/emotes/emotesv2_ba0245b2977641faa0da1670726c1790 differ diff --git a/assets/emotes/emotesv2_ba0ef735fe664b169a221ad9f87f6e0c b/assets/emotes/emotesv2_ba0ef735fe664b169a221ad9f87f6e0c new file mode 100644 index 00000000..52d795ac Binary files /dev/null and b/assets/emotes/emotesv2_ba0ef735fe664b169a221ad9f87f6e0c differ diff --git a/assets/emotes/emotesv2_ba780a53f337416c8d41390ebee01119 b/assets/emotes/emotesv2_ba780a53f337416c8d41390ebee01119 new file mode 100644 index 00000000..afffb3f2 Binary files /dev/null and b/assets/emotes/emotesv2_ba780a53f337416c8d41390ebee01119 differ diff --git a/assets/emotes/emotesv2_bada012e7c224dd7b23a8a48c4dcd118 b/assets/emotes/emotesv2_bada012e7c224dd7b23a8a48c4dcd118 new file mode 100644 index 00000000..ef0daaf3 Binary files /dev/null and b/assets/emotes/emotesv2_bada012e7c224dd7b23a8a48c4dcd118 differ diff --git a/assets/emotes/emotesv2_baf2757706104c81a7cba44cf676bc5b b/assets/emotes/emotesv2_baf2757706104c81a7cba44cf676bc5b new file mode 100644 index 00000000..a367cc97 Binary files /dev/null and b/assets/emotes/emotesv2_baf2757706104c81a7cba44cf676bc5b differ diff --git a/assets/emotes/emotesv2_bba5b53d3b964a1b92ef1343e039d664 b/assets/emotes/emotesv2_bba5b53d3b964a1b92ef1343e039d664 new file mode 100644 index 00000000..7c507998 Binary files /dev/null and b/assets/emotes/emotesv2_bba5b53d3b964a1b92ef1343e039d664 differ diff --git a/assets/emotes/emotesv2_bbda2d66fb2d448e9e0021ddcdc63b8d b/assets/emotes/emotesv2_bbda2d66fb2d448e9e0021ddcdc63b8d new file mode 100644 index 00000000..45638053 Binary files /dev/null and b/assets/emotes/emotesv2_bbda2d66fb2d448e9e0021ddcdc63b8d differ diff --git a/assets/emotes/emotesv2_bc4839de2dab4abc905d5730781f9e8f b/assets/emotes/emotesv2_bc4839de2dab4abc905d5730781f9e8f new file mode 100644 index 00000000..d724bbac Binary files /dev/null and b/assets/emotes/emotesv2_bc4839de2dab4abc905d5730781f9e8f differ diff --git a/assets/emotes/emotesv2_bd290412753447a7849d55f2056306f8 b/assets/emotes/emotesv2_bd290412753447a7849d55f2056306f8 new file mode 100644 index 00000000..72549524 Binary files /dev/null and b/assets/emotes/emotesv2_bd290412753447a7849d55f2056306f8 differ diff --git a/assets/emotes/emotesv2_bd9167fbd13542618d6fecff0ac028d2 b/assets/emotes/emotesv2_bd9167fbd13542618d6fecff0ac028d2 new file mode 100644 index 00000000..77af6ec5 Binary files /dev/null and b/assets/emotes/emotesv2_bd9167fbd13542618d6fecff0ac028d2 differ diff --git a/assets/emotes/emotesv2_be6b5560194a4935bfb5de8060a59cc0 b/assets/emotes/emotesv2_be6b5560194a4935bfb5de8060a59cc0 new file mode 100644 index 00000000..7c78d7eb Binary files /dev/null and b/assets/emotes/emotesv2_be6b5560194a4935bfb5de8060a59cc0 differ diff --git a/assets/emotes/emotesv2_c06f39f961604fd0a5388b8756cda2b3 b/assets/emotes/emotesv2_c06f39f961604fd0a5388b8756cda2b3 new file mode 100644 index 00000000..beb8bd28 Binary files /dev/null and b/assets/emotes/emotesv2_c06f39f961604fd0a5388b8756cda2b3 differ diff --git a/assets/emotes/emotesv2_c15998534f4d49c5ba559f23e375198a b/assets/emotes/emotesv2_c15998534f4d49c5ba559f23e375198a new file mode 100644 index 00000000..40748b4c Binary files /dev/null and b/assets/emotes/emotesv2_c15998534f4d49c5ba559f23e375198a differ diff --git a/assets/emotes/emotesv2_c297a638faf144bdaf7f7e4d073a4c25 b/assets/emotes/emotesv2_c297a638faf144bdaf7f7e4d073a4c25 new file mode 100644 index 00000000..ff5c22f8 Binary files /dev/null and b/assets/emotes/emotesv2_c297a638faf144bdaf7f7e4d073a4c25 differ diff --git a/assets/emotes/emotesv2_c32ba98d501f4c22874436e82390b610 b/assets/emotes/emotesv2_c32ba98d501f4c22874436e82390b610 new file mode 100644 index 00000000..a5c719ea Binary files /dev/null and b/assets/emotes/emotesv2_c32ba98d501f4c22874436e82390b610 differ diff --git a/assets/emotes/emotesv2_c35dfb2220294d8ea04a4f967b38ff79 b/assets/emotes/emotesv2_c35dfb2220294d8ea04a4f967b38ff79 new file mode 100644 index 00000000..996b867c Binary files /dev/null and b/assets/emotes/emotesv2_c35dfb2220294d8ea04a4f967b38ff79 differ diff --git a/assets/emotes/emotesv2_c3a053b9cc00475c80cdcb81d82c1b95 b/assets/emotes/emotesv2_c3a053b9cc00475c80cdcb81d82c1b95 new file mode 100644 index 00000000..b9bcefc8 Binary files /dev/null and b/assets/emotes/emotesv2_c3a053b9cc00475c80cdcb81d82c1b95 differ diff --git a/assets/emotes/emotesv2_c4d53a2999db431892fe6ad13febc317 b/assets/emotes/emotesv2_c4d53a2999db431892fe6ad13febc317 new file mode 100644 index 00000000..7e84ca24 Binary files /dev/null and b/assets/emotes/emotesv2_c4d53a2999db431892fe6ad13febc317 differ diff --git a/assets/emotes/emotesv2_c681df7e91be43ec99b654b94ab6238e b/assets/emotes/emotesv2_c681df7e91be43ec99b654b94ab6238e new file mode 100644 index 00000000..97316f18 Binary files /dev/null and b/assets/emotes/emotesv2_c681df7e91be43ec99b654b94ab6238e differ diff --git a/assets/emotes/emotesv2_c9a05cf2861949728657860828b96571 b/assets/emotes/emotesv2_c9a05cf2861949728657860828b96571 new file mode 100644 index 00000000..e541a8dd Binary files /dev/null and b/assets/emotes/emotesv2_c9a05cf2861949728657860828b96571 differ diff --git a/assets/emotes/emotesv2_cb96944975ad47fdb415ae8a549b0c5f b/assets/emotes/emotesv2_cb96944975ad47fdb415ae8a549b0c5f new file mode 100644 index 00000000..e157ccd8 Binary files /dev/null and b/assets/emotes/emotesv2_cb96944975ad47fdb415ae8a549b0c5f differ diff --git a/assets/emotes/emotesv2_cbcf251edef54cfe8b764013ea1563ad b/assets/emotes/emotesv2_cbcf251edef54cfe8b764013ea1563ad new file mode 100644 index 00000000..eeb62514 Binary files /dev/null and b/assets/emotes/emotesv2_cbcf251edef54cfe8b764013ea1563ad differ diff --git a/assets/emotes/emotesv2_cc9c1e1c2c1b4318859bf12772c23e47 b/assets/emotes/emotesv2_cc9c1e1c2c1b4318859bf12772c23e47 new file mode 100644 index 00000000..bd26b411 Binary files /dev/null and b/assets/emotes/emotesv2_cc9c1e1c2c1b4318859bf12772c23e47 differ diff --git a/assets/emotes/emotesv2_cca86ed0a30847dd8fcf6d9f62652a51 b/assets/emotes/emotesv2_cca86ed0a30847dd8fcf6d9f62652a51 new file mode 100644 index 00000000..4697e11f Binary files /dev/null and b/assets/emotes/emotesv2_cca86ed0a30847dd8fcf6d9f62652a51 differ diff --git a/assets/emotes/emotesv2_cdfbc6826f7a492da05d72206d8fddd6 b/assets/emotes/emotesv2_cdfbc6826f7a492da05d72206d8fddd6 new file mode 100644 index 00000000..9525524c Binary files /dev/null and b/assets/emotes/emotesv2_cdfbc6826f7a492da05d72206d8fddd6 differ diff --git a/assets/emotes/emotesv2_cf04df4260f14082b7d27873fafef0bf b/assets/emotes/emotesv2_cf04df4260f14082b7d27873fafef0bf new file mode 100644 index 00000000..3c68cdaa Binary files /dev/null and b/assets/emotes/emotesv2_cf04df4260f14082b7d27873fafef0bf differ diff --git a/assets/emotes/emotesv2_cf28ef3337ee41c883365008eba4936c b/assets/emotes/emotesv2_cf28ef3337ee41c883365008eba4936c new file mode 100644 index 00000000..bebc0624 Binary files /dev/null and b/assets/emotes/emotesv2_cf28ef3337ee41c883365008eba4936c differ diff --git a/assets/emotes/emotesv2_cf3fb8c40b3e4a15abd6af18ab135b3d b/assets/emotes/emotesv2_cf3fb8c40b3e4a15abd6af18ab135b3d new file mode 100644 index 00000000..77a573fd Binary files /dev/null and b/assets/emotes/emotesv2_cf3fb8c40b3e4a15abd6af18ab135b3d differ diff --git a/assets/emotes/emotesv2_d0de5666aaf4437babe90b7ac25e50c1 b/assets/emotes/emotesv2_d0de5666aaf4437babe90b7ac25e50c1 new file mode 100644 index 00000000..597fbbca Binary files /dev/null and b/assets/emotes/emotesv2_d0de5666aaf4437babe90b7ac25e50c1 differ diff --git a/assets/emotes/emotesv2_d1cfb28b326244acb55bb273ae279bcd b/assets/emotes/emotesv2_d1cfb28b326244acb55bb273ae279bcd new file mode 100644 index 00000000..cea993eb Binary files /dev/null and b/assets/emotes/emotesv2_d1cfb28b326244acb55bb273ae279bcd differ diff --git a/assets/emotes/emotesv2_d2a5e8582c7144f79c6b7e85a0736ae6 b/assets/emotes/emotesv2_d2a5e8582c7144f79c6b7e85a0736ae6 new file mode 100644 index 00000000..37aa5bf1 Binary files /dev/null and b/assets/emotes/emotesv2_d2a5e8582c7144f79c6b7e85a0736ae6 differ diff --git a/assets/emotes/emotesv2_d2be3c8c8a0b427d921b1a1f65129246 b/assets/emotes/emotesv2_d2be3c8c8a0b427d921b1a1f65129246 new file mode 100644 index 00000000..7c9362bd Binary files /dev/null and b/assets/emotes/emotesv2_d2be3c8c8a0b427d921b1a1f65129246 differ diff --git a/assets/emotes/emotesv2_d3d32339ba684bbc8ad47106aa010480 b/assets/emotes/emotesv2_d3d32339ba684bbc8ad47106aa010480 new file mode 100644 index 00000000..f82a1c0f Binary files /dev/null and b/assets/emotes/emotesv2_d3d32339ba684bbc8ad47106aa010480 differ diff --git a/assets/emotes/emotesv2_d4ed1a012a3f43c28872323b850091c1 b/assets/emotes/emotesv2_d4ed1a012a3f43c28872323b850091c1 new file mode 100644 index 00000000..9ba89a0a Binary files /dev/null and b/assets/emotes/emotesv2_d4ed1a012a3f43c28872323b850091c1 differ diff --git a/assets/emotes/emotesv2_d50ed7bf16714d83ba5284de669657f4 b/assets/emotes/emotesv2_d50ed7bf16714d83ba5284de669657f4 new file mode 100644 index 00000000..5d90eb0c Binary files /dev/null and b/assets/emotes/emotesv2_d50ed7bf16714d83ba5284de669657f4 differ diff --git a/assets/emotes/emotesv2_d866f4f6a80e47bc954bfe5afa835022 b/assets/emotes/emotesv2_d866f4f6a80e47bc954bfe5afa835022 new file mode 100644 index 00000000..113952b7 Binary files /dev/null and b/assets/emotes/emotesv2_d866f4f6a80e47bc954bfe5afa835022 differ diff --git a/assets/emotes/emotesv2_d8a817db11784a1f891bafb8c07907a6 b/assets/emotes/emotesv2_d8a817db11784a1f891bafb8c07907a6 new file mode 100644 index 00000000..ff8c914d Binary files /dev/null and b/assets/emotes/emotesv2_d8a817db11784a1f891bafb8c07907a6 differ diff --git a/assets/emotes/emotesv2_d9f96a97d0be455a9dc00ac155b883b1 b/assets/emotes/emotesv2_d9f96a97d0be455a9dc00ac155b883b1 new file mode 100644 index 00000000..8e0b6655 Binary files /dev/null and b/assets/emotes/emotesv2_d9f96a97d0be455a9dc00ac155b883b1 differ diff --git a/assets/emotes/emotesv2_daaba03b164541ba8176fb93cf67c458 b/assets/emotes/emotesv2_daaba03b164541ba8176fb93cf67c458 new file mode 100644 index 00000000..91806a41 Binary files /dev/null and b/assets/emotes/emotesv2_daaba03b164541ba8176fb93cf67c458 differ diff --git a/assets/emotes/emotesv2_dab170e664b74fb4b1f1bbc11d1751a1 b/assets/emotes/emotesv2_dab170e664b74fb4b1f1bbc11d1751a1 new file mode 100644 index 00000000..71ef1c85 Binary files /dev/null and b/assets/emotes/emotesv2_dab170e664b74fb4b1f1bbc11d1751a1 differ diff --git a/assets/emotes/emotesv2_dc96b886a0444ffaa4a442f90603af2f b/assets/emotes/emotesv2_dc96b886a0444ffaa4a442f90603af2f new file mode 100644 index 00000000..66afd573 Binary files /dev/null and b/assets/emotes/emotesv2_dc96b886a0444ffaa4a442f90603af2f differ diff --git a/assets/emotes/emotesv2_de1ba643db5940c48b805c22067cdd95 b/assets/emotes/emotesv2_de1ba643db5940c48b805c22067cdd95 new file mode 100644 index 00000000..e2616877 Binary files /dev/null and b/assets/emotes/emotesv2_de1ba643db5940c48b805c22067cdd95 differ diff --git a/assets/emotes/emotesv2_deec3d454965426386a2ab0056032ebb b/assets/emotes/emotesv2_deec3d454965426386a2ab0056032ebb new file mode 100644 index 00000000..2cedac8d Binary files /dev/null and b/assets/emotes/emotesv2_deec3d454965426386a2ab0056032ebb differ diff --git a/assets/emotes/emotesv2_dfbf3a46082341a3946a294c2707ea28 b/assets/emotes/emotesv2_dfbf3a46082341a3946a294c2707ea28 new file mode 100644 index 00000000..9a898c5a Binary files /dev/null and b/assets/emotes/emotesv2_dfbf3a46082341a3946a294c2707ea28 differ diff --git a/assets/emotes/emotesv2_dfe9372c4e824e6c92c00f85ae1c8ac1 b/assets/emotes/emotesv2_dfe9372c4e824e6c92c00f85ae1c8ac1 new file mode 100644 index 00000000..6db1ba43 Binary files /dev/null and b/assets/emotes/emotesv2_dfe9372c4e824e6c92c00f85ae1c8ac1 differ diff --git a/assets/emotes/emotesv2_e04fbd79a76145858371739a4c97ed01 b/assets/emotes/emotesv2_e04fbd79a76145858371739a4c97ed01 new file mode 100644 index 00000000..a21f2724 Binary files /dev/null and b/assets/emotes/emotesv2_e04fbd79a76145858371739a4c97ed01 differ diff --git a/assets/emotes/emotesv2_e08bc126279b4e43a51f1c8a560cba28 b/assets/emotes/emotesv2_e08bc126279b4e43a51f1c8a560cba28 new file mode 100644 index 00000000..dfdfcfea Binary files /dev/null and b/assets/emotes/emotesv2_e08bc126279b4e43a51f1c8a560cba28 differ diff --git a/assets/emotes/emotesv2_e192527a1b724abebc3da69e26f17206 b/assets/emotes/emotesv2_e192527a1b724abebc3da69e26f17206 new file mode 100644 index 00000000..82d69f9f Binary files /dev/null and b/assets/emotes/emotesv2_e192527a1b724abebc3da69e26f17206 differ diff --git a/assets/emotes/emotesv2_e2b2fd55d19d42f4a52c66a0b853a9fb b/assets/emotes/emotesv2_e2b2fd55d19d42f4a52c66a0b853a9fb new file mode 100644 index 00000000..328fa920 Binary files /dev/null and b/assets/emotes/emotesv2_e2b2fd55d19d42f4a52c66a0b853a9fb differ diff --git a/assets/emotes/emotesv2_e5380c07ea5a4102af3db33a04fb842b b/assets/emotes/emotesv2_e5380c07ea5a4102af3db33a04fb842b new file mode 100644 index 00000000..2b032f28 Binary files /dev/null and b/assets/emotes/emotesv2_e5380c07ea5a4102af3db33a04fb842b differ diff --git a/assets/emotes/emotesv2_e56838155cbe4913be1de318a1f7f2b7 b/assets/emotes/emotesv2_e56838155cbe4913be1de318a1f7f2b7 new file mode 100644 index 00000000..91dbbecd Binary files /dev/null and b/assets/emotes/emotesv2_e56838155cbe4913be1de318a1f7f2b7 differ diff --git a/assets/emotes/emotesv2_e7efae5825b7482b95d227ba421f4766 b/assets/emotes/emotesv2_e7efae5825b7482b95d227ba421f4766 new file mode 100644 index 00000000..49819863 Binary files /dev/null and b/assets/emotes/emotesv2_e7efae5825b7482b95d227ba421f4766 differ diff --git a/assets/emotes/emotesv2_e81db743441e465dacf6d2921e51c9fb b/assets/emotes/emotesv2_e81db743441e465dacf6d2921e51c9fb new file mode 100644 index 00000000..5db0b393 Binary files /dev/null and b/assets/emotes/emotesv2_e81db743441e465dacf6d2921e51c9fb differ diff --git a/assets/emotes/emotesv2_ea41333eb58f493498da986f67eaa6a5 b/assets/emotes/emotesv2_ea41333eb58f493498da986f67eaa6a5 new file mode 100644 index 00000000..72c80b37 Binary files /dev/null and b/assets/emotes/emotesv2_ea41333eb58f493498da986f67eaa6a5 differ diff --git a/assets/emotes/emotesv2_eb3c830882294eb49e308984e1ddc446 b/assets/emotes/emotesv2_eb3c830882294eb49e308984e1ddc446 new file mode 100644 index 00000000..7216c2ab Binary files /dev/null and b/assets/emotes/emotesv2_eb3c830882294eb49e308984e1ddc446 differ diff --git a/assets/emotes/emotesv2_eb411fac746f4f6f88776bd1553d866e b/assets/emotes/emotesv2_eb411fac746f4f6f88776bd1553d866e new file mode 100644 index 00000000..f49beca6 Binary files /dev/null and b/assets/emotes/emotesv2_eb411fac746f4f6f88776bd1553d866e differ diff --git a/assets/emotes/emotesv2_eb86dddf276e462f99378aba9d4b12cf b/assets/emotes/emotesv2_eb86dddf276e462f99378aba9d4b12cf new file mode 100644 index 00000000..d7b59d6c Binary files /dev/null and b/assets/emotes/emotesv2_eb86dddf276e462f99378aba9d4b12cf differ diff --git a/assets/emotes/emotesv2_ebc2b6b467d2472ab398f7d9ae99c70b b/assets/emotes/emotesv2_ebc2b6b467d2472ab398f7d9ae99c70b new file mode 100644 index 00000000..43307802 Binary files /dev/null and b/assets/emotes/emotesv2_ebc2b6b467d2472ab398f7d9ae99c70b differ diff --git a/assets/emotes/emotesv2_ef4de7af1dea424ea62f645b911be817 b/assets/emotes/emotesv2_ef4de7af1dea424ea62f645b911be817 new file mode 100644 index 00000000..0f6f3717 Binary files /dev/null and b/assets/emotes/emotesv2_ef4de7af1dea424ea62f645b911be817 differ diff --git a/assets/emotes/emotesv2_f1467254addc4ac5bdf1ca125ccd1ded b/assets/emotes/emotesv2_f1467254addc4ac5bdf1ca125ccd1ded new file mode 100644 index 00000000..6d245dbb Binary files /dev/null and b/assets/emotes/emotesv2_f1467254addc4ac5bdf1ca125ccd1ded differ diff --git a/assets/emotes/emotesv2_f2c6ffbc741246ac8735f4b369f0f874 b/assets/emotes/emotesv2_f2c6ffbc741246ac8735f4b369f0f874 new file mode 100644 index 00000000..6841b722 Binary files /dev/null and b/assets/emotes/emotesv2_f2c6ffbc741246ac8735f4b369f0f874 differ diff --git a/assets/emotes/emotesv2_f3cfa293e5b442f9a60335194bcc0dd5 b/assets/emotes/emotesv2_f3cfa293e5b442f9a60335194bcc0dd5 new file mode 100644 index 00000000..6373a762 Binary files /dev/null and b/assets/emotes/emotesv2_f3cfa293e5b442f9a60335194bcc0dd5 differ diff --git a/assets/emotes/emotesv2_f43c461397d04ffbba8b9185b096628f b/assets/emotes/emotesv2_f43c461397d04ffbba8b9185b096628f new file mode 100644 index 00000000..446cf983 Binary files /dev/null and b/assets/emotes/emotesv2_f43c461397d04ffbba8b9185b096628f differ diff --git a/assets/emotes/emotesv2_f53146218c494163be939062bb560060 b/assets/emotes/emotesv2_f53146218c494163be939062bb560060 new file mode 100644 index 00000000..6457f95f Binary files /dev/null and b/assets/emotes/emotesv2_f53146218c494163be939062bb560060 differ diff --git a/assets/emotes/emotesv2_f5f92113b40b4d37afdd38439f13b307 b/assets/emotes/emotesv2_f5f92113b40b4d37afdd38439f13b307 new file mode 100644 index 00000000..a2c45ac6 Binary files /dev/null and b/assets/emotes/emotesv2_f5f92113b40b4d37afdd38439f13b307 differ diff --git a/assets/emotes/emotesv2_f5f9cec275a14b07bb40d32224b98a5f b/assets/emotes/emotesv2_f5f9cec275a14b07bb40d32224b98a5f new file mode 100644 index 00000000..a7fa4d9c Binary files /dev/null and b/assets/emotes/emotesv2_f5f9cec275a14b07bb40d32224b98a5f differ diff --git a/assets/emotes/emotesv2_f695ac1ad1aa43ef85d56434ce477289 b/assets/emotes/emotesv2_f695ac1ad1aa43ef85d56434ce477289 new file mode 100644 index 00000000..5cceb958 Binary files /dev/null and b/assets/emotes/emotesv2_f695ac1ad1aa43ef85d56434ce477289 differ diff --git a/assets/emotes/emotesv2_f7876b3366e34dd4a409f39ea9026c29 b/assets/emotes/emotesv2_f7876b3366e34dd4a409f39ea9026c29 new file mode 100644 index 00000000..55611fcf Binary files /dev/null and b/assets/emotes/emotesv2_f7876b3366e34dd4a409f39ea9026c29 differ diff --git a/assets/emotes/emotesv2_f8bfaceb17a04543abdbc450e08c4e06 b/assets/emotes/emotesv2_f8bfaceb17a04543abdbc450e08c4e06 new file mode 100644 index 00000000..a24f06d1 Binary files /dev/null and b/assets/emotes/emotesv2_f8bfaceb17a04543abdbc450e08c4e06 differ diff --git a/assets/emotes/emotesv2_f8ed05add38143cca3d1ae6e9427ff1f b/assets/emotes/emotesv2_f8ed05add38143cca3d1ae6e9427ff1f new file mode 100644 index 00000000..047ca86b Binary files /dev/null and b/assets/emotes/emotesv2_f8ed05add38143cca3d1ae6e9427ff1f differ diff --git a/assets/emotes/emotesv2_f99f88aeb3d64d92a1c57c7e7f9ef917 b/assets/emotes/emotesv2_f99f88aeb3d64d92a1c57c7e7f9ef917 new file mode 100644 index 00000000..dca119a9 Binary files /dev/null and b/assets/emotes/emotesv2_f99f88aeb3d64d92a1c57c7e7f9ef917 differ diff --git a/assets/emotes/emotesv2_f9a49fde7a634441bf31abdcb9ed1852 b/assets/emotes/emotesv2_f9a49fde7a634441bf31abdcb9ed1852 new file mode 100644 index 00000000..3f968de3 Binary files /dev/null and b/assets/emotes/emotesv2_f9a49fde7a634441bf31abdcb9ed1852 differ diff --git a/assets/emotes/emotesv2_fa4b053a690a4029ab240f7359cf6f61 b/assets/emotes/emotesv2_fa4b053a690a4029ab240f7359cf6f61 new file mode 100644 index 00000000..4cb832b7 Binary files /dev/null and b/assets/emotes/emotesv2_fa4b053a690a4029ab240f7359cf6f61 differ diff --git a/assets/emotes/emotesv2_fd65e757f8e24295b46a691cee173e05 b/assets/emotes/emotesv2_fd65e757f8e24295b46a691cee173e05 new file mode 100644 index 00000000..d3f5b09e Binary files /dev/null and b/assets/emotes/emotesv2_fd65e757f8e24295b46a691cee173e05 differ diff --git a/assets/emotes/emotesv2_ff13cdb38c54428db4fcdd33152e4b28 b/assets/emotes/emotesv2_ff13cdb38c54428db4fcdd33152e4b28 new file mode 100644 index 00000000..e1be25f7 Binary files /dev/null and b/assets/emotes/emotesv2_ff13cdb38c54428db4fcdd33152e4b28 differ diff --git a/assets/glossary/2025-02-04.txt b/assets/glossary/2025-02-04.txt new file mode 100644 index 00000000..aed824ab --- /dev/null +++ b/assets/glossary/2025-02-04.txt @@ -0,0 +1 @@ +we won, but there are strings attached. windows faces the shadow zone. digital rock climber finds a grip. clonk is definitely not a disney dude. real maude hours commence. pdfs in monospaced are a true struggle. clonk addresses lurkers. local trans girl goes gremlin with coding absence. chaos on the lcolonq express. old man shouts at the cloud. \ No newline at end of file diff --git a/assets/glossary/2025-02-07.txt b/assets/glossary/2025-02-07.txt new file mode 100644 index 00000000..53bc9cac --- /dev/null +++ b/assets/glossary/2025-02-07.txt @@ -0,0 +1 @@ +the classic clonk moment where he shares wisdom about checks while spiraling into madness. oh yeah, also it's gay. \ No newline at end of file diff --git a/assets/glossary/2025-02-11.txt b/assets/glossary/2025-02-11.txt new file mode 100644 index 00000000..ace73afc --- /dev/null +++ b/assets/glossary/2025-02-11.txt @@ -0,0 +1 @@ +plink, clonk debates the essence of gaming once again, he expresses disdain for memes, and the stream spirals into chaotic echoes of wawa, leaving clonk in shambles with no internet. \ No newline at end of file diff --git a/assets/glossary/2025-02-14.txt b/assets/glossary/2025-02-14.txt new file mode 100644 index 00000000..0e5d31d5 --- /dev/null +++ b/assets/glossary/2025-02-14.txt @@ -0,0 +1 @@ +chat is biblical this time, glsl balatro gets the spotlight, chatter forgot a semicolon in shader, clonk's obsession with oranges creeps in again. \ No newline at end of file diff --git a/assets/glossary/2025-02-21.txt b/assets/glossary/2025-02-21.txt new file mode 100644 index 00000000..57e97cf7 --- /dev/null +++ b/assets/glossary/2025-02-21.txt @@ -0,0 +1 @@ +nothing particularly notable. clonk discusses various ongoing projects and updates on oub, lots of chatter interactions, a few bits are tested. \ No newline at end of file diff --git a/assets/glossary/2025-02-25.txt b/assets/glossary/2025-02-25.txt new file mode 100644 index 00000000..ece9e507 --- /dev/null +++ b/assets/glossary/2025-02-25.txt @@ -0,0 +1 @@ +depth buffer issues arise, alpha breaks in the chaos. compilation mid-session. the horror manifests, en route to COOL GAME, but what is game? \ No newline at end of file diff --git a/assets/glossary/2025-02-28.txt b/assets/glossary/2025-02-28.txt new file mode 100644 index 00000000..576f1295 --- /dev/null +++ b/assets/glossary/2025-02-28.txt @@ -0,0 +1 @@ +twiddling thumbs while exploring arm stuff. latest gaming news, bit of a lunar vibe today. \ No newline at end of file diff --git a/assets/glossary/2025-03-04.txt b/assets/glossary/2025-03-04.txt new file mode 100644 index 00000000..80f1b206 --- /dev/null +++ b/assets/glossary/2025-03-04.txt @@ -0,0 +1 @@ +season iii begins with bizarre sounds and scents, as LCOLONQ's identity as both a guy and letters is questioned. new bells acquired, and muzak-rs joins the channel. a call to collect overflowing garbage occurs, alongside a mention of an empty cat bowl raising trust issues. \ No newline at end of file diff --git a/assets/glossary/2025-03-08.txt b/assets/glossary/2025-03-08.txt new file mode 100644 index 00000000..5c142b0d --- /dev/null +++ b/assets/glossary/2025-03-08.txt @@ -0,0 +1 @@ +clonk almost able to pass structs by value. bwaaa x8. 12 hour stream (real). tropical thunders in these structures. first try on struct tuah? clonk loves lying and committing crimes. calls out chat for lying about being smart. wawa. local streamer hasn't played wow in days, gone upside down and inside out. clonk wants to avoid fear. \ No newline at end of file diff --git a/assets/glossary/2025-03-11.txt b/assets/glossary/2025-03-11.txt new file mode 100644 index 00000000..48678d76 --- /dev/null +++ b/assets/glossary/2025-03-11.txt @@ -0,0 +1 @@ +in an unexpected turn of events, chat history is erased as moderative action takes place, the toaster returns alongside various oddities including "man-quartz" and local streamer woes with dogs and cats; chat remains intact thanks to 7tv. \ No newline at end of file diff --git a/assets/thumb.txt b/assets/thumb.txt new file mode 100644 index 00000000..566ad980 --- /dev/null +++ b/assets/thumb.txt @@ -0,0 +1,1479 @@ +[Jump to content](#bodyContent) + +Main menu + +Main menu + +move to sidebar + +hide + +Navigation + +- [Main page](/wiki/Main_Page "Visit the main page [z]") +- [Contents](/wiki/Wikipedia:Contents "Guides to browsing Wikipedia") +- [Current + events](/wiki/Portal:Current_events "Articles related to current events") +- [Random + article](/wiki/Special:Random "Visit a randomly selected article [x]") +- [About + Wikipedia](/wiki/Wikipedia:About "Learn about Wikipedia and how it works") +- [Contact + us](//en.wikipedia.org/wiki/Wikipedia:Contact_us "How to contact Wikipedia") + +Contribute + +- [Help](/wiki/Help:Contents "Guidance on how to use and edit Wikipedia") +- [Learn to + edit](/wiki/Help:Introduction "Learn how to edit Wikipedia") +- [Community + portal](/wiki/Wikipedia:Community_portal "The hub for editors") +- [Recent + changes](/wiki/Special:RecentChanges "A list of recent changes to Wikipedia [r]") +- [Upload + file](/wiki/Wikipedia:File_upload_wizard "Add images or other media for use on Wikipedia") +- [Special pages](/wiki/Special:SpecialPages) + +[![](/static/images/icons/wikipedia.png) +![Wikipedia](/static/images/mobile/copyright/wikipedia-wordmark-en.svg) +![The Free +Encyclopedia](/static/images/mobile/copyright/wikipedia-tagline-en.svg) +](/wiki/Main_Page) + +[ Search](/wiki/Special:Search "Search Wikipedia [f]") + +Search + +Appearance + +- [Donate](https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en) +- [Create + account](/w/index.php?title=Special:CreateAccount&returnto=Thumb "You are encouraged to create an account and log in; however, it is not mandatory") +- [Log + in](/w/index.php?title=Special:UserLogin&returnto=Thumb "You're encouraged to log in; however, it's not mandatory. [o]") + +Personal tools + +- [Donate](https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en) +- [ Create + account](/w/index.php?title=Special:CreateAccount&returnto=Thumb "You are encouraged to create an account and log in; however, it is not mandatory") +- [ Log + in](/w/index.php?title=Special:UserLogin&returnto=Thumb "You're encouraged to log in; however, it's not mandatory. [o]") + +Pages for logged out editors [learn more](/wiki/Help:Introduction) + +- [Contributions](/wiki/Special:MyContributions "A list of edits made from this IP address [y]") +- [Talk](/wiki/Special:MyTalk "Discussion about edits from this IP address [n]") + +## Contents + +move to sidebar + +hide + +- [](#) + (Top) +- [](#Definition) + 1 Definition + + Toggle Definition subsection + - [](#Thumb_and_fingers) + 1.1 Thumb and fingers +- [](#Opposition_and_apposition) + 2 Opposition and apposition + + Toggle Opposition and apposition subsection + - [](#Humans) + 2.1 Humans + - [](#Other_primates) + 2.2 Other primates + - [](#Other_placental_mammals) + 2.3 Other placental mammals + - [](#Marsupials) + 2.4 Marsupials + - [](#Reptiles) + 2.5 Reptiles + - [](#Dinosaurs) + 2.6 Dinosaurs + + - [](#Birds) + 2.6.1 Birds + - [](#Pterosaurs) + 2.6.2 Pterosaurs + - [](#Amphibians) + 2.7 Amphibians +- [](#Human_anatomy) + 3 Human anatomy + + Toggle Human anatomy subsection + - [](#Skeleton) + 3.1 Skeleton + - [](#Muscles) + 3.2 Muscles + + - [](#Extrinsic) + 3.2.1 Extrinsic + - [](#Intrinsic) + 3.2.2 Intrinsic + - [](#Variations) + 3.3 Variations + - [](#Grips) + 3.4 Grips +- [](#Human_evolution) + 4 Human evolution +- [](#See_also) + 5 See also +- [](#Notes) + 6 Notes +- [](#References) + 7 References +- [](#External_links) + 8 External links + +Toggle the table of contents + +# Thumb + +103 languages + +- [अंगिका](https://anp.wikipedia.org/wiki/%E0%A4%85%E0%A4%82%E0%A4%97%E0%A5%82%E0%A4%A0%E0%A4%BE "अंगूठा – Angika") +- [Ænglisc](https://ang.wikipedia.org/wiki/%C3%9E%C5%ABma "Þūma – Old English") +- [العربية](https://ar.wikipedia.org/wiki/%D8%A5%D8%A8%D9%87%D8%A7%D9%85 "إبهام – Arabic") +- [Aragonés](https://an.wikipedia.org/wiki/Pulgar "Pulgar – Aragonese") +- [ܐܪܡܝܐ](https://arc.wikipedia.org/wiki/%DC%9F%DC%AA%DC%AC%DC%90 "ܟܪܬܐ – Aramaic") +- [अवधी](https://awa.wikipedia.org/wiki/%E0%A4%85%E0%A4%99%E0%A5%81%E0%A4%A0%E0%A4%BE "अङुठा – Awadhi") +- [Azərbaycanca](https://az.wikipedia.org/wiki/Ba%C5%9F_barmaq "Baş barmaq – Azerbaijani") +- [Basa + Bali](https://ban.wikipedia.org/wiki/Inan_lima "Inan lima – Balinese") +- [বাংলা](https://bn.wikipedia.org/wiki/%E0%A6%AC%E0%A7%83%E0%A6%A6%E0%A7%8D%E0%A6%A7%E0%A6%BE%E0%A6%99%E0%A7%8D%E0%A6%97%E0%A7%81%E0%A6%B2%E0%A6%BF "বৃদ্ধাঙ্গুলি – Bangla") +- [閩南語 / + Bân-lâm-gú](https://zh-min-nan.wikipedia.org/wiki/T%C5%8Da-th%C3%A2u-b%C3%BA "Tōa-thâu-bú – Minnan") +- [Bikol + Central](https://bcl.wikipedia.org/wiki/Tangan "Tangan – Central Bikol") +- [Български](https://bg.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BB%D0%B5%D1%86 "Палец – Bulgarian") +- [Boarisch](https://bar.wikipedia.org/wiki/Daam "Daam – Bavarian") +- [Bosanski](https://bs.wikipedia.org/wiki/Palac "Palac – Bosnian") +- [Brezhoneg](https://br.wikipedia.org/wiki/Meud "Meud – Breton") +- [Català](https://ca.wikipedia.org/wiki/Polze "Polze – Catalan") +- [Чӑвашла](https://cv.wikipedia.org/wiki/%D0%9F%D0%B0%D1%88-%D0%BF%D3%B3%D1%80%D0%BD%D0%B5 "Паш-пӳрне – Chuvash") +- [Čeština](https://cs.wikipedia.org/wiki/Palec "Palec – Czech") +- [Dansk](https://da.wikipedia.org/wiki/Tommelfinger "Tommelfinger – Danish") +- [Deitsch](https://pdc.wikipedia.org/wiki/Daume "Daume – Pennsylvania German") +- [Deutsch](https://de.wikipedia.org/wiki/Daumen "Daumen – German") +- [ދިވެހިބަސް](https://dv.wikipedia.org/wiki/%DE%84%DE%AE%DE%91%DE%AA%DE%88%DE%A6%DE%87%DE%A8_%DE%87%DE%A8%DE%82%DE%8E%DE%A8%DE%8D%DE%A8 "ބޮޑުވައި އިނގިލި – Divehi") +- [Eesti](https://et.wikipedia.org/wiki/P%C3%B6ial "Pöial – Estonian") +- [Ελληνικά](https://el.wikipedia.org/wiki/%CE%91%CE%BD%CF%84%CE%AF%CF%87%CE%B5%CE%B9%CF%81%CE%B1%CF%82 "Αντίχειρας – Greek") +- [Эрзянь](https://myv.wikipedia.org/wiki/%D0%9F%D0%B5%D0%BB%D1%8C%D0%BA%D0%B0 "Пелька – Erzya") +- [Español](https://es.wikipedia.org/wiki/Dedo_pulgar "Dedo pulgar – Spanish") +- [Esperanto](https://eo.wikipedia.org/wiki/Dikfingro "Dikfingro – Esperanto") +- [Euskara](https://eu.wikipedia.org/wiki/Erpuru "Erpuru – Basque") +- [فارسی](https://fa.wikipedia.org/wiki/%D8%B4%D8%B3%D8%AA "شست – Persian") +- [Français](https://fr.wikipedia.org/wiki/Pouce_(anatomie) "Pouce (anatomie) – French") +- [Frysk](https://fy.wikipedia.org/wiki/Tomme "Tomme – Western Frisian") +- [Gaeilge](https://ga.wikipedia.org/wiki/Ord%C3%B3g "Ordóg – Irish") +- [Gàidhlig](https://gd.wikipedia.org/wiki/%C3%92rdag "Òrdag – Scottish Gaelic") +- [Galego](https://gl.wikipedia.org/wiki/Polgar "Polgar – Galician") +- [ગુજરાતી](https://gu.wikipedia.org/wiki/%E0%AA%85%E0%AA%82%E0%AA%97%E0%AB%82%E0%AA%A0%E0%AB%8B "અંગૂઠો – Gujarati") +- [한국어](https://ko.wikipedia.org/wiki/%EC%97%84%EC%A7%80%EC%86%90%EA%B0%80%EB%9D%BD "엄지손가락 – Korean") +- [Հայերեն](https://hy.wikipedia.org/wiki/%D4%B2%D5%B8%D6%82%D5%A9_%D5%B4%D5%A1%D5%BF "Բութ մատ – Armenian") +- [हिन्दी](https://hi.wikipedia.org/wiki/%E0%A4%85%E0%A4%82%E0%A4%97%E0%A5%81%E0%A4%B7%E0%A5%8D%E0%A4%A0 "अंगुष्ठ – Hindi") +- [Hrvatski](https://hr.wikipedia.org/wiki/Palac "Palac – Croatian") +- [Ido](https://io.wikipedia.org/wiki/Polexo "Polexo – Ido") +- [Bahasa + Indonesia](https://id.wikipedia.org/wiki/Ibu_jari "Ibu jari – Indonesian") +- [Italiano](https://it.wikipedia.org/wiki/Pollice_(dito) "Pollice (dito) – Italian") +- [עברית](https://he.wikipedia.org/wiki/%D7%90%D7%92%D7%95%D7%93%D7%9C "אגודל – Hebrew") +- [Jawa](https://jv.wikipedia.org/wiki/Jempol "Jempol – Javanese") +- [ಕನ್ನಡ](https://kn.wikipedia.org/wiki/%E0%B2%B9%E0%B3%86%E0%B2%AC%E0%B3%8D%E0%B2%AC%E0%B3%86%E0%B2%B0%E0%B2%B3%E0%B3%81 "ಹೆಬ್ಬೆರಳು – Kannada") +- [Қазақша](https://kk.wikipedia.org/wiki/%D0%91%D0%B0%D1%80%D0%BC%D0%B0%D2%9B "Бармақ – Kazakh") +- [Kiswahili](https://sw.wikipedia.org/wiki/Kidole_gumba "Kidole gumba – Swahili") +- [Kreyòl + ayisyen](https://ht.wikipedia.org/wiki/Pous_(anatomi) "Pous (anatomi) – Haitian Creole") +- [Latina](https://la.wikipedia.org/wiki/Pollex_(anatomia) "Pollex (anatomia) – Latin") +- [Latviešu](https://lv.wikipedia.org/wiki/%C4%AAk%C5%A1%C4%B7is "Īkšķis – Latvian") +- [Ligure](https://lij.wikipedia.org/wiki/P%C5%93uxo_(dio) "Pœuxo (dio) – Ligurian") +- [Lombard](https://lmo.wikipedia.org/wiki/Mazza-pioeugg "Mazza-pioeugg – Lombard") +- [Македонски](https://mk.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BB%D0%B5%D1%86 "Палец – Macedonian") +- [मराठी](https://mr.wikipedia.org/wiki/%E0%A4%85%E0%A4%82%E0%A4%97%E0%A4%A0%E0%A4%BE "अंगठा – Marathi") +- [Bahasa + Melayu](https://ms.wikipedia.org/wiki/Ibu_jari "Ibu jari – Malay") +- [閩東語 / + Mìng-dĕ̤ng-ngṳ̄](https://cdo.wikipedia.org/wiki/Du%C3%A2i-c%C4%81i "Duâi-cāi – Mindong") +- [မြန်မာဘာသာ](https://my.wikipedia.org/wiki/%E1%80%9C%E1%80%80%E1%80%BA%E1%80%99_(%E1%80%81%E1%80%94%E1%80%B9%E1%80%93%E1%80%AC%E1%80%97%E1%80%B1%E1%80%92) "လက်မ (ခန္ဓာဗေဒ) – Burmese") +- [Nederlands](https://nl.wikipedia.org/wiki/Duim_(vinger) "Duim (vinger) – Dutch") +- [नेपाली](https://ne.wikipedia.org/wiki/%E0%A4%AC%E0%A5%82%E0%A4%A2%E0%A5%80_%E0%A4%94%E0%A4%81%E0%A4%B2%E0%A4%BE "बूढी औँला – Nepali") +- [日本語](https://ja.wikipedia.org/wiki/%E8%A6%AA%E6%8C%87 "親指 – Japanese") +- [Norsk + bokmål](https://no.wikipedia.org/wiki/Tommel "Tommel – Norwegian Bokmål") +- [Norsk + nynorsk](https://nn.wikipedia.org/wiki/Tommelfinger "Tommelfinger – Norwegian Nynorsk") +- [Occitan](https://oc.wikipedia.org/wiki/Poce "Poce – Occitan") +- [ਪੰਜਾਬੀ](https://pa.wikipedia.org/wiki/%E0%A8%85%E0%A9%B0%E0%A8%97%E0%A9%82%E0%A8%A0%E0%A8%BE "ਅੰਗੂਠਾ – Punjabi") +- [Pangasinan](https://pag.wikipedia.org/wiki/Tangan "Tangan – Pangasinan") +- [پنجابی](https://pnb.wikipedia.org/wiki/%D8%A7%D9%86%DA%AF%D9%88%D9%B9%DA%BE%D8%A7 "انگوٹھا – Western Punjabi") +- [Plattdüütsch](https://nds.wikipedia.org/wiki/Dumen "Dumen – Low German") +- [Polski](https://pl.wikipedia.org/wiki/Kciuk "Kciuk – Polish") +- [Português](https://pt.wikipedia.org/wiki/Polegar "Polegar – Portuguese") +- [Ripoarisch](https://ksh.wikipedia.org/wiki/Dumm "Dumm – Colognian") +- [Română](https://ro.wikipedia.org/wiki/Deget_mare "Deget mare – Romanian") +- [Русский](https://ru.wikipedia.org/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B9_%D0%BF%D0%B0%D0%BB%D0%B5%D1%86 "Большой палец – Russian") +- [संस्कृतम्](https://sa.wikipedia.org/wiki/%E0%A4%85%E0%A4%99%E0%A5%8D%E0%A4%97%E0%A5%81%E0%A4%B7%E0%A5%8D%E0%A4%A0%E0%A4%83 "अङ्गुष्ठः – Sanskrit") +- [ᱥᱟᱱᱛᱟᱲᱤ](https://sat.wikipedia.org/wiki/%E1%B1%A6%E1%B1%9F%E1%B1%B2%E1%B1%9F%E1%B1%A2_%E1%B1%A0%E1%B1%9F%E1%B1%B9%E1%B1%B4%E1%B1%A9%E1%B1%B5 "ᱦᱟᱲᱟᱢ ᱠᱟᱹᱴᱩᱵ – Santali") +- [Scots](https://sco.wikipedia.org/wiki/Thoum "Thoum – Scots") +- [Sicilianu](https://scn.wikipedia.org/wiki/Puseri "Puseri – Sicilian") +- [سنڌي](https://sd.wikipedia.org/wiki/%D8%A2%DA%B1%D9%88%D9%BA%D9%88 "آڱوٺو – Sindhi") +- [Slovenčina](https://sk.wikipedia.org/wiki/Palec_(prst) "Palec (prst) – Slovak") +- [Soomaaliga](https://so.wikipedia.org/wiki/Suul "Suul – Somali") +- [کوردی](https://ckb.wikipedia.org/wiki/%D8%A6%DB%95%D8%B3%D9%BE%DB%8E_%DA%A9%D9%88%DA%98%DB%95 "ئەسپێ کوژە – Central Kurdish") +- [Српски / + srpski](https://sr.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BB%D0%B0%D1%86 "Палац – Serbian") +- [Srpskohrvatski / + српскохрватски](https://sh.wikipedia.org/wiki/Palac "Palac – Serbo-Croatian") +- [Sunda](https://su.wikipedia.org/wiki/Indung_leungeun "Indung leungeun – Sundanese") +- [Suomi](https://fi.wikipedia.org/wiki/Peukalo "Peukalo – Finnish") +- [Svenska](https://sv.wikipedia.org/wiki/Tumme "Tumme – Swedish") +- [Tagalog](https://tl.wikipedia.org/wiki/Hinlalaki "Hinlalaki – Tagalog") +- [தமிழ்](https://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AF%86%E0%AE%B0%E0%AF%81_%E0%AE%B5%E0%AE%BF%E0%AE%B0%E0%AE%B2%E0%AF%8D "பெரு விரல் – Tamil") +- [తెలుగు](https://te.wikipedia.org/wiki/%E0%B0%AC%E0%B1%8A%E0%B0%9F%E0%B0%A8_%E0%B0%B5%E0%B1%87%E0%B0%B2%E0%B1%81 "బొటన వేలు – Telugu") +- [ไทย](https://th.wikipedia.org/wiki/%E0%B8%99%E0%B8%B4%E0%B9%89%E0%B8%A7%E0%B8%AB%E0%B8%B1%E0%B8%A7%E0%B9%81%E0%B8%A1%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD "นิ้วหัวแม่มือ – Thai") +- [Türkçe](https://tr.wikipedia.org/wiki/Ba%C5%9Fparmak "Başparmak – Turkish") +- [Tyap](https://kcg.wikipedia.org/wiki/A%CC%B1turugbak_mbwak "A̱turugbak mbwak – Tyap") +- [Українська](https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%B8%D0%B9_%D0%BF%D0%B0%D0%BB%D0%B5%D1%86%D1%8C "Великий палець – Ukrainian") +- [اردو](https://ur.wikipedia.org/wiki/%D8%A7%D9%86%DA%AF%D9%88%D9%B9%DA%BE%D8%A7 "انگوٹھا – Urdu") +- [ئۇيغۇرچە / + Uyghurche](https://ug.wikipedia.org/wiki/%D8%A8%D8%A7%D8%B4_%D8%A8%D8%A7%D8%B1%D9%85%D8%A7%D9%82 "باش بارماق – Uyghur") +- [Tiếng + Việt](https://vi.wikipedia.org/wiki/Ng%C3%B3n_c%C3%A1i "Ngón cái – Vietnamese") +- [Võro](https://fiu-vro.wikipedia.org/wiki/P%C3%A4kk "Päkk – Võro") +- [Walon](https://wa.wikipedia.org/wiki/P%C3%B4ce "Pôce – Walloon") +- [Winaray](https://war.wikipedia.org/wiki/Tamuragk%C3%B4 "Tamuragkô – Waray") +- [吴语](https://wuu.wikipedia.org/wiki/%E6%8B%87%E6%8C%87 "拇指 – Wu") +- [Yorùbá](https://yo.wikipedia.org/wiki/%C3%80t%C3%A0np%C3%A0k%C3%B2 "Àtànpàkò – Yoruba") +- [粵語](https://zh-yue.wikipedia.org/wiki/%E6%89%8B%E6%8C%87%E5%85%AC "手指公 – Cantonese") +- [中文](https://zh.wikipedia.org/wiki/%E6%8B%87%E6%8C%87 "拇指 – Chinese") +- [Betawi](https://bew.wikipedia.org/wiki/Jempol "Jempol – Betawi") + +[Edit +links](https://www.wikidata.org/wiki/Special:EntityPage/Q83360#sitelinks-wikipedia "Edit interlanguage links") + +- [Article](/wiki/Thumb "View the content page [c]") +- [Talk](/wiki/Talk:Thumb "Discuss improvements to the content page [t]") + +English + +- [Read](/wiki/Thumb) +- [Edit](/w/index.php?title=Thumb&action=edit "Edit this page [e]") +- [View + history](/w/index.php?title=Thumb&action=history "Past revisions of this page [h]") + +Tools + +Tools + +move to sidebar + +hide + +Actions + +- [Read](/wiki/Thumb) +- [Edit](/w/index.php?title=Thumb&action=edit "Edit this page [e]") +- [View history](/w/index.php?title=Thumb&action=history) + +General + +- [What links + here](/wiki/Special:WhatLinksHere/Thumb "List of all English Wikipedia pages containing links to this page [j]") +- [Related + changes](/wiki/Special:RecentChangesLinked/Thumb "Recent changes in pages linked from this page [k]") +- [Upload + file](//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard "Upload files [u]") +- [Permanent + link](/w/index.php?title=Thumb&oldid=1274819517 "Permanent link to this revision of this page") +- [Page + information](/w/index.php?title=Thumb&action=info "More information about this page") +- [Cite this + page](/w/index.php?title=Special:CiteThisPage&page=Thumb&id=1274819517&wpFormIdentifier=titleform "Information on how to cite this page") +- [Get shortened + URL](/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FThumb) +- [Download QR + code](/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FThumb) + +Print/export + +- [Download as + PDF](/w/index.php?title=Special:DownloadAsPdf&page=Thumb&action=show-download-screen "Download this page as a PDF file") +- [Printable + version](/w/index.php?title=Thumb&printable=yes "Printable version of this page [p]") + +In other projects + +- [Wikimedia + Commons](https://commons.wikimedia.org/wiki/Category:Thumbs) +- [Wikidata + item](https://www.wikidata.org/wiki/Special:EntityPage/Q83360 "Structured data on this page hosted by Wikidata [g]") + +Appearance + +move to sidebar + +hide + +From Wikipedia, the free encyclopedia + +First digit of the hand + +This article is about the digit of the hand. For other uses, see [Thumb +(disambiguation)](/wiki/Thumb_(disambiguation) "Thumb (disambiguation)"). + +[TABLE] + +The **thumb** is the first +[digit](/wiki/Digit_(anatomy) "Digit (anatomy)") of the +[hand](/wiki/Hand "Hand"), next to the [index +finger](/wiki/Index_finger "Index finger").^([\[A\]](#cite_note-2)) When +a person is standing in the medical [anatomical +position](/wiki/Anatomical_position "Anatomical position") (where the +palm is facing to the front), the thumb is the outermost digit. The +Medical Latin English noun for thumb is +[*pollex*](https://en.wiktionary.org/wiki/pollex "wikt:pollex") (compare +[*hallux*](/wiki/Toe#Hallux "Toe") for big toe), and the corresponding +adjective for thumb is +[*pollical*](https://en.wiktionary.org/wiki/pollical "wikt:pollical"). + +## Definition + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=1 "Edit section: Definition")\] + +[TABLE] + +### Thumb and fingers + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=2 "Edit section: Thumb and fingers")\] + +The English word *finger* has two +[senses](/wiki/Finger_numbering "Finger numbering"), even in the context +of appendages of a single typical human hand: 1) Any of the five +terminal members of the hand. 2) Any of the four terminal members of the +hand, other than the thumb.^([\[2\]](#cite_note-3)) + +Linguistically, it appears that the original sense was the first of +these two: \**penkwe-ros* (also rendered as \**penqrós*) was, in the +inferred [Proto-Indo-European +language](/wiki/Proto-Indo-European_language "Proto-Indo-European language"), +a suffixed form of \**penkwe* (or \**penqe*), which has given rise to +many +[Indo-European](/wiki/Indo-European_languages "Indo-European languages")-family +words (tens of them defined in English dictionaries) that involve, or +stem from, concepts of fiveness. + +The thumb shares the following with each of the other four fingers: + +- Having a skeleton of [phalanges](/wiki/Phalanges "Phalanges"), + joined by hinge-like joints that provide flexion toward the palm of + the hand +- Having a dorsal surface that features hair and a nail, and a + hairless palmar aspect with + [fingerprint](/wiki/Fingerprint "Fingerprint") ridges + +The thumb contrasts with each of the other four fingers by being the +only one that: + +- Is opposable to the other four fingers +- Has two [phalanges](/wiki/Phalanges "Phalanges") rather than three. + However, recently there have been reports that the thumb, like other + fingers, has three phalanges, but lacks a metacarpal + bone.^([\[3\]](#cite_note-4)) +- Has greater breadth in the [distal](/wiki/Distal "Distal") phalanx + than in the [proximal](/wiki/Proximal "Proximal") phalanx +- Is attached to such a mobile + [metacarpus](/wiki/Metacarpus "Metacarpus") (which produces most of + the opposability) +- Curls horizontally instead of vertically + +and hence the etymology of the word: \**tum* is Proto-Indo-European for +'swelling' (cf 'tumor' and 'thigh') since the thumb is the stoutest of +the fingers. + +## Opposition and apposition + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=3 "Edit section: Opposition and apposition")\] + +### Humans + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=4 "Edit section: Humans")\] + +Anatomists and other researchers focused on human anatomy have hundreds +of definitions of *opposition*.^([\[4\]](#cite_note-vanNierop-2008-5)) +Some anatomists^([\[5\]](#cite_note-Brownetal-2004-6)) restrict +*opposition* to when the thumb is approximated to the fifth finger +(little finger) and refer to other approximations between the thumb and +other fingers as *apposition*. To anatomists, this makes sense as two +intrinsic hand muscles are named for this specific movement (the +[opponens +pollicis](/wiki/Opponens_pollicis_muscle "Opponens pollicis muscle") and +[opponens digiti +minimi](/wiki/Opponens_digiti_minimi_muscle "Opponens digiti minimi muscle") +respectively). + +Other researchers use another +definition,^([\[4\]](#cite_note-vanNierop-2008-5)) referring to +opposition-apposition as the transition between flexion-abduction and +extension-adduction; the *side* of the distal thumb phalanx thus +approximated to the palm or the hand's radial side (side of index +finger) during *apposition* and the *pulp* or "palmar" side of the +distal thumb phalanx approximated to either the palm or other fingers +during *opposition*. + +Moving a limb back to its neutral position is called reposition and a +rotary movement is referred to as +[circumduction](/wiki/Circumduction_(anatomy) "Circumduction (anatomy)"). + +Primatologists and hand research pioneers +[John](/wiki/John_Napier_(primatologist) "John Napier (primatologist)") +and [Prudence Napier](/wiki/Prudence_Hero_Napier "Prudence Hero Napier") +defined opposition as: "A movement by which the pulp surface of the +thumb is placed squarely in contact with – or diametrically opposite +to – the terminal pads of one or all of the remaining fingers." For this +*true*, pulp-to-pulp opposition to be possible, the thumb must rotate +about its long axis (at the [carpometacarpal +joint](/wiki/Carpometacarpal_joint "Carpometacarpal joint")).^([\[6\]](#cite_note-Primates-FAQ-7)) +Arguably, this definition was chosen to underline what is unique to the +human thumb. + +### Other primates + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=5 "Edit section: Other primates")\] + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/0/00/BonoboFishing02_cropped.jpeg/220px-BonoboFishing02_cropped.jpeg)](/wiki/File:BonoboFishing02_cropped.jpeg) + +A [bonobo](/wiki/Bonobo "Bonobo") "fishing" for termites, an example of +incomplete/"untrue" +opposition^([\[7\]](#cite_note-8)\[*[better source needed](/wiki/Wikipedia:NOTRS "Wikipedia:NOTRS")*\]) + +- [Primates](/wiki/Primate "Primate") fall into one of six + groups:^([\[8\]](#cite_note-PrimateAnatomy8-9)) + - Thumbless: [spider monkey](/wiki/Spider_monkey "Spider monkey") + and [colobus](/wiki/Colobus "Colobus") + - Nonopposable thumbs: [tarsiers](/wiki/Tarsier "Tarsier") (which + are found in the islands of Southeast Asia), + [marmosets](/wiki/Marmoset "Marmoset") (which are [New World + monkeys](/wiki/New_World_monkeys "New World monkeys")) + - Pseudo-opposable thumbs: all + [strepsirrhines](/wiki/Strepsirrhine "Strepsirrhine") (lemurs, + pottos and lorises) and [Cebidae](/wiki/Cebidae "Cebidae") + (capuchin and squirrel monkeys, which are [New World + monkeys](/wiki/New_World_monkeys "New World monkeys")) + - Opposable thumbs: [Old World + monkeys](/wiki/Old_World_monkey "Old World monkey") + (Circopithecidae) except colobus, and all [great + apes](/wiki/Hominidae "Hominidae") + - Opposable with comparatively long thumbs: + [gibbons](/wiki/Gibbon "Gibbon") (or lesser apes) + - Yet to be classified: other [New World + monkeys](/wiki/New_World_monkeys "New World monkeys") + ([tamarins](/wiki/Tamarin "Tamarin"), Aotidae: night or owl + monkeys, Pitheciidae: titis, sakis and uakaris, Atelidae: howler + and woolly monkeys) + +The spider monkey compensates for being virtually thumbless by using the +hairless part of its long, prehensile tail for grabbing objects. In +[apes](/wiki/Ape "Ape") and [Old World +monkeys](/wiki/Old_World_monkeys "Old World monkeys"), the thumb can be +rotated around its axis, but the extensive area of contact between the +pulps of the thumb and index finger is a human +characteristic.^([\[9\]](#cite_note-Jones-Lederman-2006-p12-10)) + +*[Darwinius masillae](/wiki/Darwinius "Darwinius")*, an +[Eocene](/wiki/Eocene "Eocene") primate [transitional +fossil](/wiki/Transitional_fossil "Transitional fossil") between +[prosimian](/wiki/Prosimian "Prosimian") and +[simian](/wiki/Simian "Simian"), had hands and feet with highly flexible +digits featuring opposable thumbs and +halluces.^([\[10\]](#cite_note-PloS-Darwinius-2009-11)) + +### Other placental mammals + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=6 "Edit section: Other placental mammals")\] + +- [Giant pandas](/wiki/Giant_panda "Giant panda") — five clawed + fingers plus an extra-long [sesamoid + bone](/wiki/Sesamoid_bone#Panda_anatomy "Sesamoid bone") beside the + true first finger that, though not a true finger, works like an + opposable thumb.^([\[11\]](#cite_note-12)) +- Most [rodents](/wiki/Rodents "Rodents") have a partly opposable toe + on each front paw, letting them + grasp.^([\[12\]](#cite_note-order-13)) + - In some *[mice](/wiki/Muridae "Muridae")*, the hallux ("big + toe") is clawless and fully opposable, including + [arboreal](/wiki/Arboreal "Arboreal") species such as + *[Hapalomys](/wiki/Hapalomys "Hapalomys")*, + *[Chiropodomys](/wiki/Chiropodomys "Chiropodomys")*, + *[Vandeleuria](/wiki/Vandeleuria "Vandeleuria")*, and + *[Chiromyscus](/wiki/Chiromyscus "Chiromyscus")*; and + [saltatorial](/wiki/Saltatorial "Saltatorial"), bipedal species + such as *[Notomys](/wiki/Notomys "Notomys")* and possibly some + [Gerbillinae](/wiki/Gerbillinae "Gerbillinae").^([\[13\]](#cite_note-14)) + - The East African [maned rat](/wiki/Maned_rat "Maned rat") + (*Lophiomys imhausi*), an arboreal, porcupine-like rodent, has + four fingers on its hands and feet and a partially opposable + thumb.^([\[14\]](#cite_note-15)) + +Additionally, in many [polydactyl +cats](/wiki/Polydactyl_cats "Polydactyl cats"), both the [innermost +toe](/wiki/Innermost_toe "Innermost toe") and [outermost +toe](/wiki/Outermost_toe "Outermost toe") +([pinky](/wiki/Little_finger "Little finger")) may become opposable, +allowing the cat to perform more complex +tasks.^(\[*[citation\ needed](/wiki/Wikipedia:Citation_needed "Wikipedia:Citation needed")*\]) + +### Marsupials + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=7 "Edit section: Marsupials")\] + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Ailurops_ursinus_Naemundung_5_North_Sulawesi_cropped.JPG/105px-Ailurops_ursinus_Naemundung_5_North_Sulawesi_cropped.JPG)](/wiki/File:Ailurops_ursinus_Naemundung_5_North_Sulawesi_cropped.JPG) + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Oppossumthumb.jpg/180px-Oppossumthumb.jpg)](/wiki/File:Oppossumthumb.jpg) + +Left: Opposable toes of the [Sulawesi bear +cuscus](/wiki/Sulawesi_bear_cuscus "Sulawesi bear cuscus") forelimb +Right: Opposable thumb on rear foot of an opossum + +- In most [phalangerid](/wiki/Phalangerid "Phalangerid") + [marsupials](/wiki/Marsupial "Marsupial") (a family of + [possums](/wiki/Phalangeriformes "Phalangeriformes")) except species + *[Trichosurus](/wiki/Trichosurus "Trichosurus")* and + *[Wyulda](/wiki/Wyulda "Wyulda")*, the first and second toes of the + forefoot are opposable to the other three. In the hind foot, the + first toe is clawless but opposable and provides firm grip on + branches. The second and third toes are partly + [syndactylous](/wiki/Dactyly "Dactyly"), united by skin at the top + joint while the two separate nails serve as hair combs. The fourth + and fifth toes are the largest of the hind + foot.^([\[15\]](#cite_note-Nowak-1999-16)) +- [Koalas](/wiki/Koala "Koala") have five toes on their fore and hind + feet with sharp curved claws except for the first toe of the hind + foot. The first and second toes of the forefeet are opposable to the + other three, which enables the koala to grip smaller branches and + search for fresh leaves in the outer canopy. Similar to the + phalangerids, the second and third toes of the hind foot are fused + but have separate claws.^([\[16\]](#cite_note-McDade-2003-koala-17)) +- [Opossums](/wiki/Opossum "Opossum") are New World marsupials with + opposable thumbs in the hind feet giving these animals their + characteristic grasping capability (with the exception of the [water + opossum](/wiki/Water_opossum "Water opossum"), the webbed feet of + which restrict + opposability).^([\[17\]](#cite_note-McDade-2003-opossum-18)) +- The mouse-like + [microbiotheres](/wiki/Microbiotheria "Microbiotheria") were a group + of South American marsupials most closely related to Australian + marsupials. The only extant member, *[Dromiciops + gliroides](/wiki/Monito_del_Monte "Monito del Monte")*, is not + closely related to opossums but has paws similar to these animals, + each having opposable toes adapted for + gripping.^([\[18\]](#cite_note-McDade-2003-microbiotheres-19)) + +### Reptiles + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=8 "Edit section: Reptiles")\] + +- The front feet of [chameleons](/wiki/Chameleons "Chameleons") are + organized into a medial bundle of toes 1, 2 and 3, and a lateral + bundle of toes 4 and 5, and the hind feet are organized into a + medial bundle of toes 1 and 2, and a lateral bundle of toes 3, 4 and + 5.^([\[19\]](#cite_note-20)) + +### Dinosaurs + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=9 "Edit section: Dinosaurs")\] + +- Dinosaurs belonging to the family of bird-like dinosaur + [Troodontidae](/wiki/Troodontidae "Troodontidae") had a partially + opposable finger. It is possible that this adaptation was used to + better manipulate ground objects or moving undergrowth branches when + searching for prey.^([\[20\]](#cite_note-russell1982-21)) +- The small predatory dinosaur + *[Bambiraptor](/wiki/Bambiraptor "Bambiraptor")* may have had + mutually opposable first and third fingers and a forelimb + manoeuvrability that would allow the hand to reach its mouth. Its + forelimb morphology and range of motion enabled two-handed + prehension, one-handed clutching of objects to the chest, and use of + the hand as a hook.^([\[21\]](#cite_note-22)) +- *[Nqwebasaurus](/wiki/Nqwebasaurus "Nqwebasaurus")* — a + [coelurosaur](/wiki/Coelurosaur "Coelurosaur") with a long, + three-fingered hand which included a partially opposable thumb (a + "killer claw").^([\[22\]](#cite_note-23)) + +In addition to these, some other dinosaurs may have had partially or +completely opposed toes in order to manipulate food and/or grasp prey. + +#### Birds + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=10 "Edit section: Birds")\] + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Bird-feets-en.svg/220px-Bird-feets-en.svg.png)](/wiki/File:Bird-feets-en.svg) + +Four types of bird feet +(right foot diagrams) + +See also: [Dactyly § Anisodactyly](/wiki/Dactyly#Anisodactyly "Dactyly") + +- Most [birds](/wiki/Bird "Bird") have at least one opposable toe on + the foot, in [various + configurations](/wiki/Dactyly#In_birds "Dactyly"), though these are + seldom called "thumbs". They are more often known simply as + [halluxes](/wiki/Toe#Hallux "Toe"). + +#### Pterosaurs + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=11 "Edit section: Pterosaurs")\] + +- The [wukongopterid](/wiki/Wukongopteridae "Wukongopteridae") + pterosaur *[Kunpengopterus](/wiki/Kunpengopterus "Kunpengopterus")* + bore an opposable first toe on each wing. The presence of opposable + thumbs in this taxon is thought to be an arboreal + adaptation.^([\[23\]](#cite_note-Zhouetal2021-24)) + +### Amphibians + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=12 "Edit section: Amphibians")\] + +- *[Phyllomedusa](/wiki/Phyllomedusa "Phyllomedusa")*, a genus of + frogs native to South + America.^([\[24\]](#cite_note-Phyllomedusa-25)) + +## Human anatomy + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=13 "Edit section: Human anatomy")\] + +### Skeleton + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=14 "Edit section: Skeleton")\] + +The skeleton of the thumb consists of the [first metacarpal +bone](/wiki/First_metacarpal_bone "First metacarpal bone") which +articulates [proximally](/wiki/Proximal "Proximal") with the +[carpus](/wiki/Carpal_bones "Carpal bones") at the [carpometacarpal +joint](/wiki/Articulatio_carpometacarpea_pollicis "Articulatio carpometacarpea pollicis") +and [distally](/wiki/Distal "Distal") with the [proximal +phalanx](/wiki/Proximal_phalanges "Proximal phalanges") at the +[metacarpophalangeal +joint](/wiki/Metacarpophalangeal_joint "Metacarpophalangeal joint"). +This latter bone articulates with the [distal +phalanx](/wiki/Distal_phalanges "Distal phalanges") at the +[interphalangeal +joint](/wiki/Interphalangeal_articulations_of_hand "Interphalangeal articulations of hand"). +Additionally, there are two [sesamoid +bones](/wiki/Sesamoid_bone "Sesamoid bone") at the metacarpophalangeal +joint. + +### Muscles + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=15 "Edit section: Muscles")\] + +Main article: [Muscles of the +thumb](/wiki/Muscles_of_the_thumb "Muscles of the thumb") + +The muscles of the thumb can be compared to +[guy-wires](/wiki/Guy-wire "Guy-wire") supporting a flagpole; tension +from these muscular guy-wires must be provided in all directions to +maintain stability in the articulated column formed by the bones of the +thumb. Because this stability is actively maintained by muscles rather +than by articular constraints, most muscles attached to the thumb tend +to be active during most thumb motions.^([\[25\]](#cite_note-26)) + +The muscles acting on the thumb can be divided into two groups: The +extrinsic hand muscles, with their muscle bellies located in the +forearm, and the intrinsic hand muscles, with their muscle bellies +located in the hand proper.^([\[26\]](#cite_note-27)) + +#### Extrinsic + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=16 "Edit section: Extrinsic")\] + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Musculus_flexor_pollicis_longus.png/85px-Musculus_flexor_pollicis_longus.png)](/wiki/File:Musculus_flexor_pollicis_longus.png) + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Gray419.png/100px-Gray419.png)](/wiki/File:Gray419.png) + +Flexor pollicis longus (left) and deep muscles of dorsal forearm (right) + +A [ventral](/wiki/Ventral "Ventral") forearm muscle, the [flexor +pollicis +longus](/wiki/Flexor_pollicis_longus_muscle "Flexor pollicis longus muscle") +(FPL) originates on the anterior side of the +[radius](/wiki/Radius_(bone) "Radius (bone)") distal to the [radial +tuberosity](/wiki/Radial_tuberosity "Radial tuberosity") and from the +[interosseous +membrane](/wiki/Interosseous_membrane_of_forearm "Interosseous membrane of forearm"). +It passes through the [carpal +tunnel](/wiki/Carpal_tunnel "Carpal tunnel") in a separate [tendon +sheath](/wiki/Tendon_sheath "Tendon sheath"), after which it lies +between the heads of the flexor pollicis brevis. It finally attaches +onto the base of the distal phalanx of the thumb. It is innervated by +the [anterior interosseus +branch](/wiki/Anterior_interosseous_nerve "Anterior interosseous nerve") +of the [median nerve](/wiki/Median_nerve "Median nerve") +(C7-C8)^([\[27\]](#cite_note-Platzer-162-28)) It is a persistence of one +of the former [contrahentes](/wiki/Contrahentes "Contrahentes") muscles +that pulled the fingers or toes together. + +Three dorsal forearm muscles act on the thumb: + +The [abductor pollicis +longus](/wiki/Abductor_pollicis_longus_muscle "Abductor pollicis longus muscle") +(APL) originates on the dorsal sides of both the +[ulna](/wiki/Ulna "Ulna") and the radius, and from the interosseous +membrane. Passing through the first tendon compartment, it inserts to +the base of the first [metacarpal bone](/wiki/Metacarpus "Metacarpus"). +A part of the tendon reaches the trapezium, while another fuses with the +tendons of the extensor pollicis brevis and the abductor pollicis +brevis. Except for abducting the hand, it flexes the hand towards the +palm and abducts it radially. It is innervated by the [deep branch of +the radial +nerve](/wiki/Deep_branch_of_the_radial_nerve "Deep branch of the radial nerve") +(C7-C8).^([\[28\]](#cite_note-Platzer-168-29)) + +The [extensor pollicis +longus](/wiki/Extensor_pollicis_longus_muscle "Extensor pollicis longus muscle") +(EPL) originates on the dorsal side of the ulna and the interosseous +membrane. Passing through the third tendon compartment, it is inserted +onto the base of the distal phalanx of the thumb. It uses the dorsal +tubercle on the lower extremity of the radius as a +[fulcrum](/wiki/Lever "Lever") to extend the thumb and also dorsiflexes +and abducts the hand at the wrist. It is innervated by the [deep branch +of the radial +nerve](/wiki/Deep_branch_of_the_radial_nerve "Deep branch of the radial nerve") +(C7-C8).^([\[28\]](#cite_note-Platzer-168-29)) + +The [extensor pollicis +brevis](/wiki/Extensor_pollicis_brevis_muscle "Extensor pollicis brevis muscle") +(EPB) originates on the ulna distal to the abductor pollicis longus, +from the interosseus membrane, and from the dorsal side of the radius. +Passing through the first tendon compartment together with the abductor +pollicis longus, it is attached to the base of the proximal phalanx of +the thumb. It extends the thumb and, because of its close relationship +to the long abductor, also abducts the thumb. It is innervated by the +[deep branch of the radial +nerve](/wiki/Deep_branch_of_the_radial_nerve "Deep branch of the radial nerve") +(C7-T1).^([\[28\]](#cite_note-Platzer-168-29)) + +The tendons of the extensor pollicis longus and extensor pollicis brevis +form what is known as the [anatomical snuff +box](/wiki/Anatomical_snuff_box "Anatomical snuff box") (an indentation +on the lateral aspect of the thumb at its base) The radial artery can be +palpated anteriorly at the wrist (not in the snuffbox). + +#### Intrinsic + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=17 "Edit section: Intrinsic")\] + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/2/27/Gray426.png/160px-Gray426.png)](/wiki/File:Gray426.png) + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/2/29/Gray428.png/100px-Gray428.png)](/wiki/File:Gray428.png) + +Thenar (left) and dorsal interossei (right) muscles + +There are three [thenar +muscles](/wiki/Thenar_eminence "Thenar eminence"): + +The [abductor pollicis +brevis](/wiki/Abductor_pollicis_brevis_muscle "Abductor pollicis brevis muscle") +(APB) originates on the [scaphoid +tubercle](/wiki/Scaphoid_bone "Scaphoid bone") and the [flexor +retinaculum](/wiki/Flexor_retinaculum_of_the_hand "Flexor retinaculum of the hand"). +It inserts to the radial sesamoid bone and the proximal phalanx of the +thumb. It is innervated by the [median +nerve](/wiki/Median_nerve "Median nerve") +(C8-T1).^([\[29\]](#cite_note-Platzer-176-30)) + +The [flexor pollicis +brevis](/wiki/Flexor_pollicis_brevis_muscle "Flexor pollicis brevis muscle") +(FPB) has two heads. The superficial head arises on the flexor +retinaculum, while the deep head originates on three carpal bones: the +[trapezium](/wiki/Trapezium_(bone) "Trapezium (bone)"), +[trapezoid](/wiki/Trapezoid_bone "Trapezoid bone"), and +[capitate](/wiki/Capitate_bone "Capitate bone"). The muscle is inserted +onto the radial sesamoid bone of the metacarpophalangeal joint. It acts +to flex, adduct, and abduct the thumb, and is therefore also able to +oppose the thumb. The superficial head is innervated by the [median +nerve](/wiki/Median_nerve "Median nerve"), while the deep head is +innervated by the [ulnar nerve](/wiki/Ulnar_nerve "Ulnar nerve") +(C8-T1).^([\[29\]](#cite_note-Platzer-176-30)) + +The [opponens +pollicis](/wiki/Opponens_pollicis_muscle "Opponens pollicis muscle") +originates on the tubercle of the trapezium and the flexor retinaculum. +It is inserted onto the radial side of the first metacarpal. It opposes +the thumb and assists in adduction. It is innervated by the [median +nerve](/wiki/Median_nerve "Median nerve").^([\[29\]](#cite_note-Platzer-176-30)) + +Other muscles involved are: + +The [adductor +pollicis](/wiki/Adductor_pollicis_muscle "Adductor pollicis muscle") +also has two heads. The transversal head originates along the entire +third metacarpal bone, while the oblique head originates on the carpal +bones proximal to the third metacarpal. The muscle is inserted onto the +ulnar sesamoid bone of the metacarpophalangeal joint. It adducts the +thumb, and assists in opposition and flexion. It is innervated by the +deep branch of the [ulnar nerve](/wiki/Ulnar_nerve "Ulnar nerve") +(C8-T1).^([\[29\]](#cite_note-Platzer-176-30)) + +The first [dorsal +interosseous](/wiki/Dorsal_interossei_of_the_hand "Dorsal interossei of the hand"), +one of the central muscles of the hand, extends from the base of the +thumb metacarpal to the radial side of the proximal phalanx of the index +finger.^([\[30\]](#cite_note-Platzer-174-31)) + +### Variations + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=18 "Edit section: Variations")\] + +Further information: [Hitchhiker's +thumb](/wiki/Hitchhiker%27s_thumb "Hitchhiker's thumb"), [brachydactyly +type D](/wiki/Brachydactyly_type_D "Brachydactyly type D"), +[triphalangeal thumb](/wiki/Triphalangeal_thumb "Triphalangeal thumb"), +and [polydactyly](/wiki/Polydactyly "Polydactyly") + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/4/42/Hitchhikers_thumb.jpg/220px-Hitchhikers_thumb.jpg)](/wiki/File:Hitchhikers_thumb.jpg) + +[Hitchhiker's thumb](/wiki/Hitchhiker%27s_thumb "Hitchhiker's thumb") + +There is a variation of the human thumb where the angle between the +first and second (proximal and distal) +[phalanges](/wiki/Distal_phalanges "Distal phalanges") varies between 0° +and almost 90° when the thumb is in a +[thumbs-up](/wiki/Thumbs_Up "Thumbs Up") +gesture.^([\[31\]](#cite_note-hitchthumbmyth-32)) + +It has been suggested that the variation is an autosomal [recessive +trait](/wiki/Recessive_trait "Recessive trait"), called a [hitchhiker's +thumb](/wiki/Hitchhiker%27s_thumb "Hitchhiker's thumb"), with +[homozygous](/wiki/Homozygous "Homozygous") carriers having an angle +close to 90°.^([\[32\]](#cite_note-33)) However this theory has been +disputed, since the variation in thumb angle is known to fall on a +continuum and shows little evidence of the +[bi-modality](/wiki/Bimodal_distribution "Bimodal distribution") seen in +other recessive genetic traits.^([\[31\]](#cite_note-hitchthumbmyth-32)) + +Other variations of the thumb include [brachydactyly type +D](/wiki/Brachydactyly_type_D "Brachydactyly type D") (which is a thumb +with a congenitally short distal phalanx), a [triphalangeal +thumb](/wiki/Triphalangeal_thumb "Triphalangeal thumb") (which is a +thumb which has 3 phalanges instead of the usual two), and +[polysyndactyly](/wiki/Polysyndactyly "Polysyndactyly") (which is a +combination of radial polydactyly and syndactyly). + +### Grips + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=19 "Edit section: Grips")\] + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/3/39/Gripclosed.jpg/130px-Gripclosed.jpg)](/wiki/File:Gripclosed.jpg) + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Iverson_grip_1950.jpg/120px-Iverson_grip_1950.jpg)](/wiki/File:Iverson_grip_1950.jpg) + +Left: In a power grip the object is in contact with the palm. +Right: Cricketer [Jack Iverson's](/wiki/Jack_Iverson "Jack Iverson") +"bent finger grip", an unusual pad-to-side precision grip designed to +confuse batsmen. + +One of the earlier significant contributors to the study of hand grips +was orthopedic primatologist and paleoanthropologist [John +Napier](/wiki/John_Napier_(primatologist) "John Napier (primatologist)"), +who proposed organizing the movements of the hand by their anatomical +basis as opposed to work done earlier that had only used arbitrary +classification.^([\[33\]](#cite_note-34)) Most of this early work on +hand grips had a pragmatic basis as it was intended to narrowly define +compensable injuries to the hand, which required an understanding of the +anatomical basis of hand movement. Napier proposed two primary +[prehensile](/wiki/Prehensile "Prehensile") grips: the *precision grip* +and the *power grip*.^([\[34\]](#cite_note-35)) The precision and power +grip are defined by the position of the thumb and fingers where: + +- The **power grip** is when the fingers (and sometimes palm) clamp + down on an object with the thumb making counter pressure. Examples + of the power grip are gripping a hammer, opening a jar using *both + your palm and fingers*, and during pullups. +- The **precision grip** is when the intermediate and distal phalanges + ("fingertips") and the thumb press against each other. Examples of a + precision grip are writing with a pencil, opening a jar *with the + fingertips alone*, and gripping a ball (only if the ball is not + tight against the palm). + +[![](//upload.wikimedia.org/wikipedia/commons/thumb/7/71/Distal-phalanges-thumb-index_Journal.pone.0011727.g001.png/220px-Distal-phalanges-thumb-index_Journal.pone.0011727.g001.png)](/wiki/File:Distal-phalanges-thumb-index_Journal.pone.0011727.g001.png) + +Thumb and index finger during pad-to-pad precision +grasping^([\[35\]](#cite_note-PLOS-2010-36)) + +Opposability of the thumb should not be confused with a precision grip +as some animals possess semi-opposable thumbs yet are known to have +extensive precision grips ([Tufted +Capuchins](/wiki/Cebus_apella "Cebus apella") for +example).^([\[36\]](#cite_note-37)) Nevertheless, precision grips are +usually only found in higher apes, and only in degrees significantly +more restricted than in humans.^([\[37\]](#cite_note-38)) + +The pad-to-pad pinch between the thumb and index finger is made possible +because of the human ability to passively hyperextend the [distal +phalanx](/wiki/Distal_phalanges "Distal phalanges") of the index finger. +Most non-human primates have to flex their long fingers in order for the +small thumb to reach +them.^([\[9\]](#cite_note-Jones-Lederman-2006-p12-10)) + +In humans, the distal pads are wider than in other primates because the +soft tissues of the finger tip are attached to a horseshoe-shaped edge +on the underlying bone, and, in the grasping hand, the distal pads can +therefore conform to uneven surfaces while pressure is distributed more +evenly in the finger tips. The distal pad of the human thumb is divided +into a proximal and a distal compartment, the former more deformable +than the latter, which allows the thumb pad to mold around an +object.^([\[9\]](#cite_note-Jones-Lederman-2006-p12-10)) + +In robotics, almost all [robotic +hands](/wiki/Robotic_hand "Robotic hand") have a long and strong +opposable thumb. Like human hands, the thumb of a robotic hand also +plays a key role in gripping an object. One inspiring approach of +robotic grip planning is to mimic human thumb placement. +^([\[38\]](#cite_note-39)) In a sense, human thumb placement indicates +which surface or part of the object is good for grip. Then the robot +places its thumb to the same location and plans the other fingers based +on the thumb placement. + +The function of the thumb declines physiologically with aging. This can +be demonstrated by assessing the motor sequencing of the +thumb.^([\[39\]](#cite_note-40)) + +## Human evolution + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=20 "Edit section: Human evolution")\] + +A primitive autonomization of the first [carpometacarpal +joint](/wiki/Carpometacarpal_joint "Carpometacarpal joint") (CMC) may +have occurred in dinosaurs. A real differentiation appeared an estimated +70 mya in early primates, while the shape of the human thumb CMC finally +appears about 5 mya. The result of this evolutionary process is a human +CMC joint positioned at 80° of pronation, 40 of abduction, and 50° of +flexion in relation to an axis passing through the second and third CMC +joints.^([\[40\]](#cite_note-Brüser-167-41)) + +Opposable thumbs are shared by some [primates](/wiki/Primate "Primate"), +including most +[catarrhines](/wiki/Catarrhini "Catarrhini").^(\[*[citation\ needed](/wiki/Wikipedia:Citation_needed "Wikipedia:Citation needed")*\]) +The climbing and suspensory behaviour in +[orthograde](/wiki/Orthograde_posture "Orthograde posture") apes, such +as [chimpanzees](/wiki/Common_chimpanzee "Common chimpanzee"), has +resulted in elongated hands while the thumb has remained short. As a +result, these primates are unable to perform the pad-to-pad grip +associated with opposability. However, in +[pronograde](/wiki/Pronograde "Pronograde") monkeys such as +[baboons](/wiki/Baboon "Baboon"), an adaptation to a terrestrial +lifestyle has led to reduced finger length and thus hand proportions +similar to those of humans. Consequently, these primates have dexterous +hands and are able to grasp objects using a pad-to-pad grip. It can thus +be difficult to identify hand adaptations to manipulation-related tasks +based solely on thumb +proportions.^([\[41\]](#cite_note-Moyà-Solà-1999-42)) + +The evolution of the fully opposable thumb is usually associated with +*[Homo habilis](/wiki/Homo_habilis "Homo habilis")*, a forerunner of +*[Homo +sapiens](/wiki/Homo_sapiens "Homo sapiens")*.^([\[42\]](#cite_note-43)) +This, however, is the suggested result of evolution from *[Homo +erectus](/wiki/Homo_erectus "Homo erectus")* (around 1 +[mya](/wiki/Mya_(unit) "Mya (unit)")) via a series of intermediate +[anthropoid](/wiki/Simian "Simian") stages, and is therefore a much more +complicated link. + +Modern humans are unique in the musculature of their forearm and hand. +Yet, they remain autapomorphic, meaning each muscle is found in one or +more non-human primates. The extensor pollicis brevis and flexor +pollicis longus allow modern humans to have great manipulative skills +and strong flexion in the thumb.^([\[43\]](#cite_note-44)) + +However, a more likely scenario may be that the specialized precision +gripping hand (equipped with opposable thumb) of *[Homo +habilis](/wiki/Homo_habilis "Homo habilis")* preceded walking, with the +specialized adaptation of the spine, pelvis, and lower extremities +preceding a more advanced hand. And, it is logical that a conservative, +highly functional adaptation be followed by a series of more complex +ones that complement it. With *[Homo +habilis](/wiki/Homo_habilis "Homo habilis")*, an advanced +grasping-capable hand was accompanied by facultative +[bipedalism](/wiki/Bipedalism "Bipedalism"), possibly implying, assuming +a co-opted evolutionary relationship exists, that the latter resulted +from the former as obligate bipedalism was yet to +follow.^([\[44\]](#cite_note-45)) Walking may have been a by-product of +busy hands and not vice versa. + +[HACNS1](/wiki/HACNS1 "HACNS1") (also known as [Human Accelerated +Region](/wiki/Human_accelerated_regions "Human accelerated regions") 2) +is a [gene enhancer](/wiki/Enhancer_(genetics) "Enhancer (genetics)") +"that may have contributed to the evolution of the uniquely opposable +human thumb, and possibly also modifications in the +[ankle](/wiki/Ankle "Ankle") or [foot](/wiki/Foot "Foot") that allow +humans to [walk](/wiki/Walk "Walk") on two legs". Evidence to date shows +that of the 110,000 gene enhancer sequences identified in the human +[genome](/wiki/Genome "Genome"), HACNS1 has undergone the most change +during the [human evolution](/wiki/Human_evolution "Human evolution") +since the [chimpanzee–human last common +ancestor](/wiki/Chimpanzee%E2%80%93human_last_common_ancestor "Chimpanzee–human last common ancestor").^([\[45\]](#cite_note-46)) + +## See also + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=21 "Edit section: See also")\] + +- [Pollicization](/wiki/Pollicization "Pollicization") +- [Prehensility](/wiki/Prehensility "Prehensility") +- [Thumb signal](/wiki/Thumb_signal "Thumb signal") +- [Thumb twiddling](/wiki/Thumb_twiddling "Thumb twiddling") +- [Thumb war](/wiki/Thumb_war "Thumb war") + +## Notes + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=22 "Edit section: Notes")\] + +1. **[^](#cite_ref-1)** + [clinicalconsiderations](http://www.wesnorman.com/clinicalconsiderations.htm) + at The Anatomy Lesson by Wesley Norman (Georgetown University) +2. **[^](#cite_ref-3)** + ["Definition of + FINGER"](https://www.merriam-webster.com/dictionary/finger). + *www.merriam-webster.com*. 2024-09-26. Retrieved 2024-09-30. +3. **[^](#cite_ref-4)** Haeri, Seyed Mohammad Jafar, et al. "Human + thumb consists of three phalanges and lacks metacarpal? A + morphometric study on the long bones of the hand." Surgical and + Radiologic Anatomy 44.8 (2022): + 1101-1109.[https://doi.org/10.1007/s00276-022-02986-9](https://doi.org/10.1007/s00276-022-02986-9) +4. ^ [^(***a***)](#cite_ref-vanNierop-2008_5-0) + [^(***b***)](#cite_ref-vanNierop-2008_5-1) [van Nierop et al. + 2008](#CITEREFvan_Nieropvan_der_HelmOverbeekeDjajadiningrat2008), + p. 34 +5. **[^](#cite_ref-Brownetal-2004_6-0)** [Brown et al. + 2004](#CITEREFBrownFreemanCuccurulloFreeman2004) +6. **[^](#cite_ref-Primates-FAQ_7-0)** ["Primates FAQ: Do any primates + have opposable thumbs?"](https://www.primates.com/faq/). Wisconsin + Regional Primate Research Center. Retrieved 20 November 2010. +7. **[^](#cite_ref-8)** ["The Thumb is the + Hero"](https://query.nytimes.com/gst/fullpage.html?res=9F04E3D8173BF932A25752C0A967948260). + *The New York Times*. January 11, 1981. Retrieved 20 November 2010. + “The "fishing rod" a chimp strips of leaves and pokes into a termite + nest to bring up a snack is as far as he'll ever get toward orbiting + the planets.” +8. **[^](#cite_ref-PrimateAnatomy8_9-0)** [Ankel-Simons + 2007](#CITEREFAnkel-Simons2007), p. 345 +9. ^ [^(***a***)](#cite_ref-Jones-Lederman-2006-p12_10-0) + [^(***b***)](#cite_ref-Jones-Lederman-2006-p12_10-1) + [^(***c***)](#cite_ref-Jones-Lederman-2006-p12_10-2) [Jones & + Lederman 2006](#CITEREFJonesLederman2006), Evolutionary Development + and Anatomy of the Hand, p. 12 +10. **[^](#cite_ref-PloS-Darwinius-2009_11-0)** [Franzen et al. + 2009](#CITEREFFranzenGingerichHabersetzerHurum2009), pp. 15–18 +11. **[^](#cite_ref-12)** ["The Panda's + Thumb"](http://www.athro.com/evo/pthumb.html). Athro. 2000. + Retrieved 21 November 2010. +12. **[^](#cite_ref-order_13-0)** Stefoff, Rebecca (2008). [*The Rodent + Order*](https://books.google.com/books?id=7Gle7-L46TYC&pg=PA63). + Marshall Cavendish. pp. 62–63, 71–73. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [978-0-7614-3073-5](/wiki/Special:BookSources/978-0-7614-3073-5 "Special:BookSources/978-0-7614-3073-5"). +13. **[^](#cite_ref-14)** [Ellerman 1941](#CITEREFEllerman1941), p. 2 +14. **[^](#cite_ref-15)** Grzimek, Bernhard (2003). Hutchins, Michael; + Kleiman, Devra G.; Geist, Valerius; et al. (eds.). [*Grzimek's + Animal Life Encyclopedia, Vol 16, Mammals + V*](https://archive.org/details/grzimeksanimalli0002grzi_c1l6/page/293/mode/2up) + (2nd ed.). Farmington Hills, MI: Gale Group. p. 293. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [978-0-7876-7750-3](/wiki/Special:BookSources/978-0-7876-7750-3 "Special:BookSources/978-0-7876-7750-3"). +15. **[^](#cite_ref-Nowak-1999_16-0)** [Nowak 1999](#CITEREFNowak1999), + p. 89 +16. **[^](#cite_ref-McDade-2003-koala_17-0)** [McDade + 2003](#CITEREFMcDade2003), vol 13, p. 44 +17. **[^](#cite_ref-McDade-2003-opossum_18-0)** [McDade + 2003](#CITEREFMcDade2003), vol 12, p. 250 +18. **[^](#cite_ref-McDade-2003-microbiotheres_19-0)** [McDade + 2003](#CITEREFMcDade2003), vol 12, p. 274 +19. **[^](#cite_ref-20)** Anderson, Christopher V. & Higham, Timothy E. + (2014). "Chameleon anatomy". In Tolley, Krystal A. & Herrel, Anthony + (eds.). *The Biology of Chameleons*. Berkeley: University of + California Press. pp. 7–55. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [9780520276055](/wiki/Special:BookSources/9780520276055 "Special:BookSources/9780520276055"). +20. **[^](#cite_ref-russell1982_21-0)** Russell, D. A.; Séguin, R. + (1982). ["Reconstruction of the small Cretaceous theropod + *Stenonychosaurus inequalis* and a hypothetical + dinosauroid"](https://archive.org/details/syllogeus37nati). + *Syllogeus*. **37**: 1–43. +21. **[^](#cite_ref-22)** [Senter 2006](#CITEREFSenter2006) +22. **[^](#cite_ref-23)** [de Klerk et al. + 2000](#CITEREFde_KlerkForsterSampsonChinsamy2000), p. 327. *The left + manus shows that the flexed digit I had the potential to partially + oppose digits II and III.* +23. **[^](#cite_ref-Zhouetal2021_24-0)** Zhou, X.; Pêgas, R. V.; Ma, W.; + Han, G.; Jin, X.; Leal, M. E. C.; Bonde, N.; Kobayashi, Y.; + Lautenschlager, S.; Wei, X.; Shen, C.; Ji, S. (2021). ["A new + darwinopteran pterosaur reveals arborealism and an opposed + thumb"](https://doi.org/10.1016%2Fj.cub.2021.03.030). *[Current + Biology](/wiki/Current_Biology "Current Biology")*. **31** (11): + 2429–2436.e7. + [Bibcode](/wiki/Bibcode_(identifier) "Bibcode (identifier)"):[2021CBio...31E2429Z](https://ui.adsabs.harvard.edu/abs/2021CBio...31E2429Z). + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1016/j.cub.2021.03.030](https://doi.org/10.1016%2Fj.cub.2021.03.030). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [33848460](https://pubmed.ncbi.nlm.nih.gov/33848460). +24. **[^](#cite_ref-Phyllomedusa_25-0)** Bertoluci, Jaime (18 December + 2002). ["Pedal luring in the leaf-frog Phyllomedusa burmeisteri + (Anura, Hylidae, + Phyllomedusinae)"](https://doi.org/10.11606%2Fissn.2316-9079.v1i2p93-95). + *Phyllomedusa: Journal of Herpetology*. **1** (2): 93. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.11606/issn.2316-9079.v1i2p93-95](https://doi.org/10.11606%2Fissn.2316-9079.v1i2p93-95). +25. **[^](#cite_ref-26)** [Austin 2005](#CITEREFAustin2005), p. 339 +26. **[^](#cite_ref-27)** ["Muscles of the + thumb"](http://www.eatonhand.com/mus/mus131.htm). Eaton hand. + Retrieved 11 May 2010. +27. **[^](#cite_ref-Platzer-162_28-0)** [Platzer + 2004](#CITEREFPlatzer2004), p. 162 +28. ^ [^(***a***)](#cite_ref-Platzer-168_29-0) + [^(***b***)](#cite_ref-Platzer-168_29-1) + [^(***c***)](#cite_ref-Platzer-168_29-2) [Platzer + 2004](#CITEREFPlatzer2004), p. 168 +29. ^ [^(***a***)](#cite_ref-Platzer-176_30-0) + [^(***b***)](#cite_ref-Platzer-176_30-1) + [^(***c***)](#cite_ref-Platzer-176_30-2) + [^(***d***)](#cite_ref-Platzer-176_30-3) [Platzer + 2004](#CITEREFPlatzer2004), p. 176 +30. **[^](#cite_ref-Platzer-174_31-0)** [Platzer + 2004](#CITEREFPlatzer2004), p. 174 +31. ^ [^(***a***)](#cite_ref-hitchthumbmyth_32-0) + [^(***b***)](#cite_ref-hitchthumbmyth_32-1) ["Myth's of Human + Genetics: Hitchhiker's + Thumb"](http://udel.edu/~mcdonald/myththumb.html). Retrieved 7 + November 2012. +32. **[^](#cite_ref-33)** ["Thumb, Distal Hyperextensibility + of"](https://www.ncbi.nlm.nih.gov/entrez/dispomim.cgi?id=274200). + *OMIM*. NCBI. Retrieved 5 February 2010. +33. **[^](#cite_ref-34)** [Slocum & Pratt + 1946](#CITEREFSlocumPratt1946), [McBride 1942](#CITEREFMcBride1942), + p. 631 +34. **[^](#cite_ref-35)** [Napier 1956](#CITEREFNapier1956), pp. 902–913 +35. **[^](#cite_ref-PLOS-2010_36-0)** [Almécija, Moyà-Solà & Alba + 2010](#CITEREFAlmécijaMoyà-SolàAlba2010) +36. **[^](#cite_ref-37)** [Costello & Fragaszy + 1988](#CITEREFCostelloFragaszy1988), pp. 235–245 +37. **[^](#cite_ref-38)** [Young 2003](#CITEREFYoung2003), pp. 165–174, + [Christel, Kitzel & Niemitz + 2004](#CITEREFChristelKitzelNiemitz2004), pp. 165–194, [Byrne & + Byrne 1993](#CITEREFByrneByrne1993), p. 241 +38. **[^](#cite_ref-39)** Lin, Yun; Sun, Yu (2015). "Robot grasp + planning based on demonstrated grasp strategies". *The International + Journal of Robotics Research*. **34**: 26–42. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1177/0278364914555544](https://doi.org/10.1177%2F0278364914555544). + [S2CID](/wiki/S2CID_(identifier) "S2CID (identifier)") [10178250](https://api.semanticscholar.org/CorpusID:10178250). +39. **[^](#cite_ref-40)** Bodranghien, Florian; Mahé, Helene; Baude, + Benjamin; Manto, Mario U.; Busegnies, Yves; Camut, Stéphane; Habas, + Christophe; Marien, Peter; de Marco, Giovanni (2017-05-10). ["The + Click Test: A Novel Tool to Quantify the Age-Related Decline of Fast + Motor Sequencing of the + Thumb"](https://hal.parisnanterre.fr//hal-02310540/file/Bodranghienetal.TheClickTestANovelTooltoQuantifytheAge-RelatedDeclineofFastMotorSequencingoftheThumbCurrentagingscience2017.pdf) + (PDF). *Current Aging Science*. **10** (4): 305–318. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.2174/1874609810666170511100318](https://doi.org/10.2174%2F1874609810666170511100318). + [ISSN](/wiki/ISSN_(identifier) "ISSN (identifier)") [1874-6128](https://search.worldcat.org/issn/1874-6128). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [28494715](https://pubmed.ncbi.nlm.nih.gov/28494715). +40. **[^](#cite_ref-Brüser-167_41-0)** [Brunelli + 1999](#CITEREFBrunelli1999), p. 167 +41. **[^](#cite_ref-Moyà-Solà-1999_42-0)** [Moyà-Solà, Köhler & Rook + 1999](#CITEREFMoyà-SolàKöhlerRook1999), pp. 315–6 +42. **[^](#cite_ref-43)** [Leakey, Tobias & Napier + 1964](#CITEREFLeakeyTobiasNapier1964): "\[In Homo habilis\] the + pollex is well developed and fully opposable and the hand is capable + not only of a power grip but of, at least, a simple and usually well + developed precision grip." +43. **[^](#cite_ref-44)** Diogo, R.; Richmond, B. G.; Wood, B. (2012). + "Evolution and homologies of primate and modern human hand and + forearm muscles, with notes on thumb movements and tool use". + *Journal of Human Evolution*. **63** (1): 64–78. + [Bibcode](/wiki/Bibcode_(identifier) "Bibcode (identifier)"):[2012JHumE..63...64D](https://ui.adsabs.harvard.edu/abs/2012JHumE..63...64D). + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1016/j.jhevol.2012.04.001](https://doi.org/10.1016%2Fj.jhevol.2012.04.001). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [22640954](https://pubmed.ncbi.nlm.nih.gov/22640954). +44. **[^](#cite_ref-45)** [Harcourt-Smith & Aiello + 2004](#CITEREFHarcourt-SmithAiello2004) +45. **[^](#cite_ref-46)** ["HACNS1: Gene enhancer in evolution of human + opposable + thumb"](http://www.sciencecodex.com/gene_enhancer_in_evolution_of_human_opposable_thumb). + Science Codex. September 4, 2008. Retrieved December 16, 2009. + +1. **[^](#cite_ref-2)** In some countries and cultures, the thumb is + considered a finger. Elsewhere, it is considered a 'digit' due to + the few features it has in difference with the other four digits, + such as the larger gap, missing phalanx and horizontal curling + movement. + +## References + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=23 "Edit section: References")\] + +- Almécija, S.; Moyà-Solà, S.; Alba, D. M. (2010). ["Early Origin for + Human-Like Precision Grasping: A Comparative Study of Pollical + Distal Phalanges in Fossil + Hominins"](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2908684). + *PLOS ONE*. **5** (7): e11727. + [Bibcode](/wiki/Bibcode_(identifier) "Bibcode (identifier)"):[2010PLoSO...511727A](https://ui.adsabs.harvard.edu/abs/2010PLoSO...511727A). + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1371/journal.pone.0011727](https://doi.org/10.1371%2Fjournal.pone.0011727). + [PMC](/wiki/PMC_(identifier) "PMC (identifier)") [2908684](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2908684). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [20661444](https://pubmed.ncbi.nlm.nih.gov/20661444). +- Ankel-Simons, Friderun (2007). "Chapter 8: Postcranial Skeleton". + *Primate Anatomy* (3rd ed.). Academic Press. p. 345. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [978-0-12-372576-9](/wiki/Special:BookSources/978-0-12-372576-9 "Special:BookSources/978-0-12-372576-9"). +- Austin, Noelle M. (2005). "Chapter 9: The Wrist and Hand Complex". + In Levangie, Pamela K.; Norkin, Cynthia C. (eds.). *Joint Structure + and Function: A Comprehensive Analysis* (4th ed.). + Philadelphia: F. A. Davis Company. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [978-0-8036-1191-7](/wiki/Special:BookSources/978-0-8036-1191-7 "Special:BookSources/978-0-8036-1191-7"). +- Brown, David P.; Freeman, Eric D.; Cuccurullo, Sara; Freeman, Ted L. + (2004). ["Upper Extremities—Hand Region: Range of Motion of the + Digits"](https://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=physmedrehab&part=A4492#A4530). + In Cuccurullo, Sara (ed.). *Physical Medicine and Rehabilitation + Board Review*. Demos Medical Publishing. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [978-1-888799-45-3](/wiki/Special:BookSources/978-1-888799-45-3 "Special:BookSources/978-1-888799-45-3"). + ([NCBI](/wiki/National_Center_for_Biotechnology_Information "National Center for Biotechnology Information")) +- Brunelli, Giovanni R. (1999). ["Stability in the first + carpometacarpal + joint"](https://books.google.com/books?id=-pzGRMvXFzAC&pg=PA167). In + Brüser, Peter; Gilbert, Alain (eds.). *Finger bone and joint + injuries*. Taylor & Francis. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [978-1-85317-690-6](/wiki/Special:BookSources/978-1-85317-690-6 "Special:BookSources/978-1-85317-690-6"). +- Byrne, R.W.; Byrne, J.M.E. (1993). ["Complex Leaf-Gathering Skills + of Mountain Gorillas (Gorilla g. beringei): Variability and + Standardization"](https://web.archive.org/web/20090920100630/http://www.st-andrews.ac.uk/~www_sp/people/personal/rwb/publications/1993%20Byrne_Byrne_AJP.pdf) + (PDF). *American Journal of Primatology*. **31** (4): 241–261. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1002/ajp.1350310402](https://doi.org/10.1002%2Fajp.1350310402). + [ISSN](/wiki/ISSN_(identifier) "ISSN (identifier)") [0275-2565](https://search.worldcat.org/issn/0275-2565). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [31936992](https://pubmed.ncbi.nlm.nih.gov/31936992). + [S2CID](/wiki/S2CID_(identifier) "S2CID (identifier)") [84429453](https://api.semanticscholar.org/CorpusID:84429453). + Archived from [the + original](http://www.st-andrews.ac.uk/~www_sp/people/personal/rwb/publications/1993%20Byrne_Byrne_AJP.pdf) + (PDF) on September 20, 2009. +- Christel, Marianne I.; Kitzel, Stefanie; [Niemitz, + Carsten](/wiki/Carsten_Niemitz "Carsten Niemitz") (30 November + 2004). "How Precisely do Bonobos (Pan paniscus) Grasp Small + Objects?". *International Journal of Primatology*. **19** (1): + 165–194. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1023/A:1020319313219](https://doi.org/10.1023%2FA%3A1020319313219). + [S2CID](/wiki/S2CID_(identifier) "S2CID (identifier)") [23567551](https://api.semanticscholar.org/CorpusID:23567551). +- Costello, Michael B.; Fragaszy, Dorothy M. (March 1988). + ["Prehension in Cebus and Saimiri: I. Grip type and hand + preference"](http://www3.interscience.wiley.com/cgi-bin/fulltext/110487513/PDFSTART). + *American Journal of Primatology*. **15** (3): 235–245. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1002/ajp.1350150306](https://doi.org/10.1002%2Fajp.1350150306). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [31968893](https://pubmed.ncbi.nlm.nih.gov/31968893). + [S2CID](/wiki/S2CID_(identifier) "S2CID (identifier)") [86556774](https://api.semanticscholar.org/CorpusID:86556774).^(\[*[dead\ link](/wiki/Wikipedia:Link_rot "Wikipedia:Link rot")*‍\]) +- de Klerk, W.J.; Forster, C.A.; Sampson, S.D.; Chinsamy, A.; Ross, + C.F. (2000). ["A new coelurosaurian dinosaur from the Early + Cretaceous of South + Africa"](https://wayback.archive-it.org/all/20120130211657/http://rosslab.uchicago.edu/publications/De%20Klerk%20et%20al.%202000.pdf) + (PDF). *Journal of Vertebrate Paleontology*. **20** (2): 324–332. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1671/0272-4634(2000)020\[0324:ancdft\]2.0.co;2](https://doi.org/10.1671%2F0272-4634%282000%29020%5B0324%3Aancdft%5D2.0.co%3B2). + [S2CID](/wiki/S2CID_(identifier) "S2CID (identifier)") [128622530](https://api.semanticscholar.org/CorpusID:128622530). + Archived from [the + original](http://rosslab.uchicago.edu/publications/De%20Klerk%20et%20al.%202000.pdf) + (PDF) on 2012-01-30. +- Diogo, R; Richmond, BG; Wood, B (2012). "Evolution and homologies of + primate and modern human hand and forearm muscles, with notes on + thumb movements and tool use". *Journal of Human Evolution*. **63** + (1): 64–78. + [Bibcode](/wiki/Bibcode_(identifier) "Bibcode (identifier)"):[2012JHumE..63...64D](https://ui.adsabs.harvard.edu/abs/2012JHumE..63...64D). + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1016/j.jhevol.2012.04.001](https://doi.org/10.1016%2Fj.jhevol.2012.04.001). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [22640954](https://pubmed.ncbi.nlm.nih.gov/22640954). +- Ellerman, John Reeves (1941). [*The families and genera of living + rodents. Vol. II. Family + Muridae*](https://archive.org/stream/familiesgeneraof02elle#page/2/mode/2up/search/Lophiomyidae). + London: British Museum (Natural History). +- Franzen, JL; Gingerich, PD; Habersetzer, J; Hurum, JH; von + Koenigswald, W; et al. (2009). Hawks, John (ed.). ["Complete Primate + Skeleton from the Middle Eocene of Messel in Germany: Morphology and + Paleobiology"](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2683573). + *PLOS ONE*. **4** (5): e5723. + [Bibcode](/wiki/Bibcode_(identifier) "Bibcode (identifier)"):[2009PLoSO...4.5723F](https://ui.adsabs.harvard.edu/abs/2009PLoSO...4.5723F). + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1371/journal.pone.0005723](https://doi.org/10.1371%2Fjournal.pone.0005723). + [PMC](/wiki/PMC_(identifier) "PMC (identifier)") [2683573](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2683573). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [19492084](https://pubmed.ncbi.nlm.nih.gov/19492084). +- Harcourt-Smith, W E H; Aiello, L C (May 2004). ["Fossils, feet and + the evolution of human bipedal + locomotion"](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1571304). + *Journal of Anatomy*. **204** (5): 403–16. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1111/j.0021-8782.2004.00296.x](https://doi.org/10.1111%2Fj.0021-8782.2004.00296.x). + [PMC](/wiki/PMC_(identifier) "PMC (identifier)") [1571304](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1571304). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [15198703](https://pubmed.ncbi.nlm.nih.gov/15198703). +- Hsu, Ar-Tyan; Meng-Tsu Hu; Fong Ching Su (July 2008). ["Effect of + Gender, Flexibility and Thumb Type on Thumb Tip + Generation"](http://www.jbiomech.com/article/S0021-9290%2808%2970148-9/abstract). + *Journal of Biomechanics*. **41** (Supplement 1): S148. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1016/S0021-9290(08)70148-9](https://doi.org/10.1016%2FS0021-9290%2808%2970148-9). +- [Jones, Lynette A.](/wiki/Lynette_Jones "Lynette Jones"); [Lederman, + Susan J.](/wiki/Susan_Lederman "Susan Lederman") (2006). [*Human + hand + function*](https://archive.org/details/humanhandfunctio0000jone). + Oxford University Press US. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [9780195173154](/wiki/Special:BookSources/9780195173154 "Special:BookSources/9780195173154"). +- [Leakey, LSB](/wiki/Louis_Leakey "Louis Leakey"); [Tobias, + PV](/wiki/Phillip_V._Tobias "Phillip V. Tobias"); [Napier, + JR](/wiki/John_Napier_(primatologist) "John Napier (primatologist)") + (April 1964). ["A New Species of Genus Homo from Olduvai + Gorge"](http://purple.niagara.edu/wje/Bio121/Leaky%201964%20habilis.pdf) + (PDF). *Nature*. **202** (4927): 7–9. + [Bibcode](/wiki/Bibcode_(identifier) "Bibcode (identifier)"):[1964Natur.202....7L](https://ui.adsabs.harvard.edu/abs/1964Natur.202....7L). + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1038/202007a0](https://doi.org/10.1038%2F202007a0). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [14166722](https://pubmed.ncbi.nlm.nih.gov/14166722). + [S2CID](/wiki/S2CID_(identifier) "S2CID (identifier)") [12836722](https://api.semanticscholar.org/CorpusID:12836722).^(\[*[permanent\ dead\ link](/wiki/Wikipedia:Link_rot "Wikipedia:Link rot")*‍\]) +- McBride, Earl Duwain (1942). [*Disability evaluation: principles of + treatment of compensable + injuries*](https://books.google.com/books?id=YIpgQgAACAAJ). + Lippincott. p. 631. +- McDade, Melissa C. (2003). "Koalas (*Phascolartidae*)". In Hutchins, + Michael; Kleiman, Devra G.; Geist, Valerius; et al. (eds.). + *Grzimek's animal life encyclopedia: Volumes 12–16, Mammals I–V* + (2nd ed.). Farmington Hills, MI: Gale Group. +- Moyà-Solà, Salvador; Köhler, Meike; Rook, Lorenzo (January 5, 1999). + ["Evidence of hominid-like precision grip capability in the hand of + the Miocene ape + Oreopithecus"](http://www.pnas.org/content/96/1/313.full.pdf) (PDF). + *PNAS*. **96** (1): 313–317. + [Bibcode](/wiki/Bibcode_(identifier) "Bibcode (identifier)"):[1999PNAS...96..313M](https://ui.adsabs.harvard.edu/abs/1999PNAS...96..313M). + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1073/pnas.96.1.313](https://doi.org/10.1073%2Fpnas.96.1.313). + [PMC](/wiki/PMC_(identifier) "PMC (identifier)") [15136](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC15136). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [9874815](https://pubmed.ncbi.nlm.nih.gov/9874815). +- Napier, John Russell (November 1956). ["The prehensile movements of + the human hand"](https://doi.org/10.1302%2F0301-620X.38B4.902). *J + Bone Joint Surg Br*. **38** (4): 902–913. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1302/0301-620X.38B4.902](https://doi.org/10.1302%2F0301-620X.38B4.902). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [13376678](https://pubmed.ncbi.nlm.nih.gov/13376678). +- Nowak, Ronald M. (1999). [*Walker's mammals of the world, Volume + 2*](https://books.google.com/books?id=T37sFCl43E8C&pg=PA89) + (6th ed.). JHU Press. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [978-0-8018-5789-8](/wiki/Special:BookSources/978-0-8018-5789-8 "Special:BookSources/978-0-8018-5789-8"). +- Platzer, Werner (2004). *Color Atlas of Human Anatomy, Vol. 1: + Locomotor System* (5th ed.). Thieme. + [ISBN](/wiki/ISBN_(identifier) "ISBN (identifier)") [3-13-533305-1](/wiki/Special:BookSources/3-13-533305-1 "Special:BookSources/3-13-533305-1"). +- Senter, Phil (2006). "Comparison of forelimb function between + *Deinonychus* and *Bambiraptor* (Theropoda: Dromaeosauridae)". + *Journal of Vertebrate Paleontology*. **26** (4): 897–906. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1671/0272-4634(2006)26\[897:COFFBD\]2.0.CO;2](https://doi.org/10.1671%2F0272-4634%282006%2926%5B897%3ACOFFBD%5D2.0.CO%3B2). + [S2CID](/wiki/S2CID_(identifier) "S2CID (identifier)") [85919882](https://api.semanticscholar.org/CorpusID:85919882). +- Slocum, D.B.; Pratt, D.R. (1946). ["Disability Evaluation for the + Hand"](http://www.ejbjs.org/cgi/reprint/28/3/491.pdf) (PDF). + *Journal of Bone and Joint Surgery*. **28** (3): 491–5. + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [20992193](https://pubmed.ncbi.nlm.nih.gov/20992193).^(\[*[permanent\ dead\ link](/wiki/Wikipedia:Link_rot "Wikipedia:Link rot")*‍\]) +- van Nierop, Onno A.; van der Helm, Aadjan; Overbeeke, Kees J.; + Djajadiningrat, Tom J.P. (2008). ["A natural human hand + model"](http://www.ece.uvic.ca/~btill/papers/mocap/vanNierop_etal_2008.pdf) + (PDF). *Visual Comput*. **24** (1): 31–44. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1007/s00371-007-0176-x](https://doi.org/10.1007%2Fs00371-007-0176-x). +- Young, Richard W. (January 2003). ["Evolution of the human hand: the + role of throwing and + clubbing"](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1571064). + *Journal of Anatomy*. **202** (1): 165–174. + [doi](/wiki/Doi_(identifier) "Doi (identifier)"):[10.1046/j.1469-7580.2003.00144.x](https://doi.org/10.1046%2Fj.1469-7580.2003.00144.x). + [PMC](/wiki/PMC_(identifier) "PMC (identifier)") [1571064](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1571064). + [PMID](/wiki/PMID_(identifier) "PMID (identifier)") [12587931](https://pubmed.ncbi.nlm.nih.gov/12587931). + +## External links + +\[[edit](/w/index.php?title=Thumb&action=edit§ion=24 "Edit section: External links")\] + +- [![](//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png)](/wiki/File:Commons-logo.svg) + Media related to + [Thumbs](https://commons.wikimedia.org/wiki/Category:Thumbs "commons:Category:Thumbs") + at Wikimedia Commons +- [![](//upload.wikimedia.org/wikipedia/commons/thumb/9/99/Wiktionary-logo-en-v2.svg/16px-Wiktionary-logo-en-v2.svg.png)](/wiki/File:Wiktionary-logo-en-v2.svg) + The dictionary definition of + [*thumb*](https://en.wiktionary.org/wiki/thumb "wiktionary:thumb") + at Wiktionary + +[TABLE] + +[TABLE] + +![](https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0) + +Retrieved from +"[https://en.wikipedia.org/w/index.php?title=Thumb&oldid=1274819517](https://en.wikipedia.org/w/index.php?title=Thumb&oldid=1274819517)" + +[Category](/wiki/Help:Category "Help:Category"): + +- [Fingers](/wiki/Category:Fingers "Category:Fingers") + +Hidden categories: + +- [Articles with short + description](/wiki/Category:Articles_with_short_description "Category:Articles with short description") +- [Short description is different from + Wikidata](/wiki/Category:Short_description_is_different_from_Wikidata "Category:Short description is different from Wikidata") +- [Articles needing additional references from April + 2024](/wiki/Category:Articles_needing_additional_references_from_April_2024 "Category:Articles needing additional references from April 2024") +- [All articles needing additional + references](/wiki/Category:All_articles_needing_additional_references "Category:All articles needing additional references") +- [Articles containing uncoded-language + text](/wiki/Category:Articles_containing_uncoded-language_text "Category:Articles containing uncoded-language text") +- [All articles lacking reliable + references](/wiki/Category:All_articles_lacking_reliable_references "Category:All articles lacking reliable references") +- [Articles lacking reliable references from August + 2024](/wiki/Category:Articles_lacking_reliable_references_from_August_2024 "Category:Articles lacking reliable references from August 2024") +- [All articles with unsourced + statements](/wiki/Category:All_articles_with_unsourced_statements "Category:All articles with unsourced statements") +- [Articles with unsourced statements from August + 2012](/wiki/Category:Articles_with_unsourced_statements_from_August_2012 "Category:Articles with unsourced statements from August 2012") +- [Articles with unsourced statements from December + 2014](/wiki/Category:Articles_with_unsourced_statements_from_December_2014 "Category:Articles with unsourced statements from December 2014") +- [All articles with dead external + links](/wiki/Category:All_articles_with_dead_external_links "Category:All articles with dead external links") +- [Articles with dead external links from January + 2025](/wiki/Category:Articles_with_dead_external_links_from_January_2025 "Category:Articles with dead external links from January 2025") +- [Articles with dead external links from February + 2020](/wiki/Category:Articles_with_dead_external_links_from_February_2020 "Category:Articles with dead external links from February 2020") +- [Articles with permanently dead external + links](/wiki/Category:Articles_with_permanently_dead_external_links "Category:Articles with permanently dead external links") +- [Articles with dead external links from October + 2022](/wiki/Category:Articles_with_dead_external_links_from_October_2022 "Category:Articles with dead external links from October 2022") +- [Commons category link is on + Wikidata](/wiki/Category:Commons_category_link_is_on_Wikidata "Category:Commons category link is on Wikidata") + +- This page was last edited on 9 February 2025, at 12:35 (UTC). +- Text is available under the [Creative Commons Attribution-ShareAlike + 4.0 + License](/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License "Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License"); + additional terms may apply. By using this site, you agree to the + [Terms of + Use](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use "foundation:Special:MyLanguage/Policy:Terms of Use") + and [Privacy + Policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy "foundation:Special:MyLanguage/Policy:Privacy policy"). + Wikipedia® is a registered trademark of the [Wikimedia Foundation, + Inc.](https://wikimediafoundation.org/), a non-profit organization. + +  + +- [Privacy + policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy) +- [About Wikipedia](/wiki/Wikipedia:About) +- [Disclaimers](/wiki/Wikipedia:General_disclaimer) +- [Contact Wikipedia](//en.wikipedia.org/wiki/Wikipedia:Contact_us) +- [Code of + Conduct](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct) +- [Developers](https://developer.wikimedia.org) +- [Statistics](https://stats.wikimedia.org/#/en.wikipedia.org) +- [Cookie + statement](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement) +- [Mobile + view](//en.m.wikipedia.org/w/index.php?title=Thumb&mobileaction=toggle_view_mobile) + +  + +- ![Wikimedia Foundation](/static/images/footer/wikimedia.svg) +- ![Powered by MediaWiki](/w/resources/assets/mediawiki_compact.svg) + +Search + +Search + +Toggle the table of contents + +Thumb + +[ ](#) [ ](#) [ ](#) [ ](#) [ ](#) [ ](#) [ ](#) + +103 languages + +[ Add topic](#) diff --git a/src/gizmo/wasp-bannerads.el b/src/gizmo/wasp-bannerads.el index 2586600e..70f9c8be 100644 --- a/src/gizmo/wasp-bannerads.el +++ b/src/gizmo/wasp-bannerads.el @@ -9,6 +9,8 @@ (require 'wasp-utils) (require 'wasp-chat) +(defvar w/banner-ad-block nil) + (defcustom w/banner-ad-buffer "*wasp-banner-ad*" "Name of buffer used to display banner ad." :type '(string) @@ -32,9 +34,13 @@ (setq-local cursor-type nil) (let* ((inhibit-read-only t)) (erase-buffer) - (let* ((paths (f-files (w/asset "bannerads"))) - (path (w/pick-random paths))) - (w/write (propertize "bannerad" 'display (create-image path nil nil :max-width 555 :max-height 175))))))) + (if w/banner-ad-block + (w/write "This advertisement was blocked by your adblocker") + (let* ((paths (f-files (w/asset "bannerads"))) + (path (w/pick-random paths)) + (img (create-image path nil nil :max-width 555 :max-height 175))) + (image-animate img nil t) + (w/write (propertize "bannerad" 'display img))))))) (defvar w/banner-ad-timer nil) (defun w/run-banner-ad-timer () @@ -47,5 +53,18 @@ (run-with-timer 60 nil #'w/run-banner-ad-timer))) (w/run-banner-ad-timer) + +(defun w/banner-ad-block () + "Toggle adblock." + (setq w/banner-ad-block t) + (w/render-banner-ad) + (w/model-toggle-set "adblock") + (run-with-timer 10 nil + (lambda () + (setq w/banner-ad-block nil) + (w/model-toggle-unset "adblock") + (w/render-banner-ad))) + nil) + (provide 'wasp-bannerads) ;;; wasp-bannerads.el ends here diff --git a/src/gizmo/wasp-biblicality.el b/src/gizmo/wasp-biblicality.el index b7c46ed8..317e87f7 100644 --- a/src/gizmo/wasp-biblicality.el +++ b/src/gizmo/wasp-biblicality.el @@ -37,7 +37,8 @@ (let ((occs (ht-get w/bible-table (downcase (s-trim word)))) (thresh 0.6)) (if occs - (+ thresh (/ (min occs 1000.0) (/ 1000.0 (- 1.0 thresh)))) + ;; (+ thresh (/ (min occs 1000.0) (/ 1000.0 (- 1.0 thresh)))) + (+ thresh (/ (min occs 10.0) (/ 10.0 (- 1.0 thresh)))) 0.0)))) (defun w/bible-word-color (word) diff --git a/src/gizmo/wasp-heartrate.el b/src/gizmo/wasp-heartrate.el index 62994680..a195e0c5 100644 --- a/src/gizmo/wasp-heartrate.el +++ b/src/gizmo/wasp-heartrate.el @@ -14,10 +14,19 @@ (let ((res (shell-command-to-string "uptime"))) (string-to-number (s-trim (car (s-split "," (cadr (s-split "load average:" res)))))))) +(defun w/get-disk-usage (disk) + "Get the current usage percent for DISK" + (let ((res (shell-command-to-string (format "df %s" disk)))) + (string-to-number (s-chop-suffix "%" (nth 4 (s-split " " (cadr (s-lines res)) t)))))) + (defun w/get-heartrate () "Get the streamer's heart rate." (* 100 (w/get-load))) +(defun w/get-blood-pressure () + "Get the streamer's blood pressure." + (format "%s/%s" (w/get-disk-usage "/") (w/get-disk-usage "/home"))) + (defface w/heartrate-big '((t :foreground "white" @@ -57,6 +66,7 @@ (let* ((inhibit-read-only t)) (erase-buffer) (w/write-line (format "%3d bpm" (w/get-heartrate)) 'w/heartrate-big) + (w/write-line (format "blood pressure: %s" (w/get-blood-pressure)) 'w/heartrate-small) (w/write (format "arbitrary counter: %s times" w/chat-bpm-count) 'w/heartrate-small)))) (defvar w/heartrate-timer nil) diff --git a/src/wasp-ai.el b/src/wasp-ai.el index e279103e..1201ca5b 100644 --- a/src/wasp-ai.el +++ b/src/wasp-ai.el @@ -169,15 +169,16 @@ Double-check the output to make sure it sounds normal." (defun w/ai-transcribe (path k) "Transcribe the audio file at PATH and pass the resulting string to K." - (let ((request-curl-options '("-F" "model=whisper-1" "-F" "language=en"))) - (w/ai-openai-post-form - "/v1/audio/transcriptions" - `(("file" . ,(f-canonical path))) - (lambda (res) - (funcall - k - (-some-> res - (ht-get "text"))))))) + ) + ;; (let ((request-curl-options '("-F" "model=whisper-1" "-F" "language=en"))) + ;; (w/ai-openai-post-form + ;; "/v1/audio/transcriptions" + ;; `(("file" . ,(f-canonical path))) + ;; (lambda (res) + ;; (funcall + ;; k + ;; (-some-> res + ;; (ht-get "text"))))))) (provide 'wasp-ai) ;;; wasp-ai.el ends here diff --git a/src/wasp-audio.el b/src/wasp-audio.el index 580a3e7e..30e2bdfe 100644 --- a/src/wasp-audio.el +++ b/src/wasp-audio.el @@ -18,7 +18,7 @@ (defvar w/audio-record-process-current nil) (defvar w/audio-keep-recording t) (defvar w/audio-voice-commands nil) -(defvar w/last-stream-transcription "") +(defvar w/last-stream-transcription "we're going down the rabbit hole") (defun w/tts (msg) "Use TTS to say MSG." @@ -44,7 +44,9 @@ If VOLUME is specified, use it to adjust the volume (100 is default)." (defun w/stop-all-audio () "Stop all audio by killing mpv processes." (interactive) - (start-process "pkill" nil "pkill" "mpv")) + (setq w/audio-muzak-queue nil) + (start-process "pkill" nil "pkill" "mpv") + (start-process "pkill" nil "pkill" "muzak")) (defun w/recorded-chatter-name? (user) "Return non-nil if we've recorded USER's name." @@ -148,5 +150,46 @@ USER it's your birthday today." (setq w/audio-keep-recording nil) (w/audio-record-end)) +(defconst w/audio-muzak-path "/home/llll/src/muzak-rs/target/release/muzak") +(defvar w/audio-muzak-now-playing nil) +(defvar w/audio-muzak-queue nil) + +(defun w/audio-muzak (user song) + "Play SONG by USER using muzak-rs courtesy The0x539." + (setq w/audio-muzak-now-playing (cons user song)) + (w/pub '(avatar overlay muzak) (list (w/encode-string user))) + (let ((proc + (make-process + :name "wasp-muzak" + :connection-type '(pipe . pty) + :buffer " *wasp-muzak-log*" + :command (list w/audio-muzak-path "play") + :sentinel + (lambda (_ _) + (w/pub '(avatar overlay muzak clear) (list)) + (setq w/audio-muzak-now-playing nil))))) + (process-send-string proc song) + (process-send-eof proc))) + +(defun w/audio-muzak-enqueue (user song) + "Enqueue a play for SONG by USER." + (setq w/audio-muzak-queue (-concat w/audio-muzak-queue (list (cons user song))))) + +(defun w/audio-muzak-update () + "Keep playing songs from the queue if they exist." + (unless w/audio-muzak-now-playing + (when-let* ((entry (pop w/audio-muzak-queue))) + (w/audio-muzak (car entry) (cdr entry))))) +(defvar w/audio-muzak-timer nil) +(defun w/run-audio-muzak-timer () + "Run the muzak timer." + (when w/audio-muzak-timer + (cancel-timer w/audio-muzak-timer)) + (w/audio-muzak-update) + (setq + w/audio-muzak-timer + (run-with-timer 1 nil #'w/run-audio-muzak-timer))) +(w/run-audio-muzak-timer) + (provide 'wasp-audio) ;;; wasp-audio.el ends here diff --git a/src/wasp-bus.el b/src/wasp-bus.el index aa950b29..cc75a26c 100644 --- a/src/wasp-bus.el +++ b/src/wasp-bus.el @@ -80,11 +80,12 @@ (defun w/pub (ev &optional d) "Publish the data D to the event EV." - (process-send-string - w/bus-process - (s-concat - (format "%S" `(pub ,ev ,@d)) - "\n"))) + (let ((s (s-concat (format "%S" `(pub ,ev ,@d)) "\n"))) + (w/write-log (format "sending: %s" s)) + (process-send-string + w/bus-process + s + ))) (defun w/sub-all () "Subscribe to all events in `w/bus-event-handlers'." diff --git a/src/wasp-chat.el b/src/wasp-chat.el index 3cf73899..10931b8d 100644 --- a/src/wasp-chat.el +++ b/src/wasp-chat.el @@ -289,8 +289,16 @@ Optionally, return the buffer NM in chat mode." (when (w/. biblicality msg) (let* ((wwidth (- (window-total-width (get-buffer-window (current-buffer))) 3)) (bible-button-text (format "[biblicality %.2f]" (w/. biblicality msg))) + ;; (bible-button-text (format "[pollicality %.2f]" (w/. biblicality msg))) (msgwidth (line-beginning-position)) (lines (+ 1 (/ msgwidth wwidth)))) + + (w/pub '(avatar overlay chat) + (list + (w/encode-string (w/. text msg)) + (format "%s" (w/unix-time)) + (format "%s" (or (w/. biblicality msg) 0.0)))) + (insert (propertize " " 'display diff --git a/src/wasp-model.el b/src/wasp-model.el index 521b3686..321f7dae 100644 --- a/src/wasp-model.el +++ b/src/wasp-model.el @@ -47,6 +47,9 @@ (w/pub '(avatar reset)) ;; (w/model-region-color "eyes" (color-values "gold")) ;; (w/model-region-word "eyes" "GOLDEN") + ;; (w/model-region-video "hair" "https://www.twitch.tv/kamijoan") + ;; (w/model-region-video "hair" "https://www.twitch.tv/kiwidancing") + (w/model-region-video "hair" "https://www.youtube.com/watch?v=FtutLA63Cp8") ) (defun w/model-toggle (toggle) @@ -54,6 +57,16 @@ (w/model-record-change) (w/pub '(avatar toggle) (list toggle))) +(defun w/model-toggle-set (toggle) + "Set TOGGLE on model." + (w/model-record-change) + (w/pub '(avatar toggle set) (list toggle))) + +(defun w/model-toggle-unset (toggle) + "Unset TOGGLE on model." + (w/model-record-change) + (w/pub '(avatar toggle unset) (list toggle))) + (defun w/model-background-text (msg) "Change the background text of the model to MSG." (let* ((cleanmsg (s-trim (w/clean-string msg))) diff --git a/src/wasp-obs.el b/src/wasp-obs.el index 0919eef4..35ead18d 100644 --- a/src/wasp-obs.el +++ b/src/wasp-obs.el @@ -89,6 +89,11 @@ Optionally, change text to MSG." "Toggle the debate topic." (w/pub '(monitor obs toggle) (list "Main" "Debate Topic"))) +(defun w/obs-toggle-spatiotemporal-clarity () + "Toggle the shader clarity effect." + (w/model-toggle "shaderclarity") + (w/pub '(monitor obs toggle) (list "Main" "Mic"))) + (w/defstruct w/obs-toggle toggle @@ -103,17 +108,19 @@ Optionally, change text to MSG." (defvar w/obs-toggles (list - (cons 'modclonk (w/make-obs-toggle :toggle #'w/obs-toggle-modclonk :reset 11)) - (cons 'live-reaction (w/make-obs-toggle :toggle #'w/obs-toggle-live-reaction :reset 17)) - (cons 'live-friend-reaction (w/make-obs-toggle :toggle #'w/obs-toggle-live-friend-reaction :reset 17)) - (cons 'thug-life (w/make-obs-toggle :toggle #'w/obs-toggle-thug-life :reset 17)) - (cons 'intj-stare (w/make-obs-toggle :toggle #'w/obs-toggle-intj-stare :reset 17)) - (cons 'critical-hit (w/make-obs-toggle :toggle #'w/obs-toggle-critical-hit :reset 3)) - (cons 'clickbait (w/make-obs-toggle :toggle #'w/obs-toggle-clickbait :reset 31)) - (cons 'chase-dreams (w/make-obs-toggle :toggle #'w/obs-toggle-chase-dreams :reset 31)) - (cons 'total-clarity (w/make-obs-toggle :toggle #'w/obs-toggle-total-clarity :reset 10)) - (cons 'activate-nixos (w/make-obs-toggle :toggle #'w/obs-toggle-activate-nixos :reset 31)) - (cons 'pharaohs-curse (w/make-obs-toggle :toggle (lambda () (w/model-toggle "sand")) :reset 20)))) + (cons 'modclonk (w/make-obs-toggle :toggle #'w/obs-toggle-modclonk :reset 11)) + (cons 'live-reaction (w/make-obs-toggle :toggle #'w/obs-toggle-live-reaction :reset 17)) + (cons 'live-friend-reaction (w/make-obs-toggle :toggle #'w/obs-toggle-live-friend-reaction :reset 17)) + (cons 'thug-life (w/make-obs-toggle :toggle #'w/obs-toggle-thug-life :reset 17)) + (cons 'intj-stare (w/make-obs-toggle :toggle #'w/obs-toggle-intj-stare :reset 17)) + (cons 'critical-hit (w/make-obs-toggle :toggle #'w/obs-toggle-critical-hit :reset 3)) + (cons 'clickbait (w/make-obs-toggle :toggle #'w/obs-toggle-clickbait :reset 31)) + (cons 'chase-dreams (w/make-obs-toggle :toggle #'w/obs-toggle-chase-dreams :reset 31)) + (cons 'total-clarity (w/make-obs-toggle :toggle #'w/obs-toggle-total-clarity :reset 10)) + (cons 'activate-nixos (w/make-obs-toggle :toggle #'w/obs-toggle-activate-nixos :reset 31)) + (cons 'pharaohs-curse (w/make-obs-toggle :toggle (lambda () (w/model-toggle "sand")) :reset 20)) + (cons 'spatiotemporal-clarity (w/make-obs-toggle :toggle #'w/obs-toggle-spatiotemporal-clarity :reset 7)) + )) (defun w/obs-activate-toggle (tnm &rest args) "Pass ARGS to the callback for toggle symbol TNM and start its timer." diff --git a/src/wasp-overlay.el b/src/wasp-overlay.el index e71ff0ab..23786453 100644 --- a/src/wasp-overlay.el +++ b/src/wasp-overlay.el @@ -42,7 +42,7 @@ (defun w/overlay-decode-shorthand-bml (s k) "Decode the shorthand BulletML string S. Pass the resulting BulletML XML string to K." - (w/write-log s) + ;; (w/write-log s) (w/prod-get-raw (format "/api/yamame?input=%s" (url-encode-url s)) (lambda (data) diff --git a/src/wasp-twitch-chat-commands.el b/src/wasp-twitch-chat-commands.el index 2cca2158..33435d7f 100644 --- a/src/wasp-twitch-chat-commands.el +++ b/src/wasp-twitch-chat-commands.el @@ -11,197 +11,199 @@ (require 'wasp-pronunciation) (setq - w/twitch-chat-commands - (list - (cons - "!commands" - (lambda (_ _) - (w/twitch-say - (s-concat - "Available commands: " - (s-join " " (--filter (s-contains? "!" it) (-map #'car w/twitch-chat-commands))))))) - (cons "MRBEAST" (lambda (_ _) (soundboard//play-clip "mrbeast.mp3"))) - (cons "NICECOCK" (lambda (_ _) (soundboard//play-clip "pantsintoashes.mp3"))) - (cons "hexadiCoding" (lambda (_ _) (soundboard//play-clip "developers.ogg"))) - (cons "ProgrammingTime" (lambda (_ _) (soundboard//play-clip "emacslisp.ogg"))) - (cons - "roguelike" - (lambda (user _) - (w/twitch-say - (if (= 0 (random 20)) - (format "@%s that is a roguelike :3" user) - (format "@%s that's not a roguelike" user))))) - (cons "arch btw" (lambda (_ _) (w/twitch-say "I use nix btw"))) - (cons "!advent" (lambda (_ _) (w/twitch-say "Join our private leaderboard: 3307583-b61f237c"))) - (cons "!discord" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) - (cons "discord IRC" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) - (cons "discord irc" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) - (cons "Discord IRC" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) - (cons "Discord irc" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) - (cons "Joel" (lambda (_ _) (cl-incf w/chat-joel-count) (w/chat-update-header-line))) - (cons "+2" (lambda (_ _) (cl-incf w/chat-plus2-count) (w/chat-update-header-line))) - (cons "-2" (lambda (_ _) (cl-incf w/chat-minus2-count) (w/chat-update-header-line))) - (cons "ICANT" (lambda (_ _) (cl-incf w/chat-icant-count) (w/chat-update-header-line))) - (cons "bpm" (lambda (_ _) (cl-incf w/chat-bpm-count))) - (cons "BPM" (lambda (_ _) (cl-incf w/chat-bpm-count))) - (cons "heartrate" (lambda (_ _) (cl-incf w/chat-bpm-count))) - (cons "Heartrate" (lambda (_ _) (cl-incf w/chat-bpm-count))) - (cons "heart" (lambda (_ _) (cl-incf w/chat-bpm-count))) - (cons "Heart" (lambda (_ _) (cl-incf w/chat-bpm-count))) - (cons "!menu" (lambda (_ _) (w/twitch-say "https://secure.colonq.computer/menu"))) - (cons "!guy" (lambda (_ _) (w/twitch-say "[🌙] it worked"))) - (cons "!littleguy" (lambda (_ _) (w/twitch-say "[🌙] it worked"))) - (cons "!irc" (lambda (_ _) (w/twitch-say "#cyberspace on IRC at colonq.computer:26697 (over TLS)"))) - (cons "IRC" (lambda (_ _) (w/twitch-say "#cyberspace on IRC at colonq.computer:26697 (over TLS)"))) + w/twitch-chat-commands + (list + (cons + "!commands" + (lambda (_ _) + (w/twitch-say + (s-concat + "Available commands: " + (s-join " " (--filter (s-contains? "!" it) (-map #'car w/twitch-chat-commands))))))) + (cons "MRBEAST" (lambda (_ _) (soundboard//play-clip "mrbeast.mp3"))) + (cons "NICECOCK" (lambda (_ _) (soundboard//play-clip "pantsintoashes.mp3"))) + (cons "hexadiCoding" (lambda (_ _) (soundboard//play-clip "developers.ogg"))) + (cons "ProgrammingTime" (lambda (_ _) (soundboard//play-clip "emacslisp.ogg"))) + (cons + "roguelike" + (lambda (user _) + (w/twitch-say + (if (= 0 (random 20)) + (format "@%s that is a roguelike :3" user) + (format "@%s that's not a roguelike" user))))) + (cons "arch btw" (lambda (_ _) (w/twitch-say "I use nix btw"))) + (cons "!advent" (lambda (_ _) (w/twitch-say "Join our private leaderboard: 3307583-b61f237c"))) + (cons "!discord" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) + ;; (cons "discord IRC" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) + ;; (cons "discord irc" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) + ;; (cons "Discord IRC" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) + ;; (cons "Discord irc" (lambda (_ _) (w/twitch-say "https://discord.gg/f4JTbgN7St"))) + (cons "!irc" (lambda (_ _) (w/twitch-say "#cyberspace on IRC at colonq.computer:26697 (over TLS)"))) + ;; (cons "IRC" (lambda (_ _) (w/twitch-say "#cyberspace on IRC at colonq.computer:26697 (over TLS)"))) + (cons "Joel" (lambda (_ _) (cl-incf w/chat-joel-count) (w/chat-update-header-line))) + (cons "+2" (lambda (_ _) (cl-incf w/chat-plus2-count) (w/chat-update-header-line))) + (cons "-2" (lambda (_ _) (cl-incf w/chat-minus2-count) (w/chat-update-header-line))) + (cons "ICANT" (lambda (_ _) (cl-incf w/chat-icant-count) (w/chat-update-header-line))) + (cons "bpm" (lambda (_ _) (cl-incf w/chat-bpm-count))) + (cons "BPM" (lambda (_ _) (cl-incf w/chat-bpm-count))) + (cons "heartrate" (lambda (_ _) (cl-incf w/chat-bpm-count))) + (cons "Heartrate" (lambda (_ _) (cl-incf w/chat-bpm-count))) + (cons "heart" (lambda (_ _) (cl-incf w/chat-bpm-count))) + (cons "Heart" (lambda (_ _) (cl-incf w/chat-bpm-count))) + (cons "!menu" (lambda (_ _) (w/twitch-say "https://secure.colonq.computer/menu"))) + (cons "!guy" (lambda (_ _) (w/twitch-say "[🌙] it worked"))) + (cons "!littleguy" (lambda (_ _) (w/twitch-say "[🌙] it worked"))) - (cons "!today" (lambda (_ _) (w/twitch-say (s-trim (w/slurp "~/today.txt"))))) - (cons "!schedule" (lambda (_ _) (w/twitch-say "https://twitch.tv/LCOLONQ/schedule"))) - (cons "!bingo" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer/~prod/toy/bingo/"))) - (cons "!music" (lambda (_ _) (w/twitch-say "we do not play music because it can be distracting; however you can listen to the official OST at https://vgmusic.fm :3"))) - (cons - "!music" - (lambda (_ _) (w/twitch-say "alternatively https://www.youtube.com/playlist?list=PLQ_Vw7ACol3CN58_osDkbeKa14Hk-N-TZ"))) - (cons - "!fish" - (lambda (_ _) - (w/twitch-say (shell-command-to-string "fishing")))) - (cons "!nc" (lambda (_ _) (w/twitch-say "try: \"nc colonq.computer 31340\", if nc doesn't work try ncat or telnet"))) - (cons - "!oomfie" - (lambda (_ _) - (soundboard//play-clip "oomfie.ogg") - (w/twitch-say "hi!!!!!!!"))) - (cons "!helloiloveyou" (lambda (_ _) (w/twitch-say "hello i love you"))) - (cons "!pronunciation" (lambda (_ _) (w/twitch-say (w/pronuciation)))) - ;; (cons "!jetsWave" (lambda (_ _) (fig//twitch-say (fig/slurp "jetsWave.txt")))) - ;; (cons "!forth" (lambda (_ _) (fig//twitch-say "https://github.com/lcolonq/giving"))) - (cons "!oub" (lambda (_ _) (w/twitch-say "https://oub.colonq.computer"))) - (cons "!cellar" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer/~llll/cellar/index.html"))) - (cons "!game" (lambda (_ _) (w/twitch-say "https://oub.colonq.computer"))) - (cons "!voidstranger" (lambda (_ _) (w/twitch-say "https://store.steampowered.com/app/2121980/Void_Stranger/"))) - (cons "!pubnix" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer"))) - (cons "!ring" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer"))) - (cons "!webring" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer"))) - (cons "!animeguide" (lambda (_ _) (w/twitch-say "https://nixos-and-flakes.thiscute.world/introduction"))) - (cons "!greencircle" (lambda (_ _) (w/twitch-say "https://greencircle.live"))) - (cons "!circle" (lambda (_ _) (w/twitch-say "https://greencircle.live"))) - (cons "!doujincircle" (lambda (_ _) (w/twitch-say "https://greencircle.live"))) - (cons "!tsuki" (lambda (_ _) (w/twitch-say "https://forum.tsuki.games"))) - (cons "!sponsor" (lambda (_ _) (w/twitch-say "Like what you see? Don't forget to download GNU Emacs at https://www.gnu.org/software/emacs/?code=LCOLONQ"))) - (cons "!specs" (lambda (_ _) (w/twitch-say "Editor: evil-mode, WM: EXWM, OS: NixOS, hardware: shit laptop"))) - (cons "!coverage" (lambda (_ _) (w/twitch-say (format "Test coverage: %s%%" (random 100))))) - (cons "!learnprogramming" (lambda (_ _) (w/twitch-say "1) program"))) - (cons "!github" (lambda (_ _) (w/twitch-say "https://github.com/lcolonq"))) - (cons "!language" (lambda (_ _) (w/twitch-say "probably emacs lisp or maybe rust"))) - (cons "!onlyfans" (lambda (_ _) (soundboard//play-clip "pornhub.mp3"))) - (cons "!throne" (lambda (_ _) (w/twitch-say "xdding"))) - (cons "!vim" (lambda (_ _) (w/twitch-say "vi is the best text editor, emacs is the best operating system"))) - (cons "!emacs" (lambda (_ _) (w/twitch-say "i've tried everything else emacs is best girl"))) - (cons "!bells" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer/~bezelea/bells/ and https://pub.colonq.computer/~prod/toy/dbkai/"))) - (cons "!help" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer/~prod/toy/glossary/"))) - (cons - "!boost" - (lambda (user _) - (w/twitch-say (format "boost power for @%s: %s" user (alist-get :boost w/user-current))))) - (cons - "!faction" - (lambda (user _) - (w/twitch-say (format "faction for %s: %s" user (alist-get :faction w/user-current))))) - (cons "!thanks" (lambda (user _) (w/twitch-say (format "thank you %s!" user)))) - (cons "!bible" (lambda (_ _) (w/twitch-say "https://www.youtube.com/watch?v=G5u23bh29hI"))) - (cons "!drink" (lambda (_ _) (w/twitch-say "its watah im drinkin it"))) - (cons - "!lore" - (lambda (_ _) - (w/ai - "ITEM" - (lambda (msg) (w/twitch-say msg)) - "Please produce a Dark Souls style item name and description related to LCOLONQ. Please limit your response to one sentence maximum. The sentence should be vague and incorporate archaic words that are not commonly used. LCOLONQ is a spirit that lives inside the computer. LCOLONQ is associated with: the moon, snakes, the color grey, dolls and puppets, amber, the wind, and GNU Emacs. The description should mostly describe the item, but with vague insinuations about the true nature of LCOLONQ." - "ITEM" - "Ring of Favor and Protection - A ring symbolizing the favor and protection of the goddess Fina, known in legend to possess fateful beauty."))) - ;; (cons "!geisercounter" (lambda (_ _) (fig//twitch-say (format "The Geiser counter beeps %s times" (fig//geiser-counter))))) - (cons - "!8ball" - (lambda (user inp) - (let ((trimmed (s-trim (s-replace "!8ball" "" inp)))) - (w/8ball - trimmed - (lambda (answer) - (w/twitch-say (format "@%s 8ball says: %s" user answer))))))) - (cons - "!bookrec" - (lambda (_ _) - (w/user-get - "__books__" - (lambda (books) - (let ((choice (w/pick-random books))) - (w/twitch-say (format "%s (recommended by %s)" (car choice) (cdr choice)))))))) - (cons - "!quote" - (lambda (_ _) - (w/user-get - "__quotes__" - (lambda (books) - (let ((choice (w/pick-random books))) - (w/twitch-say (format "%s: %s" (cdr choice) (car choice)))))))) - (cons - "!leaderboard" - (lambda (_ _) - (let* ((user-scores (-filter #'cdr (--map (when (and (listp it) (listp (cdr it))) (cons (car it) (alist-get :boost (cdr it)))) (ht->alist w/user-cache)))) - (sorted (-sort (-on #'> #'cdr) user-scores)) - (leaders (-take 5 sorted))) - (w/twitch-say (s-join ", " (--map (format "%s: %s" (car it) (cdr it)) leaders)))))) - (cons - "draobredael!" - (lambda (_ _) - (let* ((user-scores (-filter #'cdr (--map (when (and (listp it) (listp (cdr it))) (cons (car it) (alist-get :boost (cdr it)))) (ht->alist w/user-cache)))) - (sorted (-sort (-on #'< #'cdr) user-scores)) - (leaders (-take 5 sorted))) - (w/twitch-say (s-join ", " (--map (format "%s: %s" (reverse (car it)) (cdr it)) leaders)))))) - (cons - "!resolution" - (lambda (user inp) - (let ((trimmed (s-trim (s-replace "!resolution" "" inp)))) - (if (string-empty-p trimmed) - (w/write-chat-event "You gotta put what your resolution is.") - (w/write-chat-event (format "%s RESOLVES: %s" (s-upcase user) trimmed)) - (setf (alist-get :resolution2025 w/user-current) trimmed))))) - ;; (cons "!addbookrec" - ;; (lambda (user inp) - ;; (let ((trimmed (s-trim (s-replace "!addbookrec" "" inp)))) - ;; (fig//write-chat-event (format "%s recommends: %s" user trimmed)) - ;; (fig//add-recommended-book user trimmed)))) - ;; (cons "!quote" - ;; (lambda (_ _) - ;; (let ((choice (nth (random (length fig/quotes)) fig/quotes))) - ;; (fig//twitch-say (format "%s: %s" (cdr choice) (car choice)))))) - ;; (cons "!addquote" - ;; (lambda (user inp) - ;; (let ((trimmed (s-trim (s-replace "!addquote" "" inp)))) - ;; (fig//write-chat-event (format "%s saves quote: %s" user trimmed)) - ;; (fig//add-quote user trimmed)))) - ;; (cons "!twitter" - ;; (lambda (_ _) - ;; (fig/ask "How do you feel about Twitter? Should viewers follow LCOLONQ on Twitter?" #'fig/say) - ;; (fig//twitch-say "https://twitter.com/LCOLONQ"))) - ;; ;; (cons "!aoc" (lambda (_ _) (fig//twitch-say "Join our leaderboard: 3307583-b61f237c"))) - ;; (cons "!roll" (lambda (user _) (fig//twitch-say (fig//character-to-string (fig//roll-character user))))) - ;; (cons - ;; (cons - ;; "!vippers" - ;; (lambda (_ _) - ;; (let ((vipperstring (s-join ", " (fig//shuffle-seq fig//twitch-vip-list)))) - ;; (fig//twitch-say (seq-take vipperstring 450))) - ;; (fig//twitch-get-vip-list))) - ;; (cons "!levelup" - ;; (lambda (user _) - ;; (fig//update-db-character - ;; user - ;; (lambda (c) - ;; (cl-incf (fig//rpg-character-level c)) - ;; c)) - ;; (fig//twitch-say (fig//character-to-string (fig//get-db-character user))))) - )) + (cons "!today" (lambda (_ _) (w/twitch-say (s-trim (w/slurp "~/today.txt"))))) + (cons "!schedule" (lambda (_ _) (w/twitch-say "https://twitch.tv/LCOLONQ/schedule"))) + (cons "!bingo" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer/~prod/toy/bingo/"))) + (cons "!music" (lambda (_ _) (w/twitch-say "we do not play music because it can be distracting; however you can listen to the official OST at https://vgmusic.fm :3"))) + (cons "!mrgreen" (lambda (_ _) (w/twitch-say "lcolonGreen https://p.yusukekamiyamane.com/ lcolonGreen"))) + (cons + "!music" + (lambda (_ _) (w/twitch-say "alternatively https://www.youtube.com/playlist?list=PLQ_Vw7ACol3CN58_osDkbeKa14Hk-N-TZ"))) + (cons + "!fish" + (lambda (_ _) + (w/twitch-say (shell-command-to-string "fishing")))) + (cons "!nc" (lambda (_ _) (w/twitch-say "try: \"nc colonq.computer 31340\", if nc doesn't work try ncat or telnet"))) + (cons + "!oomfie" + (lambda (_ _) + (soundboard//play-clip "oomfie.ogg") + (w/twitch-say "hi!!!!!!!"))) + (cons "!helloiloveyou" (lambda (_ _) (w/twitch-say "hello i love you"))) + (cons "!pronunciation" (lambda (_ _) (w/twitch-say (w/pronuciation)))) + ;; (cons "!jetsWave" (lambda (_ _) (fig//twitch-say (fig/slurp "jetsWave.txt")))) + ;; (cons "!forth" (lambda (_ _) (fig//twitch-say "https://github.com/lcolonq/giving"))) + (cons "!oub" (lambda (_ _) (w/twitch-say "https://oub.colonq.computer"))) + (cons "!cellar" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer/~llll/cellar/index.html"))) + (cons "!game" (lambda (_ _) (w/twitch-say "https://oub.colonq.computer"))) + (cons "!voidstranger" (lambda (_ _) (w/twitch-say "https://store.steampowered.com/app/2121980/Void_Stranger/"))) + (cons "!pubnix" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer"))) + (cons "!ring" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer"))) + (cons "!webring" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer"))) + (cons "!animeguide" (lambda (_ _) (w/twitch-say "https://nixos-and-flakes.thiscute.world/introduction"))) + (cons "!greencircle" (lambda (_ _) (w/twitch-say "https://greencircle.live"))) + (cons "!circle" (lambda (_ _) (w/twitch-say "https://greencircle.live"))) + (cons "!doujincircle" (lambda (_ _) (w/twitch-say "https://greencircle.live"))) + (cons "!tsuki" (lambda (_ _) (w/twitch-say "https://forum.tsuki.games"))) + (cons "!sponsor" (lambda (_ _) (w/twitch-say "Like what you see? Don't forget to download GNU Emacs at https://www.gnu.org/software/emacs/?code=LCOLONQ"))) + (cons "!specs" (lambda (_ _) (w/twitch-say "Editor: evil-mode, WM: EXWM, OS: NixOS, hardware: shit laptop"))) + (cons "!coverage" (lambda (_ _) (w/twitch-say (format "Test coverage: %s%%" (random 100))))) + (cons "!learnprogramming" (lambda (_ _) (w/twitch-say "1) program"))) + (cons "!github" (lambda (_ _) (w/twitch-say "https://github.com/lcolonq"))) + (cons "!language" (lambda (_ _) (w/twitch-say "probably emacs lisp or maybe rust"))) + (cons "!onlyfans" (lambda (_ _) (soundboard//play-clip "pornhub.mp3"))) + (cons "!throne" (lambda (_ _) (w/twitch-say "xdding"))) + (cons "!vim" (lambda (_ _) (w/twitch-say "vi is the best text editor, emacs is the best operating system"))) + (cons "!emacs" (lambda (_ _) (w/twitch-say "i've tried everything else emacs is best girl"))) + (cons "!bells" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer/~bezelea/bells/ and https://pub.colonq.computer/~prod/toy/dbkai/"))) + (cons "!shader" (lambda (_ _) (w/twitch-say "https://secure.colonq.computer/throwshade"))) + (cons "!help" (lambda (_ _) (w/twitch-say "https://pub.colonq.computer/~prod/toy/glossary/"))) + (cons + "!boost" + (lambda (user _) + (w/twitch-say (format "boost power for @%s: %s" user (alist-get :boost w/user-current))))) + (cons + "!faction" + (lambda (user _) + (w/twitch-say (format "faction for %s: %s" user (alist-get :faction w/user-current))))) + (cons "!thanks" (lambda (user _) (w/twitch-say (format "thank you %s!" user)))) + (cons "!bible" (lambda (_ _) (w/twitch-say "https://www.youtube.com/watch?v=G5u23bh29hI"))) + (cons "!drink" (lambda (_ _) (w/twitch-say "its watah im drinkin it"))) + (cons + "!lore" + (lambda (_ _) + (w/ai + "ITEM" + (lambda (msg) (w/twitch-say msg)) + "Please produce a Dark Souls style item name and description related to LCOLONQ. Please limit your response to one sentence maximum. The sentence should be vague and incorporate archaic words that are not commonly used. LCOLONQ is a spirit that lives inside the computer. LCOLONQ is associated with: the moon, snakes, the color grey, dolls and puppets, amber, the wind, and GNU Emacs. The description should mostly describe the item, but with vague insinuations about the true nature of LCOLONQ." + "ITEM" + "Ring of Favor and Protection - A ring symbolizing the favor and protection of the goddess Fina, known in legend to possess fateful beauty."))) + ;; (cons "!geisercounter" (lambda (_ _) (fig//twitch-say (format "The Geiser counter beeps %s times" (fig//geiser-counter))))) + (cons + "!8ball" + (lambda (user inp) + (let ((trimmed (s-trim (s-replace "!8ball" "" inp)))) + (w/8ball + trimmed + (lambda (answer) + (w/twitch-say (format "@%s 8ball says: %s" user answer))))))) + (cons + "!bookrec" + (lambda (_ _) + (w/user-get + "__books__" + (lambda (books) + (let ((choice (w/pick-random books))) + (w/twitch-say (format "%s (recommended by %s)" (car choice) (cdr choice)))))))) + (cons + "!quote" + (lambda (_ _) + (w/user-get + "__quotes__" + (lambda (books) + (let ((choice (w/pick-random books))) + (w/twitch-say (format "%s: %s" (cdr choice) (car choice)))))))) + (cons + "!leaderboard" + (lambda (_ _) + (let* ((user-scores (-filter #'cdr (--map (when (and (listp it) (listp (cdr it))) (cons (car it) (alist-get :boost (cdr it)))) (ht->alist w/user-cache)))) + (sorted (-sort (-on #'> #'cdr) user-scores)) + (leaders (-take 5 sorted))) + (w/twitch-say (s-join ", " (--map (format "%s: %s" (car it) (cdr it)) leaders)))))) + (cons + "draobredael!" + (lambda (_ _) + (let* ((user-scores (-filter #'cdr (--map (when (and (listp it) (listp (cdr it))) (cons (car it) (alist-get :boost (cdr it)))) (ht->alist w/user-cache)))) + (sorted (-sort (-on #'< #'cdr) user-scores)) + (leaders (-take 5 sorted))) + (w/twitch-say (s-join ", " (--map (format "%s: %s" (reverse (car it)) (cdr it)) leaders)))))) + (cons + "!resolution" + (lambda (user inp) + (let ((trimmed (s-trim (s-replace "!resolution" "" inp)))) + (if (string-empty-p trimmed) + (w/write-chat-event "You gotta put what your resolution is.") + (w/write-chat-event (format "%s RESOLVES: %s" (s-upcase user) trimmed)) + (setf (alist-get :resolution2025 w/user-current) trimmed))))) + ;; (cons "!addbookrec" + ;; (lambda (user inp) + ;; (let ((trimmed (s-trim (s-replace "!addbookrec" "" inp)))) + ;; (fig//write-chat-event (format "%s recommends: %s" user trimmed)) + ;; (fig//add-recommended-book user trimmed)))) + ;; (cons "!quote" + ;; (lambda (_ _) + ;; (let ((choice (nth (random (length fig/quotes)) fig/quotes))) + ;; (fig//twitch-say (format "%s: %s" (cdr choice) (car choice)))))) + ;; (cons "!addquote" + ;; (lambda (user inp) + ;; (let ((trimmed (s-trim (s-replace "!addquote" "" inp)))) + ;; (fig//write-chat-event (format "%s saves quote: %s" user trimmed)) + ;; (fig//add-quote user trimmed)))) + ;; (cons "!twitter" + ;; (lambda (_ _) + ;; (fig/ask "How do you feel about Twitter? Should viewers follow LCOLONQ on Twitter?" #'fig/say) + ;; (fig//twitch-say "https://twitter.com/LCOLONQ"))) + ;; ;; (cons "!aoc" (lambda (_ _) (fig//twitch-say "Join our leaderboard: 3307583-b61f237c"))) + ;; (cons "!roll" (lambda (user _) (fig//twitch-say (fig//character-to-string (fig//roll-character user))))) + ;; (cons + ;; (cons + ;; "!vippers" + ;; (lambda (_ _) + ;; (let ((vipperstring (s-join ", " (fig//shuffle-seq fig//twitch-vip-list)))) + ;; (fig//twitch-say (seq-take vipperstring 450))) + ;; (fig//twitch-get-vip-list))) + ;; (cons "!levelup" + ;; (lambda (user _) + ;; (fig//update-db-character + ;; user + ;; (lambda (c) + ;; (cl-incf (fig//rpg-character-level c)) + ;; c)) + ;; (fig//twitch-say (fig//character-to-string (fig//get-db-character user))))) + )) (provide 'wasp-twitch-chat-commands) ;;; wasp-twitch-chat-commands.el ends here diff --git a/src/wasp-twitch-redeems.el b/src/wasp-twitch-redeems.el index c673430b..bf7a352b 100644 --- a/src/wasp-twitch-redeems.el +++ b/src/wasp-twitch-redeems.el @@ -22,277 +22,299 @@ (defvar w/twitch-redeem-sound-last 0) (setf - w/twitch-redeems - (list - (list - "lurker check in" 1 - (lambda (user _) - (w/write-chat-event (format "%s is lurking" user)))) - (list - "mental clarity" 1 - (lambda (user _) - (w/write-chat-event (format "%s established mental clarity" user)) - (w/stop-all-audio))) - (list - "BOOST" 1 - (lambda (user _) - (unless (-contains? w/twitch-boosters user) - (add-to-list 'w/twitch-boosters user) - (soundboard//play-clip "yougotboostpower.ogg") - (w/write-chat-event (s-concat user " boosted their boost number")) - (cl-incf (alist-get :boost w/user-current 0))))) - (list - "TSOOB" 1 - (lambda (user _) - (unless (-contains? w/twitch-tsoobers user) - (add-to-list 'w/twitch-tsoobers user) - (soundboard//play-clip "rewoptsoobtoguoy.ogg" 140) - (w/write-chat-event (s-reverse (s-concat user " boosted their boost number"))) - (cl-decf (alist-get :boost w/user-current 0))))) - (list - "submit headline" 1 - (lambda (user inp) - (w/write-chat-event (format "%s submitted a headline: %s" user inp)) - (w/glossary-record inp) - (w/friend-journalism user inp))) - (list - "cycle gizmos" 1 - (lambda (user _) - (w/write-chat-event (format "%s cycled the gizmos" user)) - (w/gizmo-cycle))) - (list - "allow streamer to drink" 1 - (lambda (user _) - (w/write-chat-event (format "%s allowed the streamer to \"drink\"" user)))) - (list - "deslug" 1 - (lambda (user _) - (w/write-chat-event (format "%s inverted slug" user)))) - (list - "talk to clone" 2 - (lambda (user inp) - (push (cons user inp) w/twitch-chat-history) - (let ((w/twitch-chat-history (list (cons user inp))) - (w/last-stream-transcription "") - (ping (w/message-ping inp))) - (w/write-chat-event (s-concat user " asks clone: " inp)) - (w/fake-chatter-run - (w/pick-random - (or - (and ping (w/dna-user-clones ping)) - (w/dna-user-clones user) - w/fake-chatters)))))) - (list - "spinne" 3 - (lambda (user _) - (w/write-chat-event (s-concat user " activates the spinne cyclle")) - (w/model-toggle "spin"))) - (list - "forsen" 3 - (lambda (user _) - (let ((cur (float-time))) - (when (> (- cur w/twitch-redeem-sound-last) 2) - (w/write-chat-event (s-concat user " loudly exclaims forsenE")) - (soundboard//play-clip "cave3.ogg" 75) - (w/model-toggle "forsen") - (setq w/twitch-redeem-sound-last cur))))) - (list - "SEASICKNESS GENERATOR" 3 - (lambda (user _) - (w/write-chat-event (s-concat user " is a salty sea dog")) - (w/model-toggle "zoom_wave"))) - (list - "The Pharaoh's Curse" 3 - (lambda (user _) - (w/write-chat-event (format "%s drew the ire of the Pharaoh upon me" user)) - (w/obs-activate-toggle 'pharaohs-curse) - )) - (list - "pursue idol dream" 3 - (lambda (user _) - (w/write-chat-event (format "Helping %s pursue their idol dream~" user)) - (w/obs-activate-toggle 'chase-dreams) - (w/model-region-user-avatar "hair" user))) - (list - "INTJ stare" 3 - (lambda (user _) - (w/write-chat-event (format "%s suggested a little more sodium chloride next time" user)) - (w/obs-activate-toggle 'intj-stare))) - (list - "Live LCOLONQ Reaction" 3 - (lambda (user _) - (w/write-chat-event (format "%s demanded extremely \"hype\" reactions, &c." user)) - (w/obs-activate-toggle 'live-reaction))) - (list - "Live friend Reaction" 3 - (lambda (user _) - (w/write-chat-event (format "%s demanded extremely \"hype\" reactions, &c. but from \"friend\"!?" user)) - (w/obs-activate-toggle 'live-friend-reaction))) - (list - "bells of bezelea" 4 - (lambda (user msg) - (w/get-song - msg - (lambda (song) - (if song + w/twitch-redeems + (list + (list + "throw shade" 1 + (lambda (user shader) + (w/write-chat-event (format "%s threw shade" user)) + (w/db-set "shader" shader) + (w/model-record-change) + (w/pub '(avatar overlay shader) (list (w/encode-string user) (w/encode-string shader))))) + (list + "lurker check in" 1 + (lambda (user _) + (w/write-chat-event (format "%s is lurking" user)))) + (list + "mental clarity" 1 + (lambda (user _) + (w/write-chat-event (format "%s established mental clarity" user)) + (w/stop-all-audio) + (w/model-reset))) + (list + "BOOST" 1 + (lambda (user _) + (unless (-contains? w/twitch-boosters user) + (add-to-list 'w/twitch-boosters user) + (soundboard//play-clip "yougotboostpower.ogg") + (w/write-chat-event (s-concat user " boosted their boost number")) + (cl-incf (alist-get :boost w/user-current 0))))) + (list + "TSOOB" 1 + (lambda (user _) + (unless (-contains? w/twitch-tsoobers user) + (add-to-list 'w/twitch-tsoobers user) + (soundboard//play-clip "rewoptsoobtoguoy.ogg" 140) + (w/write-chat-event (s-reverse (s-concat user " boosted their boost number"))) + (cl-decf (alist-get :boost w/user-current 0))))) + (list + "submit headline" 1 + (lambda (user inp) + (w/write-chat-event (format "%s submitted a headline: %s" user inp)) + (w/glossary-record inp) + (w/friend-journalism user inp))) + (list + "cycle gizmos" 1 + (lambda (user _) + (w/write-chat-event (format "%s cycled the gizmos" user)) + (w/gizmo-cycle))) + (list + "allow streamer to drink" 1 + (lambda (user _) + (w/write-chat-event (format "%s allowed the streamer to \"drink\"" user)))) + (list + "deslug" 1 + (lambda (user _) + (w/write-chat-event (format "%s inverted slug" user)))) + (list + "talk to clone" 2 + (lambda (user inp) + (push (cons user inp) w/twitch-chat-history) + (let ((w/twitch-chat-history (list (cons user inp))) + (w/last-stream-transcription "") + (ping (w/message-ping inp))) + (w/write-chat-event (s-concat user " asks clone: " inp)) + (w/fake-chatter-run + (w/pick-random + (or + (and ping (w/dna-user-clones ping)) + (w/dna-user-clones user) + w/fake-chatters)))))) + (list + "spinne" 3 + (lambda (user _) + (w/write-chat-event (s-concat user " activates the spinne cyclle")) + (w/model-toggle "spin"))) + (list + "forsen" 3 + (lambda (user _) + (let ((cur (float-time))) + (when (> (- cur w/twitch-redeem-sound-last) 2) + (w/write-chat-event (s-concat user " loudly exclaims forsenE")) + (soundboard//play-clip "cave3.ogg" 75) + (w/model-toggle "forsen") + (setq w/twitch-redeem-sound-last cur))))) + (list + "SEASICKNESS GENERATOR" 3 + (lambda (user _) + (w/write-chat-event (s-concat user " is a salty sea dog")) + (w/model-toggle "zoom_wave"))) + (list + "The Pharaoh's Curse" 3 + (lambda (user _) + (w/write-chat-event (format "%s drew the ire of the Pharaoh upon me" user)) + (w/obs-activate-toggle 'pharaohs-curse) + )) + (list + "pursue idol dream" 3 + (lambda (user _) + (w/write-chat-event (format "Helping %s pursue their idol dream~" user)) + (w/obs-activate-toggle 'chase-dreams) + (w/model-region-user-avatar "hair" user))) + (list + "INTJ stare" 3 + (lambda (user _) + (w/write-chat-event (format "%s suggested a little more sodium chloride next time" user)) + (w/obs-activate-toggle 'intj-stare))) + (list + "Live LCOLONQ Reaction" 3 + (lambda (user _) + (w/write-chat-event (format "%s demanded extremely \"hype\" reactions, &c." user)) + (w/obs-activate-toggle 'live-reaction))) + (list + "Live friend Reaction" 3 + (lambda (user _) + (w/write-chat-event (format "%s demanded extremely \"hype\" reactions, &c. but from \"friend\"!?" user)) + (w/obs-activate-toggle 'live-friend-reaction))) + (list + "bells of bezelea" 4 + (lambda (user msg) + (w/get-song + msg + (lambda (song) + (if song + (progn + (w/write-chat-event (format "%s played a song: %s (sponsored by Bezelea)" user msg)) + (w/audio-muzak-enqueue user song)) + (w/write-chat-event (format "%s played the bells (sponsored by Bezelea)" user)) + (w/audio-muzak-enqueue user msg)))))) + (list + "activate spell card" 4 + (lambda (user msg) + (w/write-chat-event + (format + "%s Sign: \"%s\"" + (s-titleize user) + (s-titleized-words (alist-get user w/twitch-chat-history (w/pick-random w/overlay-spellcard-names) nil #'cl-equalp)))) + (w/overlay-decode-shorthand-bml + msg + (lambda (data) + (w/overlay-start-barrage data))))) + (list "palette swap (hair)" 5 (w/handle-redeem-region-swap "hair")) + (list "palette swap (highlight)" 5 (w/handle-redeem-region-swap "highlight")) + (list "palette swap (eyes)" 5 (w/handle-redeem-region-swap "eyes")) + ;; (list "palette swap (hat)" 5 (w/handle-redeem-region-swap "hat")) + (list "palette swap (hands)" 5 (w/handle-redeem-region-swap "hands")) + (list + "run program" 6 + (lambda (user inp) + (if (w/user-authorized) + (progn + (w/write-chat-event (s-concat user " runs program: " inp)) + (w/bless inp 50)) + (w/write-chat-event (format "%s is not authorized to run code" user))))) + (list + "feed friend" 10 + (lambda (user inp) + (let ((cur (float-time))) + (when (> (- cur w/twitch-redeem-sound-last) 2) + (w/write-chat-event (s-concat user " feeds \"friend\" " inp)) + (w/friend-feed user inp) + (setq w/twitch-redeem-sound-last cur))))) + (list + "talk to friend" 10 + (lambda (user inp) + (let ((cur (float-time))) + (when (> (- cur w/twitch-redeem-sound-last) 2) + (w/write-chat-event (s-concat user " talks to \"friend\": " inp)) + (w/friend-chat user inp) + (setq w/twitch-redeem-sound-last cur))))) + (list + "friend composes song" 10 + (lambda (user inp) + (let ((cur (float-time))) + (when (> (- cur w/twitch-redeem-sound-last) 2) + (w/write-chat-event (s-concat user " asks \"friend\" to compose a song about: " inp)) + (w/friend-compose-song inp) + (setq w/twitch-redeem-sound-last cur))))) + (list + "show friend wikipedia page" 10 + (lambda (user inp) + (let ((cur (float-time))) + (when (> (- cur w/twitch-redeem-sound-last) 2) + (w/write-chat-event (s-concat user " shows \"friend\" a Wikipedia page: " inp)) + (w/friend-react-wikipedia user inp) + (setq w/twitch-redeem-sound-last cur))))) + (list + "theme: maris-dark" 50 + (lambda (user _) + (w/write-chat-event (format "%s changed the theme: maris-dark" user)) + (w/change-theme 'ef-maris-dark))) + (list + "theme: autumn" 50 + (lambda (user _) + (w/write-chat-event (format "%s changed the theme: autumn" user)) + (w/change-theme 'ef-autumn))) + (list + "theme: tritanopia-dark" 50 + (lambda (user _) + (w/write-chat-event (format "%s changed the theme: tritanopia-dark" user)) + (w/change-theme 'ef-tritanopia-dark))) + (list + "theme: duo-dark" 50 + (lambda (user _) + (w/write-chat-event (format "%s changed the theme: duo-dark" user)) + (w/change-theme 'ef-duo-dark))) + (list + "theme: bio" 50 + (lambda (user _) + (w/write-chat-event (format "%s changed the theme: bio" user)) + (w/change-theme 'ef-bio))) + (list + "theme: rosa" 50 + (lambda (user _) + (w/write-chat-event (format "%s changed the theme: rosa" user)) + (w/change-theme 'ef-rosa))) + (list + "gamer" 500 + (lambda (user _) + (let ((cur (float-time))) + (when (> (- cur w/twitch-redeem-sound-last) 2) + (w/write-chat-event (s-concat user "'s Gamer Sacrifice summoned an entity")) + (soundboard//play-clip "videogame.ogg") + (w/obs-activate-toggle 'thug-life) + (setq w/twitch-redeem-sound-last cur))))) + (list + "arrow" 500 + (lambda (user msg) + (w/write-chat-event (format "%s points and says %S" user msg)) + (w/obs-activate-toggle 'clickbait msg))) + (list + "antipiracy" 500 + (lambda (user _) + (w/write-chat-event (format "%s does not condone any form of copyright infringement whatsoever." user)) + (w/obs-activate-toggle 'activate-nixos))) + (list + "super idol" 500 + (lambda (_ _) + (let ((cur (float-time))) + (when (> (- cur w/twitch-redeem-sound-last) 2) + (w/write-chat-event "SuperIdoldexiaorongdoumeinidetianbayuezhengwudeyangguangdoumeiniyaoyanreai105Cdenididiqingchundezhen") + (soundboard//play-clip "superidololdshortstyle.ogg") + (setq w/twitch-redeem-sound-last cur))))) + (list + "enable ad block" 500 + (lambda (user _) + (w/write-chat-event (format "%s turned on UltraBlock HYPER: Community Edition" user)) + (w/banner-ad-block))) + (list + "hex" 500 + (lambda (user inp) + (let* ((sp (s-split " " inp)) + (spell (car sp)) + (target (cadr sp))) + (if (and spell target (stringp spell) (stringp target)) (progn - (w/write-chat-event (format "%s played a song: %s (sponsored by Bezelea)" user msg)) - (muzak/play-tracks song)) - (w/write-chat-event (format "%s played the bells (sponsored by Bezelea)" user)) - (muzak/play-tracks msg)))))) - (list - "activate spell card" 4 - (lambda (user msg) - (w/write-chat-event - (format - "%s Sign: \"%s\"" - (s-titleize user) - (s-titleized-words (alist-get user w/twitch-chat-history (w/pick-random w/overlay-spellcard-names) nil #'cl-equalp)))) - (w/overlay-decode-shorthand-bml - msg - (lambda (data) - (w/overlay-start-barrage data))))) - (list "palette swap (hair)" 5 (w/handle-redeem-region-swap "hair")) - (list "palette swap (highlight)" 5 (w/handle-redeem-region-swap "highlight")) - (list "palette swap (eyes)" 5 (w/handle-redeem-region-swap "eyes")) - ;; (list "palette swap (hat)" 5 (w/handle-redeem-region-swap "hat")) - (list "palette swap (hands)" 5 (w/handle-redeem-region-swap "hands")) - (list - "run program" 6 - (lambda (user inp) - (if (w/user-authorized) - (progn - (w/write-chat-event (s-concat user " runs program: " inp)) - (w/bless inp 50)) - (w/write-chat-event (format "%s is not authorized to run code" user))))) - (list - "feed friend" 10 - (lambda (user inp) - (let ((cur (float-time))) - (when (> (- cur w/twitch-redeem-sound-last) 2) - (w/write-chat-event (s-concat user " feeds \"friend\" " inp)) - (w/friend-feed user inp) - (setq w/twitch-redeem-sound-last cur))))) - (list - "talk to friend" 10 - (lambda (user inp) - (let ((cur (float-time))) - (when (> (- cur w/twitch-redeem-sound-last) 2) - (w/write-chat-event (s-concat user " talks to \"friend\": " inp)) - (w/friend-chat user inp) - (setq w/twitch-redeem-sound-last cur))))) - (list - "friend composes song" 10 - (lambda (user inp) - (let ((cur (float-time))) - (when (> (- cur w/twitch-redeem-sound-last) 2) - (w/write-chat-event (s-concat user " asks \"friend\" to compose a song about: " inp)) - (w/friend-compose-song inp) - (setq w/twitch-redeem-sound-last cur))))) - (list - "show friend wikipedia page" 10 - (lambda (user inp) - (let ((cur (float-time))) - (when (> (- cur w/twitch-redeem-sound-last) 2) - (w/write-chat-event (s-concat user " shows \"friend\" a Wikipedia page: " inp)) - (w/friend-react-wikipedia user inp) - (setq w/twitch-redeem-sound-last cur))))) - (list - "theme: maris-dark" 50 - (lambda (user _) - (w/write-chat-event (format "%s changed the theme: maris-dark" user)) - (w/change-theme 'ef-maris-dark))) - (list - "theme: autumn" 50 - (lambda (user _) - (w/write-chat-event (format "%s changed the theme: autumn" user)) - (w/change-theme 'ef-autumn))) - (list - "theme: tritanopia-dark" 50 - (lambda (user _) - (w/write-chat-event (format "%s changed the theme: tritanopia-dark" user)) - (w/change-theme 'ef-tritanopia-dark))) - (list - "theme: duo-dark" 50 - (lambda (user _) - (w/write-chat-event (format "%s changed the theme: duo-dark" user)) - (w/change-theme 'ef-duo-dark))) - (list - "theme: bio" 50 - (lambda (user _) - (w/write-chat-event (format "%s changed the theme: bio" user)) - (w/change-theme 'ef-bio))) - (list - "theme: rosa" 50 - (lambda (user _) - (w/write-chat-event (format "%s changed the theme: rosa" user)) - (w/change-theme 'ef-rosa))) - (list - "gamer" 500 - (lambda (user _) - (let ((cur (float-time))) - (when (> (- cur w/twitch-redeem-sound-last) 2) - (w/write-chat-event (s-concat user "'s Gamer Sacrifice summoned an entity")) - (soundboard//play-clip "videogame.ogg") - (w/obs-activate-toggle 'thug-life) - (setq w/twitch-redeem-sound-last cur))))) - (list - "arrow" 500 - (lambda (user msg) - (w/write-chat-event (format "%s points and says %S" user msg)) - (w/obs-activate-toggle 'clickbait msg))) - (list - "antipiracy" 500 - (lambda (user _) - (w/write-chat-event (format "%s does not condone any form of copyright infringement whatsoever." user)) - (w/obs-activate-toggle 'activate-nixos))) - (list - "super idol" 500 - (lambda (_ _) - (let ((cur (float-time))) - (when (> (- cur w/twitch-redeem-sound-last) 2) - (w/write-chat-event "SuperIdoldexiaorongdoumeinidetianbayuezhengwudeyangguangdoumeiniyaoyanreai105Cdenididiqingchundezhen") - (soundboard//play-clip "superidololdshortstyle.ogg") - (setq w/twitch-redeem-sound-last cur))))) - (list - "hex" 500 - (lambda (user inp) - (let* ((sp (s-split " " inp)) - (spell (car sp)) - (target (cadr sp))) - (if (and spell target (stringp spell) (stringp target)) - (progn - (w/write-chat-event (s-concat user " hexed " target " with: " spell)) - (when-let ((type (alist-get spell w/hex-types nil nil #'s-equals?))) - (w/hex target user type))) - (w/write-chat-event (s-concat user "'s hex fizzled out with a puff of smoke!")))))) - (list - "VIPPER" 1000 - (lambda (user inp) - (soundboard//play-clip "aeiou.ogg") - (w/write-chat-event (s-concat user " gave VIP to " inp)) - (w/twitch-add-vip (s-chop-prefix "@" inp)))) - (list - "deVIPPER" 1000 - (lambda (user inp) - (soundboard//play-clip "uoiea.ogg") - (w/write-chat-event (s-concat user " removed VIP from " inp)) - (w/twitch-remove-vip (s-chop-prefix "@" inp)))) - (list - "total clarity" 5000 - (lambda (user _) - (w/stop-all-audio) - (run-with-timer - 1 nil - (lambda () (soundboard//play-clip "gong.ogg"))) - (w/write-chat-event (s-concat user " established total clarity")) - (w/obs-activate-toggle 'total-clarity))) - (list - "canonize me" 20000 - (lambda (user _) - (w/write-chat-event (s-concat user " was canonized!")) - (w/bible-canonize user))) - )) + (w/write-chat-event (s-concat user " hexed " target " with: " spell)) + (when-let ((type (alist-get spell w/hex-types nil nil #'s-equals?))) + (w/hex target user type))) + (w/write-chat-event (s-concat user "'s hex fizzled out with a puff of smoke!")))))) + (list + "VIPPER" 1000 + (lambda (user inp) + (soundboard//play-clip "aeiou.ogg") + (w/write-chat-event (s-concat user " gave VIP to " inp)) + (w/twitch-add-vip (s-chop-prefix "@" inp)))) + (list + "deVIPPER" 1000 + (lambda (user inp) + (soundboard//play-clip "uoiea.ogg") + (w/write-chat-event (s-concat user " removed VIP from " inp)) + (w/twitch-remove-vip (s-chop-prefix "@" inp)))) + (list + "spatiotemporal clarity" 2000 + (lambda (user _) + (w/stop-all-audio) + (run-with-timer + 1 nil + (lambda () (soundboard//play-clip "chinesebiblemozartfade.ogg"))) + (w/write-chat-event (s-concat user " established spatiotemporal clarity")) + (w/obs-activate-toggle 'spatiotemporal-clarity))) + (list + "total clarity" 5000 + (lambda (user _) + (w/stop-all-audio) + (run-with-timer + 1 nil + (lambda () (soundboard//play-clip "gong.ogg"))) + (w/write-chat-event (s-concat user " established total clarity")) + (w/obs-activate-toggle 'total-clarity))) + (list + "canonize me" 20000 + (lambda (user _) + (w/write-chat-event (s-concat user " was canonized!")) + (w/bible-canonize user))) + )) (provide 'wasp-twitch-redeems) ;;; wasp-twitch-redeems.el ends here diff --git a/src/wasp-twitch.el b/src/wasp-twitch.el index 0a4039fe..de44c735 100644 --- a/src/wasp-twitch.el +++ b/src/wasp-twitch.el @@ -214,7 +214,7 @@ K is called when the download is finished." (s-concat "/users?login=" user) (lambda (data) (let ((url (ht-get (aref (ht-get data "data") 0) "profile_image_url"))) - (w/write-log (format "downloading avatar: %s %s" url path)) + ;; (w/write-log (format "downloading avatar: %s %s" url path)) (make-process :name "wasp-download-avatar" :buffer nil @@ -536,7 +536,7 @@ CALLBACK will be passed the winner when the poll concludes." (defun w/twitch-handle-incoming-chat (msg) "Write MSG to the chat buffer, processing any commands." - (w/write-log (format "%s" msg)) + ;; (w/write-log (format "%s" msg)) (let ((user (w/decode-string (car msg)))) (w/user-bind user @@ -596,7 +596,7 @@ Optionally, only apply redeems with point costs less than LIMIT." (defun w/twitch-handle-redeem (r) "Handle the channel point redeem R." - (w/write-log r) + ;; (w/write-log r) (let* ((user (car r)) (redeem (cadr r)) (encoded-input (caddr r)) diff --git a/src/wasp-user-whitelist.el b/src/wasp-user-whitelist.el index 9ff1c392..5205e002 100644 --- a/src/wasp-user-whitelist.el +++ b/src/wasp-user-whitelist.el @@ -231,6 +231,12 @@ "szenesis" "mrteese" "ranimusv" + "remblanc" + "katlyranna" + "pwfff" + "quackthatsmackyo" + "thelinuxdeveloper" + "hrrawr" ))) (setq diff --git a/src/wasp-utils.el b/src/wasp-utils.el index 31a17996..54cc3cae 100644 --- a/src/wasp-utils.el +++ b/src/wasp-utils.el @@ -98,6 +98,10 @@ Optionally append EXT to the path." "Write DATA to PATH." (f-write-text data 'utf-8 path)) +(defun w/unix-time () + "Return the current Unix timestamp." + (float-time (current-time))) + (defun w/daily-log-path () "Return the path to today's daily log file." (format-time-string "~/logs/log-%Y-%m-%d.txt" (current-time))) @@ -140,7 +144,7 @@ Optionally append EXT to the path." (defun w/devour (start end) "Delete and return the region from START to END." - (w/write-log (format "devouring: %s %s %s" start end (buffer-string))) + ;; (w/write-log (format "devouring: %s %s %s" start end (buffer-string))) (let ((ret (decode-coding-string (buffer-substring start end) 'utf-8))) (delete-region start end) ret)) diff --git a/wasp.el b/wasp.el index 6fdee0cd..779afa3d 100644 --- a/wasp.el +++ b/wasp.el @@ -55,9 +55,9 @@ (require 'wasp-prod) (require 'wasp-youtube) (require 'wasp-hex) -(require 'wasp-cyclone) -(require 'wasp-aoc) (require 'wasp-bannerads) +(require 'wasp-aoc) +(require 'wasp-cyclone) ;; configuration (require 'wasp-user-whitelist) -- cgit v1.2.3