diff --git a/.project-dictionary.txt b/.project-dictionary.txt
index f861f48bbb31840a0114622791f624646711d835..6c6feaa3d86ff5a5975da0b158ba28556d2fcae5 100644
--- a/.project-dictionary.txt
+++ b/.project-dictionary.txt
@@ -39,5 +39,4 @@ Roang
 Shibboleet
 Vorlesungsraum
 Vorlesungssaal
-Workadventure
 yesno
diff --git a/deployment/local_settings.docker-example.py b/deployment/local_settings.docker-example.py
index b9fb1a4b9c79eeef68ffa155b304792c79e0dec6..8c22af563f37578980af64537086946902aefaa2 100644
--- a/deployment/local_settings.docker-example.py
+++ b/deployment/local_settings.docker-example.py
@@ -6,7 +6,6 @@ IS_BACKOFFICE = True
 IS_FRONTEND = False
 
 ALLOWED_HOSTS = ['hub.rc3.world']
-WORKADVENTURE_URL_SCHEME = 'https://play.{assembly_slug}.at.rc3.world/'  # other available placeholders are {room_id} and {username}
 
 LOGGING = {
     'version': 1,
diff --git a/src/api/tests/__init__.py b/src/api/tests/__init__.py
index 5f3d708f7a0cb7923a0e711001468b5e408cf603..21a16ab9a46071712c0ac9ba0a1b0f920be36511 100644
--- a/src/api/tests/__init__.py
+++ b/src/api/tests/__init__.py
@@ -6,6 +6,5 @@ from .map import *  # noqa: F401, F403
 from .messages import *  # noqa: F401, F403
 from .metrics import *  # noqa: F401, F403
 from .schedule import *  # noqa: F401, F403
-from .workadventure import *  # noqa: F401, F403
 
 __all__ = ('*',)  # noqa: F405
diff --git a/src/api/tests/metrics.py b/src/api/tests/metrics.py
index e025c86d8ce71be3ab5926571c7dcdbfc504b343..5fc1b4752d6d6bb5332e00d6278cfce61906919a 100644
--- a/src/api/tests/metrics.py
+++ b/src/api/tests/metrics.py
@@ -4,8 +4,9 @@ from django.contrib.auth import get_user_model
 from django.test import TestCase, override_settings
 from django.urls import reverse
 
-from core.models import Assembly, Conference, Room, WorkadventureSession
-from core.models.conference import ConferenceMember
+from core.models.assemblies import Assembly
+from core.models.conference import Conference, ConferenceMember
+from core.models.rooms import Room
 
 
 class MetricsTest(TestCase):
@@ -52,17 +53,6 @@ class MetricsTest(TestCase):
         member = ConferenceMember(conference=conf, active_angel=False, user=user)
         member.save()
 
-        wa_room = Room(
-            conference=conf,
-            assembly=assembly,
-            name='Room 2',
-            room_type=Room.RoomType.WORKADVENTURE,
-            backend_status=Room.BackendStatus.ACTIVE,
-        )
-        wa_room.save()
-        wa_sess1 = WorkadventureSession.create_for_conference_user(conf, user, wa_room)
-        wa_sess1.save()
-
         resp = self.client.get(reverse('metrics:index'))
 
         # Anzahl Konferenzen
@@ -87,9 +77,5 @@ class MetricsTest(TestCase):
         self.assertContains(resp, 'hub_conference_events{conference="conf",kind="assembly"} 0')
         self.assertContains(resp, 'hub_conference_events{conference="conf",kind="sos"} 0')
 
-        # Anzahl Räume nach Typen: stage, workadventure, bbb, ..
+        # Anzahl Räume nach Typen: stage, bbb, ..
         self.assertContains(resp, 'hub_conference_rooms{conference="conf",room_type="bbb"} 1')
-
-        # WorkAdventure sessions
-        self.assertContains(resp, 'hub_conference_workadventure_sessions{conference="conf",active="true"} 0')
-        self.assertContains(resp, 'hub_conference_workadventure_sessions{conference="conf",active="false"} 1')
diff --git a/src/api/tests/wa_mapservice_import.json b/src/api/tests/wa_mapservice_import.json
deleted file mode 100644
index e20a522af9af5d638202bef205884ccf806ccc0e..0000000000000000000000000000000000000000
--- a/src/api/tests/wa_mapservice_import.json
+++ /dev/null
@@ -1,213 +0,0 @@
-{
-  "$ROOM_1A_ID": {
-    "assemblyID": "$ASSEMBLY_1_ID",
-    "roomID": "$ROOM_1A_ID",
-    "publishedSince": 1638128696,
-    "publishedCommitHash": "591081b90e08ad77c0e6672792f70475b127c5a6",
-    "mapInfo": {
-      "main.json": {
-        "url": "https://static.rc3.world/maps/e9e842180079fcab42bb/$ROOM_1A_ID",
-        "badges": []
-      }
-    },
-    "violation": {
-      "violationCheck": 1638128696,
-      "violationCommitHash": "591081b90e08ad77c0e6672792f70475b127c5a6",
-      "severity": "Info"
-    }
-  },
-  "$ROOM_2A_ID": {
-    "assemblyID": "$ASSEMBLY_2_ID",
-    "roomID": "$ROOM_2A_ID",
-    "badges": [],
-    "violation": {
-      "violationCheck": 1638128680,
-      "violationCommitHash": "6a24a7c83dfeb0f67d1e1b0ac7b7d1d2f66da21e",
-      "severity": "Error",
-      "linterRes": {
-        "mapLints": {
-          "main.json": {
-            "general": [],
-            "layer": {
-              "set property \"jitsiTrigger\" to onaction": {
-                "in": ["jitsi4", "jitsi5", "jitsi6"],
-                "level": "Suggestion"
-              },
-              "set property \"openWebsiteTrigger\" to onaction": {
-                "in": ["URLtimetable", "URLchaospost"],
-                "level": "Suggestion"
-              },
-              "unknown property type \"inGameConsoleMessage\"": {
-                "in": ["silent"],
-                "level": "Error"
-              }
-            },
-            "tileset": {
-              "property \"copyright\" is required": {
-                "in": [
-                  "mapUtilities",
-                  "QuartierLapin",
-                  "Background_QuartierLapin",
-                  "party",
-                  "sign",
-                  "turntables",
-                  "door",
-                  "Exit_Lounge"
-                ],
-                "level": "Error"
-              }
-            }
-          },
-          "moehrlin.json": {
-            "general": [],
-            "layer": {
-              "map links using /_/ are disallowed. Use world:// instead.": {
-                "in": ["exit_carl"],
-                "level": "Error"
-              },
-              "set property \"jitsiTrigger\" to onaction": {
-                "in": ["jitsi1"],
-                "level": "Suggestion"
-              }
-            },
-            "tileset": {
-              "Tilesets should not be larger than 4096Ã4096 pixels in total": {
-                "in": ["ZON_DiVOC_Animation_Tileset"],
-                "level": "Warning"
-              },
-              "property \"copyright\" is required": {
-                "in": [
-                  "mapUtilities",
-                  "Moehrlin_QuartierLapin",
-                  "QuartierLapin",
-                  "Backgound_QuartierLapin",
-                  "muehlrad",
-                  "ZON_DiVOC_Animation_Tileset",
-                  "nur_CARL_DiVOC_Animation_Tileset"
-                ],
-                "level": "Error"
-              }
-            }
-          },
-          "saal.json": {
-            "general": [],
-            "layer": {
-              "set \"jitsiTriggerMessage\" to a custom message to overwrite the default \"press SPACE to enter in jitsi meet room\"": {
-                "in": ["jitsi"],
-                "level": "Suggestion"
-              }
-            },
-            "tileset": {
-              "property \"copyright\" is required": {
-                "in": ["mapUtilities", "Theater_QuartierLapin"],
-                "level": "Error"
-              }
-            }
-          }
-        },
-        "missingAssets": [],
-        "missingDeps": []
-      }
-    }
-  },
-  "$ROOM_3A_ID": {
-    "assemblyID": "$ASSEMBLY_3_ID",
-    "roomID": "$ROOM_3A_ID",
-    "badges": null,
-    "violation": {
-      "violationCheck": 1638128989,
-      "severity": "Error",
-      "errors": ["authentication required"]
-    }
-  },
-  "$ROOM_4A_ID": {
-    "assemblyID": "$ASSEMBLY_4_ID",
-    "roomID": "$ROOM_4A_ID",
-    "badges": [],
-    "violation": {
-      "violationCheck": 1638128683,
-      "violationCommitHash": "3d12520b3c0468d93c0ccfdb5658254d4437af23",
-      "severity": "Error",
-      "errors": ["No main.json Map file or error."]
-    }
-  },
-  "$ROOM_5A_ID": {
-    "assemblyID": "$ASSEMBLY_5_ID",
-    "roomID": "$ROOM_5A_ID",
-    "badges": [],
-    "violation": {
-      "violationCheck": 1638128680,
-      "violationCommitHash": "34690b77a94cc9abacafc7ce13ec3cb1f2089bca",
-      "severity": "Error",
-      "linterRes": {
-        "mapLints": {
-          "main.json": {
-            "general": [],
-            "layer": {
-              "map links using /_/ are disallowed. Use world:// instead.": {
-                "in": [
-                  "exit_kidspace",
-                  "exit_c3gelb",
-                  "exit_c3auti",
-                  "exit_lounge",
-                  "exit_chaotischinkorrekt",
-                  "exit_hacc",
-                  "exit_spacebi",
-                  "exit_chaoschemnitz",
-                  "exit_afra",
-                  "exit_c3woc",
-                  "exit_devlol",
-                  "exit_cbase",
-                  "exit_hsmr",
-                  "exit_binhacken",
-                  "exit_poly",
-                  "exit_chaospott",
-                  "exit_haecksen",
-                  "exit_toppoint",
-                  "exit_muccc",
-                  "exit_eigenbaukombinat",
-                  "exit_eventphone",
-                  "exit_computertruhe",
-                  "exit_daslabor",
-                  "exit_lebkuchis"
-                ],
-                "level": "Error"
-              },
-              "set property \"jitsiTrigger\" to onaction": {
-                "in": ["jitsiBreakfast", "jitsiWorkshop", "jitsiHeaven", "jitsiInfodesk"],
-                "level": "Suggestion"
-              },
-              "set property \"openWebsiteTrigger\" to onaction": {
-                "in": ["openChaospost"],
-                "level": "Suggestion"
-              }
-            },
-            "tileset": {
-              "property \"copyright\" is required": {
-                "in": [
-                  "map-utilities",
-                  "active-cave",
-                  "texts",
-                  "rabbits",
-                  "rc3-mullana-objects",
-                  "coco-items",
-                  "divoc-functional",
-                  "opengameart-food",
-                  "rc3-mullana-floor-wall",
-                  "rc3-minideko",
-                  "external-logos",
-                  "opengameart-animals",
-                  "heaven",
-                  "c3gelb"
-                ],
-                "level": "Error"
-              }
-            }
-          }
-        },
-        "missingAssets": [],
-        "missingDeps": []
-      }
-    }
-  }
-}
diff --git a/src/api/tests/workadventure.py b/src/api/tests/workadventure.py
deleted file mode 100644
index e49648de68d651c05aa96e2a728f03c288b70a80..0000000000000000000000000000000000000000
--- a/src/api/tests/workadventure.py
+++ /dev/null
@@ -1,370 +0,0 @@
-import json
-import uuid
-from pathlib import Path
-
-from rest_framework.authtoken.models import Token
-
-from django.conf import settings
-from django.test import Client, TestCase, override_settings
-from django.urls import reverse
-
-from core.models import Assembly, Conference, ConferenceMember, PlatformUser, Room
-from core.sso import SSO
-
-TEST_CONF_ID = uuid.uuid4()
-
-
-@override_settings(SELECTED_CONFERENCE_ID=TEST_CONF_ID)
-class _WorkAdventureTestCase(TestCase):
-    dummy_pswd = 'Spagh3ttiMon$ter'
-
-    def setUp(self):
-        self.conference1 = Conference(id=TEST_CONF_ID, slug='foo', name='Foo Conference', is_public=True)
-        self.conference1.save()
-
-        self.human_user = PlatformUser(username='bernd', user_type=PlatformUser.Type.HUMAN)
-        self.human_user.save()
-        ConferenceMember(conference=self.conference1, user=self.human_user).save()
-
-        self.service_user = PlatformUser(username='wa', user_type=PlatformUser.Type.SERVICE)
-        self.service_user.set_password(self.dummy_pswd)
-        self.service_user.save()
-        self.service_user_cm = ConferenceMember(conference=self.conference1, user=self.service_user, roles=[])
-        self.service_user_cm.save()
-
-        self.assertFalse(Assembly.objects.filter(conference=self.conference1).exists())
-
-        self.assembly1a = Assembly(conference=self.conference1, slug='fnord', name='Fnord Assembly', is_official=True)
-        self.assembly1a.save()
-        self.assembly1b = Assembly(conference=self.conference1, slug='banana', name='Obstgarten')
-        self.assembly1b.save()
-        self.assembly1c = Assembly(conference=self.conference1, slug='foo', name='Foo Assembly', is_official=True)
-        self.assembly1c.save()
-
-        self.room1a = Room(conference=self.conference1, assembly=self.assembly1a, name='Saal 1', room_type=Room.RoomType.LECTURE_HALL)
-        self.room1a.save()
-        self.room1b = Room(conference=self.conference1, assembly=self.assembly1b, name='Apfelbaum', room_type=Room.RoomType.OUTSIDE)
-        self.room1b.save()
-        self.room1c = Room(conference=self.conference1, assembly=self.assembly1a, name='Lobby', room_type=Room.RoomType.WORKADVENTURE)
-        self.room1c.save()
-        self.room1d = Room(conference=self.conference1, assembly=self.assembly1b, name='Hackspace', room_type=Room.RoomType.WORKADVENTURE)
-        self.room1d.save()
-
-    def acquire_auth_token(self, client, username, password, set_authorization_header=True):
-        # do token-based authentication
-        response = client.post('/api/auth/get-token', {'username': username, 'password': password})
-        self.assertEqual(response.status_code, 200, f'Expected token auth endpoint return HTTP 200 instead of {response.status_code}.')
-        response_data = response.json()
-        self.assertTrue('token' in response_data)
-
-        # set client's authorization header (if requested)
-        auth_token = response_data['token']
-        if set_authorization_header:
-            client.defaults['HTTP_AUTHORIZATION'] = f'Token {auth_token}'
-
-        return auth_token
-
-
-class WorkAdventureMapServiceTestCase(_WorkAdventureTestCase):
-    def setUp(self):
-        super().setUp()
-
-        self.wa_url = reverse('api:wa-mapservice')
-        self.service_user_cm.roles = ['wa_mapservice']
-        self.service_user_cm.save()
-
-    def testUnauthorized(self):
-        c = Client()
-
-        response = c.get(self.wa_url)
-        self.assertEqual(403, response.status_code, f'Unauthenticated user got HTTP {response.status_code} response: {response.content}')
-
-        c.force_login(self.human_user)
-        response = c.get(self.wa_url)
-        self.assertEqual(403, response.status_code, f'Human user got HTTP {response.status_code} response: {response.content}')
-
-    @override_settings(PLAINUI_BASE_URL='http://test.localhost')
-    def testFetchBasics(self):
-        c = Client()
-        self.acquire_auth_token(c, self.service_user.username, self.dummy_pswd)
-
-        response = c.get(self.wa_url)
-        self.assertEqual(response.status_code, 200, f'Expected to have WA endpoint return HTTP 200 instead of {response.status_code}.')
-
-        endpoint_data = response.json()
-        self.assertEqual(0, len(endpoint_data))
-
-        self.assembly1a.state = Assembly.State.ACCEPTED
-        self.assembly1a.save()
-        self.assembly1b.state = Assembly.State.PLACED
-        self.assembly1b.save()
-
-        response = c.get(self.wa_url)
-        self.assertEqual(response.status_code, 200, f'Expected to have WA endpoint return HTTP 200 instead of {response.status_code} the second time as well.')
-
-        endpoint_data = response.json()
-        self.assertEqual(2, len(endpoint_data))
-
-        for k in ['room_id', 'assembly_id', 'blocked', 'assembly_url']:
-            self.assertTrue(all(k in x for x in endpoint_data), f'The field "{k}" is missing on at least one of returned items.')
-        self.assertTrue(
-            all(x['assembly_url'].startswith('http://test.localhost/') for x in endpoint_data),
-            'The assembly_url field is empty on at least one of returned items.',
-        )
-
-    def testPush(self):
-        # prepare assembly objects
-        self.assembly1a.state = Assembly.State.ACCEPTED
-        self.assembly1a.save(update_fields=['state'])
-        assembly2 = Assembly(conference=self.conference1, slug='dummy2', name='Test Dummy 2', state=Assembly.State.ACCEPTED)
-        assembly2.save()
-        assembly3 = Assembly(conference=self.conference1, slug='dummy3', name='Test Dummy 3', state=Assembly.State.ACCEPTED)
-        assembly3.save()
-        assembly4 = Assembly(conference=self.conference1, slug='dummy4', name='Test Dummy 4', state=Assembly.State.ACCEPTED)
-        assembly4.save()
-        assembly5 = Assembly(conference=self.conference1, slug='dummy5', name='Test Dummy 5', state=Assembly.State.ACCEPTED)
-        assembly5.save()
-
-        # prepare room objects
-        self.room1c.refresh_from_db()
-        self.room1c.backend_status = Room.BackendStatus.NEW
-        self.room1c.blocked = False
-        self.room1c.save()
-        common_wa_room_args = {
-            'name': 'World',
-            'room_type': Room.RoomType.WORKADVENTURE,
-            'backend_status': Room.BackendStatus.NEW,
-        }
-        room2a = Room(conference=self.conference1, assembly=assembly2, **common_wa_room_args)
-        room2a.save()
-        room3a = Room(conference=self.conference1, assembly=assembly3, **common_wa_room_args)
-        room3a.save()
-        room4a = Room(conference=self.conference1, assembly=assembly4, **common_wa_room_args)
-        room4a.save()
-        room5a = Room(conference=self.conference1, assembly=assembly5, **common_wa_room_args)
-        room5a.save()
-
-        # load import data and fill in assembly and room ids
-        with Path(__file__).with_name('wa_mapservice_import.json').open() as f:
-            import_json = f.read()
-        import_replacements = {
-            'ASSEMBLY_1_ID': self.assembly1a.id,
-            'ROOM_1A_ID': self.room1c.id,
-            'ASSEMBLY_2_ID': assembly2.id,
-            'ROOM_2A_ID': room2a.id,
-            'ASSEMBLY_3_ID': assembly3.id,
-            'ROOM_3A_ID': room3a.id,
-            'ASSEMBLY_4_ID': assembly4.id,
-            'ROOM_4A_ID': room4a.id,
-            'ASSEMBLY_5_ID': assembly5.id,
-            'ROOM_5A_ID': room5a.id,
-        }
-        for k, v in import_replacements.items():
-            import_json = import_json.replace('$' + k, str(v))
-        import_data = json.loads(import_json)
-
-        # configure client
-        c = Client()
-        self.acquire_auth_token(c, self.service_user.username, self.dummy_pswd)
-
-        # sanity check: there should be five rooms (one per assembly) in the list
-        response = c.get(self.wa_url)
-        self.assertEqual(200, response.status_code)
-        data = response.json()
-        self.assertEqual(5, len(data))
-
-        # assume one of the errornous rooms was previously running
-        room2a.backend_status = Room.BackendStatus.ACTIVE
-        room2a.save(update_fields=['backend_status'])
-
-        # send backend_status update
-        response = c.put(self.wa_url, content_type='application/json', data=import_data)
-        self.assertEqual(response.status_code, 200, f'WA endpoint returned HTTP {response.status_code} when POSTting backend_status: {response.content}')
-
-        # verify that the update is in the database
-        self.room1c.refresh_from_db()
-        self.assertEqual(Room.BackendStatus.ACTIVE, self.room1c.backend_status, 'the valid room should have been active now')
-        self.assertEqual('591081b90e08ad77c0e6672792f70475b127c5a6', self.room1c.director_data.get('publishedCommitHash'))
-        room2a.refresh_from_db()
-        self.assertEqual(Room.BackendStatus.ERROR, room2a.backend_status, 'the previously active room should have error state now')
-        room4a.refresh_from_db()
-        self.assertEqual(Room.BackendStatus.NEW, room4a.backend_status, "the fresh room shouldn't have changed status")
-        self.assertEqual('error', room4a.director_data.get('violation', {}).get('severity', '(not set)').lower())
-
-        # fetch complete list again and check what's there
-        data = c.get(self.wa_url).json()
-        x = next(item for item in data if item['room_id'] == str(self.room1c.id))
-        self.assertEqual('active', x['backend_status'])
-
-
-class WorkAdventureEndpointTestCase:  # TODO: enable again -- _WorkAdventureTestCase):
-    def setUp(self):
-        super().setUp()
-
-        self.wa_url = '/api/c/' + self.conference1.slug + '/workadventure/map'
-
-        self.service_user_cm.roles = ['wa_backend']
-        self.service_user_cm.save()
-
-        self.room1c = Room(conference=self.conference1, assembly=self.assembly1c, name='Lobby', room_type=Room.RoomType.WORKADVENTURE)
-        self.room1c.save()
-
-    def testUnauthorized(self):
-        c = Client()
-
-        response = c.get(self.wa_url + f'/{self.room1c.assembly_slug!s}/test')
-        self.assertEqual(403, response.status_code, f'Unauthenticated user got HTTP {response.status_code} response: {response.content}')
-
-        c.force_login(self.human_user)
-        response = c.get(self.wa_url + f'/{self.room1c.assembly_slug!s}/test')
-        self.assertEqual(403, response.status_code, f'Human user got HTTP {response.status_code} response: {response.content}')
-
-    def testFetch(self):
-        c = Client()
-        self.acquire_auth_token(c, self.service_user.username, self.dummy_pswd)
-
-        url_a = self.wa_url + '/' + self.room1a.assembly_slug + '/test'
-        response = c.get(url_a)
-        self.assertEqual(response.status_code, 404, f'Expected to have WA endpoint return HTTP 404 instead of {response.status_code}.')
-
-        self.assembly1a.state = Assembly.State.ACCEPTED
-        self.assembly1a.save()
-        self.assembly1b.state = Assembly.State.PLACED
-        self.assembly1b.save()
-        endpoint_data = []
-
-        response_a = c.get(url_a)
-        self.assertEqual(response_a.status_code, 200, f'Unexpected WA endpoint response for {url_a}: {response.content}')
-
-        endpoint_data.append(response_a.json())
-
-        url_b = self.wa_url + '/' + self.room1b.assembly_slug + '/test'
-        response_b = c.get(url_b)
-        self.assertEqual(response_b.status_code, 200, f'Unexpected WA endpoint response on the second attempt ({url_b}): {response.content}')
-
-        endpoint_data.append(response_b.json())
-
-        self.assertEqual(2, len(endpoint_data))
-
-        for k in ['room_id', 'assembly_id', 'blocked']:
-            self.assertTrue(all(k in x for x in endpoint_data), f'The field "{k}" is missing on at least one of returned items.')
-
-    def testPush(self):
-        # prepare assembly and room
-        self.assembly1c.refresh_from_db()
-        self.assembly1c.state = Assembly.State.ACCEPTED
-        self.assembly1c.save()
-
-        self.room1c.refresh_from_db()
-        self.room1c.backend_status = Room.BackendStatus.NEW
-        self.room1c.blocked = False
-        self.room1c.save()
-
-        # configure client
-        c = Client()
-        self.acquire_auth_token(c, self.service_user.username, self.dummy_pswd)
-
-        # sanity check: there should be only room1c in the list
-        response = c.get(self.wa_url + f'/{self.room1c.assembly_slug!s}/test')
-        self.assertEqual(200, response.status_code)
-        data = response.json()
-
-        self.assertEqual(
-            self.room1c.reserve_capacity,
-            data['reserve_capacity'],
-            f'WA endpoint returned room_capacity {data["reserve_capacity"]} when room capacity was {self.room1c.reserve_capacity}',
-        )
-        for k in ['room_id', 'assembly_id', 'blocked']:
-            self.assertTrue(k in data, f'The field "{k}" is missing on at least one of returned items.')
-
-        # send backend_status update
-        data = {'backend_status': Room.BackendStatus.SETUP}
-        response = c.put(self.wa_url + f'/{self.room1c.assembly_slug!s}/test', content_type='application/json', data=data)
-        self.assertEqual(response.status_code, 200, f'WA endpoint returned HTTP {response.status_code} when PUTting backend_status: {response.content}')
-
-        # verify that the update is in the database
-        self.room1c.refresh_from_db()
-        self.assertEqual(Room.BackendStatus.SETUP, self.room1c.backend_status)
-
-        # now update three fields: backend_status, backend_data and director_data
-        data = {
-            'backend_status': Room.BackendStatus.ACTIVE,
-            'director_data': {'foo': 'bar', 'fnord': 42},
-        }
-        self.assertEqual(200, c.put(self.wa_url + f'/{self.room1c.assembly_slug!s}/test', content_type='application/json', data=data).status_code)
-
-        # verify both have been set
-        self.room1c.refresh_from_db()
-        self.assertEqual(Room.BackendStatus.ACTIVE, self.room1c.backend_status)
-        self.assertEqual('bar', self.room1c.director_data.get('foo'))
-
-        response = c.get(self.wa_url + f'/{self.room1c.assembly_slug!s}/test')
-        self.assertEqual(200, response.status_code)
-        data = response.json()
-
-        self.assertTrue(data['director_data'] is not None)
-        self.assertEqual(42, data.get('director_data', {}).get('fnord'))
-
-
-class WorkAdventureBackendTestCase:  # TODO: enable again -- _WorkAdventureTestCase):
-    def setUp(self):
-        super().setUp()
-
-        self.service_user_cm.roles = ['wa_backend']
-        self.service_user_cm.save()
-
-        self.wa_url = '/api/wa/' + self.conference1.slug
-
-        self.service_token = Token(user=self.service_user)
-        self.service_token.save()
-        self.user_token = SSO.generate_token(self.human_user)
-        self.client.defaults.update(
-            {
-                f'HTTP_{settings.SSO_HEADER}': str(self.user_token),
-            }
-        )
-
-    def testFetch(self):
-        resp = self.client.get(
-            self.wa_url,
-            HTTP_AUTHORIZATION=f'Token {self.service_token.key}',
-        )
-        self.assertEqual(200, resp.status_code, f'Unexpected response: {resp.content}')
-
-        data = resp.json()
-        for required in ['active', 'username', 'index', 'custom', 'receive_audio', 'receive_video', 'volume', 'muted', 'color']:
-            self.assertTrue(required in data, f'Missing "{required}" field in avatar info.')
-
-        self.assertTrue(data['active'])
-        self.assertIsNone(data['index'])
-        self.assertEqual(self.human_user.username, data['username'])
-
-    def testPut(self):
-        self.assertTrue(self.human_user.receive_audio)
-
-        resp = self.client.post(
-            self.wa_url,
-            json.dumps({'index': 42, 'custom': [1, 2, 3, 4, 5, 6], 'receive_audio': False, 'volume': 0.8, 'muted': True}),
-            content_type='application/json',
-            HTTP_AUTHORIZATION=f'Token {self.service_token.key}',
-        )
-        self.assertEqual(200, resp.status_code, f'Unexpected response: {resp.content}')
-
-        self.human_user.refresh_from_db()
-        self.assertTrue(self.human_user.receive_audio)
-        self.assertTrue(self.human_user.audio_muted)
-        self.assertEqual(42, (self.human_user.avatar_config or {}).get('index', -1))
-        self.assertEqual(0.8, self.human_user.audio_volume)
-
-        resp = self.client.post(
-            self.wa_url,
-            json.dumps({'index': None, 'custom': [2, 3, 4, 5, 6, 7], 'volume': None, 'muted': False}),
-            content_type='application/json',
-            HTTP_AUTHORIZATION=f'Token {self.service_token.key}',
-        )
-        self.assertEqual(200, resp.status_code, f'Unexpected response: {resp.content}')
-
-        self.human_user.refresh_from_db()
-        self.assertIsNone(self.human_user.avatar_config.get('index', -1))
-        self.assertIsNone(self.human_user.audio_volume)
-        self.assertFalse(self.human_user.audio_muted)
diff --git a/src/api/urls.py b/src/api/urls.py
index 82e9218b9d691bd243db1016b76d24640bedd5fa..3380c8feddd87d2ff933b48ea371b43cdd5e1501 100644
--- a/src/api/urls.py
+++ b/src/api/urls.py
@@ -4,7 +4,7 @@ from rest_framework.urlpatterns import format_suffix_patterns
 from django.conf import settings
 from django.urls import path
 
-from api.views import api_root, assemblies, badges, bbb, conferencemember, conferences, events, maps, messages, metanav, rooms, schedule, users, workadventure
+from api.views import api_root, assemblies, badges, bbb, conferencemember, conferences, events, maps, messages, metanav, rooms, schedule, users
 
 app_name = 'api'
 urlpatterns = [
@@ -41,7 +41,6 @@ urlpatterns = [
     path('map/assemblies/poi.json', maps.AssembliesPoiExportView.as_view(), name='map-assemblies-poi'),
     path('map/assemblies/areas.json', maps.AssembliesAreasExportView.as_view(), name='map-assemblies-areas'),
     path('badges/redeem_token', badges.redeem_badge_token, name='badge-redeem'),
-    path('badges/redeem_map_token', badges.RedeemBadgeMapTokenView.as_view(), name='badge-map-redeem'),
     path('rooms', rooms.ConferenceRoomList.as_view(), name='room-list'),
     path('room/<uuid:pk>/', rooms.ConferenceRoomDetail.as_view(), name='room-detail'),
     path('room/<uuid:pk>/schedule', schedule.RoomSchedule.as_view(), name='room-schedule'),
@@ -53,23 +52,6 @@ urlpatterns = [
     path('integration/is_angel/<str:username>', conferencemember.AngelView.as_view(), name='user-angel'),
 ]
 
-if settings.INTEGRATIONS_WORKADVENTURE:
-    urlpatterns += [
-        # WorkAdventure integration (mapservice)
-        path('integration/workadventure/maps', workadventure.MapServiceView.as_view(), name='wa-mapservice'),
-        path('integration/workadventure/maps/raw', workadventure.MapServiceView.as_view(), name='wa-mapservice-raw'),
-        path('integration/workadventure/map/<slug:assembly>/<slug:world>', workadventure.MapDetailView.as_view(), name='wa-map-detail'),
-        path('integration/workadventure/map/<slug:assembly>/<slug:world>/<slug:room>', workadventure.MapDetailView.as_view(), name='wa-map-detail'),
-        # WorkAdventure integration (exneuland)
-        path('integration/workadventure/maps/list', workadventure.MapBackendListView.as_view(), name='wa-backend-maps'),
-        path('integration/workadventure/login/<str:token>', workadventure.RegisterView.as_view(), name='wa-register'),
-        path('integration/workadventure/checkuser/<uuid:uid>', workadventure.UserInfoView.as_view(), name='wa-userinfo'),
-        path('integration/workadventure/redeem_badge/<str:token>', workadventure.MapBackendRedeemBadgeTokenView.as_view(), name='wa-badgeredeem'),
-        path('integration/workadventure/report/user', workadventure.MapBackendReportUserView.as_view(), name='wa-report-user'),
-        path('integration/workadventure/report/map', workadventure.MapBackendReportUserView.as_view(), name='wa-report-user'),
-    ]
-
-
 if settings.INTEGRATIONS_BBB:
     urlpatterns += [
         # BBB meeting ended callback
diff --git a/src/api/views/badges.py b/src/api/views/badges.py
index 41abd07579164cb59504dc3a6987da0cc723a88f..5d6a7d49183cb8797778c28900083e1274011fe3 100644
--- a/src/api/views/badges.py
+++ b/src/api/views/badges.py
@@ -1,24 +1,20 @@
 import logging
 
-from rest_framework import authentication
 from rest_framework.decorators import api_view
 from rest_framework.exceptions import NotFound
 from rest_framework.generics import ListCreateAPIView
 from rest_framework.response import Response
-from rest_framework.views import APIView
 
-from django.conf import settings
 from django.http import HttpResponse
 from django.shortcuts import get_object_or_404
 
 from core.models.badges import Badge, BadgeToken
 from core.models.conference import Conference
 from core.models.users import PlatformUser
-from core.sso import SSO
 
-from api.permissions import HasIssuingToken, IsAssemblyManager, IsConferenceService, IsSuperUser
+from api.permissions import HasIssuingToken, IsAssemblyManager, IsSuperUser
 from api.serializers import BadgeSerializer, BadgeTokenSerializer
-from api.views.mixins import ConferenceSlugAssemblyMixin, ConferenceSlugMixin
+from api.views.mixins import ConferenceSlugAssemblyMixin
 
 logger = logging.getLogger(__name__)
 
@@ -80,50 +76,6 @@ def redeem_badge_token(request, conference, **kwargs):
     if badge_token.badge.conference.slug != conference:
         return HttpResponse(status=400)
 
-    if badge_token.map_token:
-        # Do not redeem Map tokens
-        return HttpResponse(status=415)
-
     badge_token.redeem(user, False)
 
     return Response({'badge': f'{badge_token.badge}', 'user': f'{user.username}'})
-
-
-class RedeemBadgeMapTokenView(ConferenceSlugMixin, APIView):
-    authentication_classes = [authentication.TokenAuthentication]
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_backend']
-
-    def initial(self, request, *args, **kwargs):
-        sso_token = request.headers.get(settings.SSO_HEADER)
-        self.target_user = SSO.get_user_from_token(sso_token)
-
-        return super().initial(request, *args, **kwargs)
-
-    def post(self, request, *get, format=None, **kwargs):  # pylint: disable=redefined-builtin
-        if self.target_user is None or not self.target_user.is_in_conference(self.conference):
-            return HttpResponse(status=404)
-
-        redeem_token = request.POST.get('id', request.data.get('id', None))
-        assembly = request.POST.get('assembly', request.data.get('assembly', None))
-        if assembly is None or redeem_token is None:
-            return HttpResponse(status=400)
-
-        badge_token = get_object_or_404(BadgeToken, token=redeem_token)
-        if badge_token.badge.conference != self.conference or badge_token.badge.issuing_assembly.slug != assembly:
-            return HttpResponse(status=400)
-
-        if badge_token.map_token:
-            # Redeem only MAP Tokens
-            created = badge_token.redeem(self.target_user, False)
-            return Response(
-                {
-                    'badge_name': f'{badge_token.badge}',
-                    'badge_image': f'{badge_token.badge.image.url}',
-                    'issuing_assembly': f'{badge_token.badge.issuing_assembly}',
-                    'user': f'{self.target_user.username}',
-                    'created': created,
-                }
-            )
-        else:
-            return HttpResponse(status=415)
diff --git a/src/api/views/conferencemember.py b/src/api/views/conferencemember.py
index 29d3cc9d274899f6710f2c6ef9ebab8ea557e660..601c5119ec1c67bcbe5ef62d01bd61d3bb707051 100644
--- a/src/api/views/conferencemember.py
+++ b/src/api/views/conferencemember.py
@@ -4,10 +4,7 @@ from rest_framework import authentication, status
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
-from django.conf import settings
-
 from core.models.conference import ConferenceMember
-from core.sso import SSO
 
 from api.permissions import IsConferenceService, IsSuperUser
 from api.views.mixins import ConferenceSlugMixin
@@ -47,44 +44,3 @@ class AngelView(ConferenceSlugMixin, APIView):
         self.target.save()
 
         return self.get(request, format)
-
-
-class WorkadventureView(ConferenceSlugMixin, APIView):
-    authentication_classes = [authentication.TokenAuthentication]
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_backend']
-
-    def initial(self, request, *args, **kwargs):
-        sso_token = request.headers.get(settings.SSO_HEADER)
-        self.target_user = SSO.get_user_from_token(sso_token)
-
-        return super().initial(request, *args, **kwargs)
-
-    def get(self, request, *args, format=None, **kwargs):  # pylint: disable=redefined-builtin
-        if self.target_user is None:
-            return Response({'active': False}, status=status.HTTP_400_BAD_REQUEST)
-
-        result = self.target_user.get_avatar_json(self.conference)
-        result.update(
-            {
-                'active': self.target_user.is_active,
-                'username': self.target_user.username,
-                'user_id': self.target_user.id,  # TODO: exchange for an ident after rC3
-            }
-        )
-        return Response(result)
-
-    def post(self, request, *get, format=None, **kwargs):  # pylint: disable=redefined-builtin
-        if (u := self.target_user) is None:
-            return Response({'error': 'No target user.'}, status=status.HTTP_400_BAD_REQUEST)
-
-        try:
-            filtered_update_data = {k: v for k, v in request.data.items() if k in ['index', 'custom', 'muted', 'volume']}
-            u.update_avatar_json(filtered_update_data)
-            u.save()
-
-            return self.get(request, format)
-
-        except (AssertionError, ValueError) as err:
-            logger.error('WA avatar update error for %s: %s', u, err)
-            return Response({'error': 'Invalid data.'}, status=status.HTTP_400_BAD_REQUEST)
diff --git a/src/api/views/metrics.py b/src/api/views/metrics.py
index 7f84d5ab24ce10c828b693d172074a636dd34102..869b38bb13341813f38adb531bf887bcad2808bc 100644
--- a/src/api/views/metrics.py
+++ b/src/api/views/metrics.py
@@ -8,7 +8,6 @@ from core.models import Badge, Conference, ConferenceMember, PlatformUser, Proje
 from core.models.assemblies import Assembly
 from core.models.events import Event
 from core.models.ticket import ConferenceMemberTicket
-from core.models.workadventure import WorkadventureSession
 
 
 class MetricsView(TemplateView):
@@ -56,7 +55,6 @@ class MetricsView(TemplateView):
             'hub_conference_events': {'help': "conference's events", 'type': 'gauge', 'values': {}},
             'hub_conference_rooms': {'help': "conference's rooms", 'type': 'gauge', 'values': {}},
             'hub_conference_projects': {'help': "conference's projects", 'type': 'gauge', 'values': {}},
-            'hub_conference_workadventure_sessions': {'help': "conference's workadventure session", 'type': 'gauge', 'values': {}},
         }
 
         for conference in Conference.objects.filter(is_public=True):
@@ -134,14 +132,6 @@ class MetricsView(TemplateView):
             # hub_conference_tickets
             metrics['hub_conference_tickets']['values'][f'{{conference="{slug}"}}'] = ConferenceMemberTicket.objects.filter(conference=conference).count()
 
-            # hub_conference_workadventure_sessions
-            metrics['hub_conference_workadventure_sessions']['values'][f'{{conference="{slug}",active="true"}}'] = WorkadventureSession.objects.filter(
-                conference=conference, token=None
-            ).count()
-            metrics['hub_conference_workadventure_sessions']['values'][f'{{conference="{slug}",active="false"}}'] = (
-                WorkadventureSession.objects.filter(conference=conference).exclude(token=None).count()
-            )
-
         context['metrics'] = metrics
 
         return context
diff --git a/src/api/views/workadventure.py b/src/api/views/workadventure.py
deleted file mode 100644
index 862b7b9fe10f00c9471f93c17a453c556a5cd703..0000000000000000000000000000000000000000
--- a/src/api/views/workadventure.py
+++ /dev/null
@@ -1,374 +0,0 @@
-import json
-import logging
-from datetime import datetime
-from time import time
-
-from rest_framework.generics import get_object_or_404
-from rest_framework.response import Response
-from rest_framework.views import APIView
-
-from django.conf import settings
-from django.http import Http404
-from django.urls import NoReverseMatch, reverse
-from django.utils import timezone
-
-from core.abuse import report_content
-from core.integrations import WorkAdventureIntegration
-from core.models.assemblies import Assembly
-from core.models.badges import BadgeToken
-from core.models.rooms import Room
-from core.models.workadventure import WorkadventureSession
-
-from api.permissions import IsConferenceService, IsSuperUser
-from api.views.mixins import ConferenceSlugMixin
-
-logger = logging.getLogger(__name__)
-
-
-def _export_room_data(room: Room):
-    data = {
-        'assembly_id': room.assembly.id,
-        'assembly_name': room.assembly.name,
-        'assembly_slug': room.assembly.slug,
-        'assembly_url': None,
-        'backend_data': room.backend_data,
-        'backend_link': room.backend_link,
-        'backend_link_branch': room.backend_link_branch,
-        'backend_status': room.backend_status,
-        'blocked': room.blocked,
-        'capacity': room.capacity,
-        'reserve_capacity': room.reserve_capacity,
-        'occupants': room.occupants,
-        'room_id': room.id,
-        'room_name': room.name,
-    }
-
-    try:
-        if room.assembly.is_public and settings.PLAINUI_BASE_URL:
-            data['assembly_url'] = settings.PLAINUI_BASE_URL + reverse('plainui:assembly', kwargs={'assembly_slug': room.assembly.slug})
-        else:
-            data['assembly_url'] = ''
-    except NoReverseMatch:
-        pass
-
-    return data
-
-
-def _update_room_data(room: Room, data):
-    _UNSET = object()
-    room.backend_status = data.get('backend_status', room.backend_status)
-    if (backend_data := data.get('backend_data', _UNSET)) is not _UNSET:
-        room.backend_data = backend_data
-    if (capacity := data.get('capacity', -1)) >= 0:
-        room.capacity = capacity
-    if (director_data := data.get('director_data', _UNSET)) is not _UNSET:
-        room.director_data = director_data
-    if (occupants := data.get('occupants', -1)) >= 0:
-        room.occupants = occupants
-    room.save()
-
-
-class MapServiceView(ConferenceSlugMixin, APIView):
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_mapservice']
-
-    def get(self, request, format=None):  # pylint: disable=redefined-builtin
-        wa_rooms = []
-        for room in Room.objects.filter(conference=self.conference, room_type=Room.RoomType.WORKADVENTURE).select_related('assembly'):
-            if room.assembly is not None and room.assembly.state not in Assembly.PUBLIC_STATES:
-                continue
-            room_data = _export_room_data(room)
-            wa_rooms.append(room_data)
-
-        return Response(wa_rooms)
-
-    def put(self, request, format=None):  # pylint: disable=redefined-builtin
-        data = request.data
-
-        status_code, response = self.handle_mapservice_push_request(self.conference, data)
-        return Response(response, status=status_code)
-
-    @staticmethod
-    def handle_mapservice_push_request(conference, data):
-        if not isinstance(data, dict):
-            return 400, {'_error': 'This should have been a dict/object.'}
-
-        try:
-            skipped = {}
-            for room_id, room_data in data.items():
-                try:
-                    room = Room.objects.prefetch_related('assembly').get(pk=room_id)
-                except Room.DoesNotExist:
-                    skipped[room_id] = 'Room not found, skipped.'
-                    logging.info('Got mapservice update for unknown room id: %s', room_id)
-                    continue
-
-                if (a_id := room_data.get('assemblyID')) is not None and a_id.lower() != str(room.assembly_id):
-                    skipped[room_id] = 'Non-matching assembly id, skipped.'
-                    logging.warning(
-                        'Got mapservice update for room id %s with non-matching assembly_id (got %s but expected %s).',
-                        room_id,
-                        a_id,
-                        room.assembly_id,
-                    )
-                    continue
-
-                if room.director_data is None:
-                    room.director_data = {}
-                room.director_data.update(room_data)
-                room.director_data['_last_update'] = int(time())
-                update_fields = ['director_data']
-
-                logging.debug('MapService updates room %s (name="%s") backend_status=%s', room_id, room.name, room.backend_status or 'NONE')
-                if room.backend_status in [Room.BackendStatus.NEW, Room.BackendStatus.ERROR, Room.BackendStatus.INACTIVE]:
-                    has_mapinfo = len(room.director_data.get('mapInfo', [])) > 0
-                    is_published = int(room.director_data.get('publishedSince', 0)) > 0
-                    logging.debug('  considering update of room %s: has_mapinfo=%s is_published=%s', room_id, has_mapinfo, is_published)
-
-                    # if we have mapInfos and publishedSince, we should have a live map running
-                    if has_mapinfo and is_published:
-                        room.backend_status = Room.BackendStatus.ACTIVE
-                        update_fields.append('backend_status')
-                        logging.info('setting WA room %s active per MapService update as we now have publishedSince>0', room_id)
-
-                elif room.backend_status in [Room.BackendStatus.ACTIVE]:
-                    # if 'publishedSince' is not set any more, we should signal an error
-                    if room.director_data.get('publishedSince') in [None, 0, '']:
-                        room.backend_status = Room.BackendStatus.ERROR
-                        update_fields.append('backend_status')
-                        logging.info("setting WA room %s backend_status to 'error' (was active but publishedSince<=0 after MapService update)", room_id)
-
-                room.save(update_fields=update_fields)
-
-        except Exception as err:
-            logging.exception('MapService update failure.')
-            return 400, {'error': str(err), 'skipped': skipped}
-
-        if settings.WORKADVENTURE_BACKEND_PUSH_ON_MAPSERVICE_DATA:
-            # try to push the new data to the backend but don't let the mapservice's request fail
-            try:
-                start = datetime.now(conference.timezone)
-                res = WorkAdventureIntegration.push_maps(conference)
-                needed_time = datetime.now(conference.timezone) - start
-                errors = res.get('_errors')
-                if errors:
-                    logging.error('Failed to push WA maps to backend after new data from the MapService (took %s): %s', needed_time, '; '.join(res))
-                else:
-                    logging.info('Pushed WA maps to backend after MapService sent new data (took %s).', needed_time)
-            except Exception:
-                logging.exception('Unexpected failure pushing WA maps to backend after MapService new data.')
-
-        return 200, {'skipped': skipped}
-
-
-class MapBackendListView(ConferenceSlugMixin, APIView):
-    """
-    The map list endpoint used by exneuland (our map backend).
-
-    It is queried to fetch all currently active maps.
-    """
-
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_backend']
-
-    def get(self, request, *args, **kwargs):
-        result = WorkAdventureIntegration.assemble_wa_backend_maplist(self.conference)
-        return Response(result)
-
-
-class MapBackendReportView(ConferenceSlugMixin, APIView):
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_backend']
-
-    def extract_map_report_data(self, request):
-        data = request.data
-
-        # try to fetch reporting user from the given session id, otherwise use the backend's service user
-        reporting_user = request.user
-        reporting_session = WorkadventureSession.objects.filter(conference=self.conference, id=data.get('reporterUserUuid')).first()
-        if reporting_session:
-            reporting_user = reporting_session.user
-
-        # try to fetch room id and associated assembly's name
-        reported_room = Room.objects.filter(conference=self.conference, slug=data.get('roomSlug'), assembly__slug=data.get('worldSlug')).first()
-        if reported_room:
-            data['_room_id'] = str(reported_room.id)
-            if reported_room.assembly:
-                data['_assembly'] = reported_room.assembly.name
-
-        # extract user-supplied fields
-        comment = data.pop('comment') if 'comment' in data else '-/-'
-        solution = data.pop('solution') if 'solution' in data else '-/-'
-
-        return reporting_user, data, comment, solution
-
-
-class MapBackendReportUserView(MapBackendReportView):
-    def post(self, request, *args, **kwargs):
-        reporting_user, data, comment, solution = self.extract_map_report_data(request)
-
-        reported_session = WorkadventureSession.objects.filter(conference=self.conference, id=data.get('reportedUserUuid')).first()
-        if reported_session:
-            data['_reported_userid'] = reported_session.user.id
-            data['_reported_username'] = reported_session.user.username
-
-        report_content(
-            request=request,
-            reporter=reporting_user,
-            category='person',
-            reported_content=json.dumps(data, indent=2),
-            problem_message=comment,
-            proposed_solution=solution,
-        )
-
-        return Response(status=204)
-
-
-class MapBackendReportMapView(MapBackendReportView):
-    def post(self, request, *args, **kwargs):
-        reporting_user, data, comment, solution = self.extract_map_report_data(request)
-
-        report_content(
-            request=request,
-            reporter=reporting_user,
-            category='map',
-            reported_content=json.dumps(data, indent=2),
-            problem_message=comment,
-            proposed_solution=solution,
-        )
-
-        return Response(status=204)
-
-
-class MapBackendRedeemBadgeTokenView(ConferenceSlugMixin, APIView):
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_backend']
-
-    def post(self, request, token, *args, **kwargs):
-        badge_token = get_object_or_404(BadgeToken, token=token)
-        if badge_token.badge.conference_id != self.conference.pk:
-            return Response({'_error': 'Invalid conference.'}, status=404)
-
-        wa_session_id = request.POST.get('user')
-        try:
-            wa_session = WorkadventureSession.objects.select_related('user').get(conference=self.conference, pk=wa_session_id)
-        except WorkadventureSession.DoesNotExist:
-            return Response({'_error': 'Unknown session/userid.'}, status=404)
-
-        created = badge_token.redeem(wa_session.user, False)
-        if created:
-            return Response(
-                {
-                    'msg': f'{badge_token.badge}',
-                    'icon': f'{badge_token.badge.image.url}',
-                },
-                status=201,
-            )
-        else:
-            return Response(status=204)
-
-
-class MapDetailView(ConferenceSlugMixin, APIView):
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_mapservice', 'wa_backend']
-
-    def get(self, request, conference, assembly, world, room=None, format=None):  # pylint: disable=redefined-builtin
-        a = self.conference.assemblies.get(slug=assembly)
-
-        wa_room = a.rooms.get(room_type=Room.RoomType.WORKADVENTURE)  # TODO:, slug=world)
-
-        result = _export_room_data(wa_room)
-        return Response(result)
-
-
-class UserInfoView(ConferenceSlugMixin, APIView):
-    """
-    Provide user infos to exneuland.
-
-    interface userData {
-        organizationSlug: string; // e.g. ccc or 37c3 or foo
-        worldSlug: string; // e.g. lobby
-        roomSlug: string; // e.g. main
-        userUuid: string; // UUIDV4 generated by hub
-        oldUuid?: string; // If re login - Invalidate this uuid and kick the user...
-        messages?: unknown[]; // Messages to show @ login
-        textures: Array<{ // Additional character layers which are served
-            id: number;
-            level: number;
-            url: string;
-            rights: string;
-        }>;
-        characterLayers: string[]; // TODO add layers
-    }
-    """
-
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_backend']
-
-    def get(self, request, conference, uid, format=None):  # pylint: disable=redefined-builtin
-        try:
-            wa_session = WorkadventureSession.objects.get(conference=self.conference, pk=uid)
-        except WorkadventureSession.DoesNotExist:
-            raise Http404
-
-        return Response(wa_session.export_userdata())
-
-    def post(self, request, conference, uid, format=None):  # pylint: disable=redefined-builtin
-        try:
-            wa_session = WorkadventureSession.objects.get(conference=self.conference, pk=uid)
-        except WorkadventureSession.DoesNotExist:
-            return Response({'_error': f'session/uuid "{uid}" does not exist (any more?)'}, status=404)
-
-        try:
-            wa_session.update_userdata(request.data)
-            return Response(wa_session.export_userdata())
-        except Exception:
-            logging.exception('WA userinfo update failed.')
-            return Response({'_error': 'userdata update failed'}, status=500)
-
-
-class RegisterView(ConferenceSlugMixin, APIView):
-    """
-    Provides the /register endpoint for exneuland to hub communication.
-    """
-
-    permission_classes = [IsConferenceService | IsSuperUser]
-    required_service_classes = ['wa_backend']
-
-    def get(self, request, conference, token, format=None):  # pylint: disable=redefined-builtin
-        try:
-            wa_session = WorkadventureSession.objects.get(conference=self.conference, token=token)
-            if wa_session.token_expiry < timezone.now():
-                logger.info('WA session %s: token had expired (%s)', wa_session.id, token)
-                raise Http404
-        except WorkadventureSession.DoesNotExist:
-            raise Http404
-
-        if wa_session.additional_data is None:
-            wa_session.additional_data = {}
-
-        # delete the token
-        wa_session.additional_data['used_token'] = wa_session.token
-        wa_session.token = None
-
-        # kill previous sessions
-        previous_sessions = []
-        previous_qs = WorkadventureSession.objects.filter(conference=self.conference, user_id=wa_session.user_id, token=None)
-        for previous in list(previous_qs.exclude(pk=wa_session.pk)):
-            previous_sessions.append(str(previous.pk))
-            if settings.WORKADVENTURE_TERMINATE_OLD_SESSIONS_ON_REGISTER:
-                try:
-                    WorkAdventureIntegration.terminate_session(previous)
-                except Exception:
-                    logger.exception('Failed to terminate previous WA session %s (for %s).', previous.id, wa_session.id)
-            try:
-                previous.delete()
-            except Exception:
-                logger.exception('Failed to remove previous WA session %s (for %s).', previous.id, wa_session.id)
-        wa_session.additional_data['previous'] = previous_sessions
-
-        wa_session.save(update_fields=['additional_data', 'token'])
-        logger.info('WA session %s: token has been used', wa_session.id)
-
-        exported_data = wa_session.export_userdata(clear_messages=True)
-        return Response(exported_data)
diff --git a/src/backoffice/forms/__init__.py b/src/backoffice/forms/__init__.py
index 9a8d3824032fd0b2189b9737eca48994ed7c6aa4..9753d9d085e692bc68d58e09628f97a659d1d52c 100644
--- a/src/backoffice/forms/__init__.py
+++ b/src/backoffice/forms/__init__.py
@@ -9,7 +9,6 @@ from core.models import (
     MapPOI,
     PlatformUser,
     ScheduleSource,
-    WorkadventureTexture,
 )
 from core.utils import str2timedelta
 
@@ -36,10 +35,8 @@ from backoffice.forms.rooms import (
     AssemblyRoomCreateForm,
     AssemblyRoomCreateGenericForm,
     AssemblyRoomCreateHangarForm,
-    AssemblyRoomCreateWorkAdventureForm,
     AssemblyRoomEditForm,
     AssemblyRoomEditHangarForm,
-    AssemblyRoomEditWorkAdventureForm,
     AssemblyRoomLinkCreateForm,
 )
 from backoffice.forms.static_pages import (
@@ -104,19 +101,6 @@ class ScheduleSourceCreateForm(forms.ModelForm):
         self.instance.import_type = self.cleaned_data['import_type']
 
 
-class CreateWorkadventureTextureForm(forms.ModelForm):
-    class Meta:
-        model = WorkadventureTexture
-        fields = ['number', 'name', 'level', 'url']
-
-    def __init__(self, *args, **kwargs):
-        self._conference = kwargs.pop('conference')
-        super().__init__(*args, **kwargs)
-
-    def clean(self):
-        self.instance.conference = self._conference
-
-
 class POIForm(forms.ModelForm):
     class Meta:
         model = MapPOI
@@ -152,10 +136,8 @@ __all__ = [
     'AssemblyRoomCreateForm',
     'AssemblyRoomCreateGenericForm',
     'AssemblyRoomCreateHangarForm',
-    'AssemblyRoomCreateWorkAdventureForm',
     'AssemblyRoomEditForm',
     'AssemblyRoomEditHangarForm',
-    'AssemblyRoomEditWorkAdventureForm',
     'AssemblyRoomLinkCreateForm',
     'AssemblyTeamMessageForm',
     'BadgeAssignForm',
@@ -164,7 +146,6 @@ __all__ = [
     'BadgeTokenTimeConstraintForm',
     'BadgeTokenTimeConstraintFormSet',
     'ConferenceSelectionForm',
-    'CreateWorkadventureTextureForm',
     'EventForm',
     'POIForm',
     'ProfileForm',
diff --git a/src/backoffice/forms/badges.py b/src/backoffice/forms/badges.py
index ffa608827ba5c9932b3ed0bce0752b5fd2520605..15369082725d4e582bdabe2eb491991ee2012968 100644
--- a/src/backoffice/forms/badges.py
+++ b/src/backoffice/forms/badges.py
@@ -1,7 +1,6 @@
 from typing import Any
 
 from django import forms
-from django.conf import settings
 from django.forms import inlineformset_factory
 from django.utils.translation import gettext_lazy as _
 
@@ -41,14 +40,11 @@ class BadgeAssignForm(forms.Form):
 class BadgeTokenForm(forms.ModelForm):
     class Meta:
         model = BadgeToken
-        fields = ['active', 'comment', 'map_token', 'redeemable_count']
+        fields = ['active', 'comment', 'redeemable_count']
 
     def __init__(self, *args, create=False, **kwargs):
         super().__init__(*args, **kwargs)
         self.create = create
-        if not settings.INTEGRATIONS_WORKADVENTURE:
-            self.fields['map_token'].disabled = True
-            del self.fields['map_token']
 
 
 class BadgeTokenTimeConstraintForm(forms.ModelForm):
diff --git a/src/backoffice/forms/rooms.py b/src/backoffice/forms/rooms.py
index 1d3144ef897bf8808f0c5ff604ad96cc6c8042df..77e7d009f772d0921bf07e8918ab4256f14c8fec 100644
--- a/src/backoffice/forms/rooms.py
+++ b/src/backoffice/forms/rooms.py
@@ -6,7 +6,7 @@ from django.core.exceptions import ValidationError
 from django.utils.translation import gettext_lazy as _
 
 from core.base_forms import TranslatedFieldsForm
-from core.integrations import Hangar, IntegrationError, WorkAdventure
+from core.integrations import Hangar, IntegrationError
 from core.models import (
     Room,
     RoomLink,
@@ -73,47 +73,6 @@ class AssemblyRoomCreateGenericForm(AssemblyRoomCreateForm):
         return self._create_room(**self.cleaned_data)
 
 
-class AssemblyRoomCreateWorkAdventureForm(AssemblyRoomCreateForm):
-    backend_link = forms.URLField(
-        label=_('Room-workadventure_backend_link'),
-        help_text=_('Room-workadventure_backend_link__help'),
-    )
-    backend_link_branch = forms.CharField(
-        required=False,
-        label=_('Room-workadventure_backend_link_branch'),
-        help_text=_('Room-workadventure_backend_link_branch__help'),
-    )
-
-    def __init__(self, *args, **kwargs):
-        super().__init__(*args, **kwargs)
-        self.fields['name'].initial = 'World'
-        self.fields['name'].disabled = True
-        self.fields['backend_link'].widget.attrs['placeholder'] = 'https://foo:bar@gitlab.example.com/our/map/repo.git'
-        self.fields['backend_link_branch'].widget.attrs['placeholder'] = 'main / production / ...'
-
-    def clean(self, *args, **kwargs):
-        cleaned_data = super().clean(*args, **kwargs)
-
-        if self.assembly.rooms.filter(room_type=Room.RoomType.WORKADVENTURE).exists():
-            raise ValidationError(_('Room-single_workadventure_only'))
-
-        return cleaned_data
-
-    def create_room(self, request):
-        room = self._create_room(
-            room_type=Room.RoomType.WORKADVENTURE,
-            backend_status=Room.BackendStatus.NEW,
-            **self.cleaned_data,
-        )
-
-        if not self.create_room_on_backend(request, WorkAdventure, room):
-            room.delete()
-            room = None
-            self.room_id = None
-
-        return room
-
-
 class AssemblyRoomCreateBigBlueButtonForm(AssemblyRoomCreateForm):
     capacity = forms.IntegerField(min_value=0, initial=0, label=_('Room-bigbluebutton_capacity'), help_text=_('Room-bigbluebutton_capacity__help'))
 
@@ -233,22 +192,6 @@ class AssemblyRoomEditForm(TranslatedFieldsForm):
         return obj
 
 
-class AssemblyRoomEditWorkAdventureForm(TranslatedFieldsForm):
-    class Meta:
-        model = Room
-        fields = ['backend_status', 'backend_link', 'backend_link_branch']
-
-    def __init__(self, *args, with_capacity=False, channel_staff=False, **kwargs):
-        super().__init__(*args, **kwargs)
-        self.fields['backend_status'].disabled = True
-        self.fields['backend_link'].label = _('Room-workadventure_backend_link')
-        self.fields['backend_link'].help_text = _('Room-workadventure_backend_link__help')
-        self.fields['backend_link'].disabled = True
-        self.fields['backend_link_branch'].label = _('Room-workadventure_backend_link_branch')
-        self.fields['backend_link_branch'].help_text = _('Room-workadventure_backend_link_branch__help')
-        self.fields['backend_link_branch'].disabled = True
-
-
 class AssemblyRoomEditHangarForm(TranslatedFieldsForm):
     class Meta:
         model = Room
diff --git a/src/backoffice/locale/de/LC_MESSAGES/django.po b/src/backoffice/locale/de/LC_MESSAGES/django.po
index 67d29a252841a59680245a0352c4ff67ae3e04bd..526b46db62fea5a2c465d2575c77d0f616aea951 100644
--- a/src/backoffice/locale/de/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/de/LC_MESSAGES/django.po
@@ -68,21 +68,6 @@ msgstr "Raum"
 msgid "Room-duplicatename"
 msgstr "Ein Raum mit diesem Namen existiert bereits."
 
-msgid "Room-workadventure_backend_link"
-msgstr "Map-Repository"
-
-msgid "Room-workadventure_backend_link__help"
-msgstr "Pfad zu einem Git-Repository mit den Kartendaten. Die angegebene URL muss ein öffentliches, per HTTP(S) clonbares git Repository sein. Falls das Repository nicht public sein soll, müssen entsprechend Deploy-Token dafür angelegt und in die URL eingebaut werden. Beispiel: https://domain.com/path/repository.git Die Start-Karte muss /main.json sein."
-
-msgid "Room-workadventure_backend_link_branch"
-msgstr "Map-Branch"
-
-msgid "Room-workadventure_backend_link_branch__help"
-msgstr "Git-Branch in dem die aktuellen Kartendaten zu finden sind."
-
-msgid "Room-single_workadventure_only"
-msgstr "Es ist derzeit nur ein WorkAdventure-Raum möglich."
-
 msgid "Room-bigbluebutton_capacity"
 msgstr "Teilnehmenden-Limit"
 
@@ -279,9 +264,6 @@ msgstr "Max."
 msgid "BadgeToken__comment"
 msgstr "Kommentar"
 
-msgid "BadgeToken__map_token"
-msgstr "Map Token"
-
 msgid "BadgeToken__validity_ranges"
 msgstr "Gültigkeitszeiträume"
 
@@ -691,27 +673,6 @@ msgstr "Hangar entfernen benötigt manuelle Interaktion, bitte kontaktiere den S
 msgid "Room__remove__notpossible"
 msgstr "Hier könnte der Raum gelöscht werden, jedoch sind noch Veranstaltungen vorhanden. Lösche zuerst auch diese Veranstaltungen oder entferne die Zuordnung zu diesem Raum."
 
-msgid "Room-workadventure_backend_exit_url"
-msgstr "Exit URL"
-
-msgid "Room-workadventure_map-online__title"
-msgstr "deine Karte: ONLINE"
-
-msgid "Room-workadventure_map-online"
-msgstr "Deine Karte wurde veröffentlicht:"
-
-msgid "Room-workadventure_map-online__not_up2date_warning"
-msgstr "Dies ist nicht der neueste Commit! Mit dem aktuellen gibt es Probleme, siehe Linter-Meldungen!"
-
-msgid "Room-workadventure_map-offline__title"
-msgstr "deine Karte: NICHT online"
-
-msgid "Room-workadventure_map-offline"
-msgstr "Deine Karte ist (noch?) nicht öffentlich verfügbar."
-
-msgid "Room-workadventure_linter-result"
-msgstr "Linter-Ergebnis von"
-
 # use translation from core
 msgid "Vouchers"
 msgstr ""
@@ -870,9 +831,6 @@ msgstr "Wiki"
 msgid "nav_schedules"
 msgstr "Schedules"
 
-msgid "nav_workadventure"
-msgstr "WorkAdventure"
-
 msgid "Conference__Selection"
 msgstr "Konferenz auswählen"
 
@@ -1345,18 +1303,6 @@ msgstr "Projekt löschen"
 msgid "Project__delete__introduction"
 msgstr "Hiermit wird das Projekt gelöscht und alle Daten gehen verloren. Sicher?"
 
-msgid "Room-new-workadventure"
-msgstr "2D-Karte aktivieren"
-
-msgid "Room-new-workadventure__help"
-msgstr "Lege eine WorkAdventure-Instanz an: ein interaktiver Raum auf einer 2D-Karte zum selbst gestalten."
-
-msgid "Room-new-workadventure__create"
-msgstr "Anlegen"
-
-msgid "Room-new-workadventure__unavailable"
-msgstr "Derzeit nur 1 WorkAdventure-Raum möglich."
-
 msgid "Room-new-bbb"
 msgstr "BigBlueButton"
 
@@ -1527,36 +1473,6 @@ msgstr "Self-organized Session löschen"
 msgid "SoS__delete__introduction"
 msgstr "Hiermit wird diese Self-organized Session gelöscht. Wenn du sie nur unsichtbar machen möchtest gibt es weiter oben die Möglichkeit die Self-organized Session zurückzunehmen!"
 
-msgid "walist_info_paginated"
-msgstr "Zeige _START_ bis _END_ von _TOTAL_ Einträgen"
-
-msgid "walist_info_empty"
-msgstr "Zeige 0 Einträge"
-
-msgid "walist_info_filtered"
-msgstr "(gefiltert, insgesamt _MAX_ Einträge)"
-
-msgid "walist_paginate_menu"
-msgstr "Zeige _MENU_ Einträge"
-
-msgid "walist_search"
-msgstr "Suche:"
-
-msgid "walist_noentries"
-msgstr "Keine Einträge."
-
-msgid "walist_paginate_first"
-msgstr "Erste"
-
-msgid "walist_paginate_last"
-msgstr "Letzte"
-
-msgid "walist_paginate_next"
-msgstr "Nächste"
-
-msgid "walist_paginate_previous"
-msgstr "Vorherige"
-
 msgid "StaticPage-lockdrop"
 msgstr "Seitensperre aufheben"
 
@@ -1763,42 +1679,6 @@ msgstr "Kein %(verbose_name)s für die gewünschte Abfrage gefunden."
 msgid "Room-new-hangar__legal_hint"
 msgstr "Du bestätigst, dass ihr ausschließlich nur solche Inhalte ablegt/veröffentlicht, für die ihr auch die nötigen Lizenzen/Rechte habt. Zuwiderhandlungen können ggf. straf- bzw. zivilrechtliche Folgen haben!"
 
-msgid "Room-workadventure_linter-success"
-msgstr "Keine Probleme mit deiner Karte gefunden. Wunderbar!"
-
-msgid "Room-workadventure_linter-success__title"
-msgstr "Linter: alles OK"
-
-msgid "Room-workadventure_linter-warning"
-msgstr "Deine Karte ist grundsätzlich in Ordnung. Allerdings haben wir noch ein paar wichtige Verbesserungsvorschläge bzw. Hinweise. Bitte lies die untenstehende Ausgabe, lies noch einmal das HowTo und melde dich notfalls bei uns (Kontaktadresse ist ebenfalls im HowTo)."
-
-msgid "Room-workadventure_linter-warning__title"
-msgstr "Linter: WARNUNG"
-
-msgid "Room-workadventure_linter-error"
-msgstr "Deine Karte erfüllt in der angegebenen Version im Repository derzeit nicht unsere Anforderungen. Bitte lies die untenstehende Ausgabe, lies noch einmal das HowTo und melde dich notfalls bei uns (Kontaktadresse ist ebenfalls im HowTo)."
-
-msgid "Room-workadventure_linter-error__title"
-msgstr "Linter: FEHLER"
-
-msgid "Room-workadventure_linter-info"
-msgstr "Deine Karte generiert im Linting weder Warnungen noch Fehler. Allerdings haben wir noch ein paar Kleinigkeiten als Verbesserungsvorschläge. Bitte lies die untenstehende Ausgabe, lies ggf. noch einmal das HowTo und melde dich notfalls bei uns (Kontaktadresse ist ebenfalls im HowTo)."
-
-msgid "Room-workadventure_linter-info__title"
-msgstr "Linter: HINWEISE"
-
-msgid "Room-workadventure_linter-pending"
-msgstr "Deine Karte wurde noch nicht automatisch geprüft. Bitte habe noch etwas Geduld. Sollte dieser Status länger als eine Stunde bleiben melde dich bei uns."
-
-msgid "Room-workadventure_linter-pending__title"
-msgstr "Linter: ausstehend"
-
-msgid "Room-workadventure_linter-unknown"
-msgstr "Hinter dir, ein dreiköpfiger Affe! Das soll so. Möglicherweise. Vielleicht hilft dir untenstehende Ausgabe und ansonsten melde dich bei uns wenn dieser Zustand andauert."
-
-msgid "Room-workadventure_linter-unknown__title"
-msgstr "Linter: unklarer Status"
-
 msgid "internal_error_please_retry"
 msgstr "Mist. Irgendwas ist schief gelaufen, der Techniker ist informiert! Bitte probiere die Aktion erneut - wenn das Problem bestehen bleibt melde dich bei uns."
 
@@ -1851,10 +1731,6 @@ msgstr ""
 msgid "Assembly__{fld}"
 msgstr ""
 
-# use translation from core
-msgid "Room__type-workadventure"
-msgstr ""
-
 msgid "assemblyedit_changedstate"
 msgstr "Status der Assembly wurde geändert."
 
@@ -2088,32 +1964,5 @@ msgstr "Statische Seite und zugehörige Historie gelöscht."
 msgid "StaticPageRevision--deleted"
 msgstr "Historieneintrag gelöscht."
 
-msgid "Room__backend_status-new"
-msgstr ""
-
-msgid "Room__backend_status-setup"
-msgstr ""
-
-msgid "Room__backend_status-error"
-msgstr ""
-
-msgid "Room__backend_status-active"
-msgstr ""
-
-msgid "Room__backend_status-inactive"
-msgstr ""
-
-msgid "Room__backend_status-full"
-msgstr ""
-
-msgid "wa_maps"
-msgstr "Karten/Repos"
-
-msgid "wa_sessions"
-msgstr "Sessions"
-
-msgid "wa_textures"
-msgstr "Textures"
-
 #~ msgid "All"
 #~ msgstr "alle"
diff --git a/src/backoffice/locale/en/LC_MESSAGES/django.po b/src/backoffice/locale/en/LC_MESSAGES/django.po
index 5700860ebf1f36e6e3c3ec4075edcb44ed32fabe..b5e32ee7a5cf3272b4bb66fc1568d3fa07aa88e0 100644
--- a/src/backoffice/locale/en/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/en/LC_MESSAGES/django.po
@@ -68,21 +68,6 @@ msgstr "room"
 msgid "Room-duplicatename"
 msgstr "A room with this name already exists."
 
-msgid "Room-workadventure_backend_link"
-msgstr "map repository"
-
-msgid "Room-workadventure_backend_link__help"
-msgstr "Link to a Git repository containing the map configuration. The given URL needs to be a publicly available, HTTP(S) clonable git repository. In case of non-public repositories, any needed deploy tokens needs to be part of the given URL. Example: https://domain.com/path/repository.git The entry map needs to be /main.json"
-
-msgid "Room-workadventure_backend_link_branch"
-msgstr "map branch"
-
-msgid "Room-workadventure_backend_link_branch__help"
-msgstr "Name of the branch in the above Git repository."
-
-msgid "Room-single_workadventure_only"
-msgstr "Only a single WorkAdventure room is currently supported."
-
 msgid "Room-bigbluebutton_capacity"
 msgstr "participant limit"
 
@@ -279,9 +264,6 @@ msgstr "Max."
 msgid "BadgeToken__comment"
 msgstr "Comment"
 
-msgid "BadgeToken__map_token"
-msgstr "Map Token"
-
 msgid "BadgeToken__validity_ranges"
 msgstr "Validity periods"
 
@@ -346,7 +328,6 @@ msgstr "Yes"
 msgid "no"
 msgstr "No"
 
-
 # use translation from core
 msgid "Assembly__state"
 msgstr ""
@@ -692,27 +673,6 @@ msgstr "Hangar removal needs manual interaction, please contact support."
 msgid "Room__remove__notpossible"
 msgstr "Here you could remove the room if it hadn't at least one event assigned to it. Please delete all events associated with this room first (or remove the association)."
 
-msgid "Room-workadventure_backend_exit_url"
-msgstr "Exit URL"
-
-msgid "Room-workadventure_map-online__title"
-msgstr "your map is ONLINE"
-
-msgid "Room-workadventure_map-online"
-msgstr "Your map has been published:"
-
-msgid "Room-workadventure_map-online__not_up2date_warning"
-msgstr "This is not the most recent commit. Likely newer commits are facing linter issues, see its warnings!"
-
-msgid "Room-workadventure_map-offline__title"
-msgstr "your map is NOT online"
-
-msgid "Room-workadventure_map-offline"
-msgstr "Your map has not been published yet."
-
-msgid "Room-workadventure_linter-result"
-msgstr "linter result"
-
 # use translation from core
 msgid "Vouchers"
 msgstr ""
@@ -871,9 +831,6 @@ msgstr "Wiki"
 msgid "nav_schedules"
 msgstr "Schedules"
 
-msgid "nav_workadventure"
-msgstr "WorkAdventure"
-
 msgid "Conference__Selection"
 msgstr "Select Conference"
 
@@ -1351,18 +1308,6 @@ msgstr "remove project"
 msgid "Project__delete__introduction"
 msgstr "This removes this project and it will not be shown any more."
 
-msgid "Room-new-workadventure"
-msgstr "2D Map"
-
-msgid "Room-new-workadventure__help"
-msgstr "Spawn a WorkAdventure instance: an interactive 2D map which can be customized."
-
-msgid "Room-new-workadventure__create"
-msgstr "create"
-
-msgid "Room-new-workadventure__unavailable"
-msgstr "assembly has one already"
-
 msgid "Room-new-bbb"
 msgstr "BigBlueButton"
 
@@ -1533,36 +1478,6 @@ msgstr "Delete self-organized session"
 msgid "SoS__delete__introduction"
 msgstr "This removes this self-organized session. If you only want to make it invisible, there is an option above to recall the self-organized session above!"
 
-msgid "walist_info_paginated"
-msgstr "Showing _START_ to _END_ of _TOTAL_ entries"
-
-msgid "walist_info_empty"
-msgstr "Showing 0 out of 0 entries"
-
-msgid "walist_info_filtered"
-msgstr "(filtered from _MAX_ total entries)"
-
-msgid "walist_paginate_menu"
-msgstr "Show _MENU_ entries"
-
-msgid "walist_search"
-msgstr "Search:"
-
-msgid "walist_noentries"
-msgstr "No entries."
-
-msgid "walist_paginate_first"
-msgstr "First"
-
-msgid "walist_paginate_last"
-msgstr "Last"
-
-msgid "walist_paginate_next"
-msgstr "Next"
-
-msgid "walist_paginate_previous"
-msgstr "Previous"
-
 msgid "StaticPage-lockdrop"
 msgstr "drop page lock"
 
@@ -1770,42 +1685,6 @@ msgstr "No %(verbose_name)s found matching the query"
 msgid "Room-new-hangar__legal_hint"
 msgstr "You acknowledge that you will only store/publish content to which you own the necessary rights/licenses. Any violation might be liable to prosecution!"
 
-msgid "Room-workadventure_linter-success"
-msgstr "linter: all OK"
-
-msgid "Room-workadventure_linter-success__title"
-msgstr "There are no issues with your map. Hooray!"
-
-msgid "Room-workadventure_linter-warning"
-msgstr "Your map is okay. But there is some room for improvement so please check the messages below. In case of questions check the How-To again and/or ask us (contact address is in the How-To, too)."
-
-msgid "Room-workadventure_linter-warning__title"
-msgstr "linter: WARNINGS apply"
-
-msgid "Room-workadventure_linter-error"
-msgstr "There has been an error with your map definition. Please consult the messages below, check the How-To again and if all fails ask us (contact address is in the How-To, too)."
-
-msgid "Room-workadventure_linter-error__title"
-msgstr "linter: ERRORS found"
-
-msgid "Room-workadventure_linter-info"
-msgstr "Your map does not contain warnings or errors according to our linter. However, we've come up with some minor suggestions so we'd like to ask you to read the messages below. In case of questions check the How-To again and/or ask us (contact address is in the How-To, too)."
-
-msgid "Room-workadventure_linter-info__title"
-msgstr "linter: SUGGESTIONS ONLY"
-
-msgid "Room-workadventure_linter-pending"
-msgstr "We haven't analyzed your map yet. Please stand by."
-
-msgid "Room-workadventure_linter-pending__title"
-msgstr "linter: pending"
-
-msgid "Room-workadventure_linter-unknown"
-msgstr "Beware of the three-headed monkey behind you! The situation is unexpected and someone surely already noted and is working hard on it. Just in case that this is not true, please drop us a note if this status persists."
-
-msgid "Room-workadventure_linter-unknown__title"
-msgstr "linter: unknown status"
-
 msgid "internal_error_please_retry"
 msgstr "D'oh. Something's gone wrong, the issue has been logged. Please retry your action and if the issue persists contact us."
 
@@ -1857,10 +1736,6 @@ msgstr ""
 msgid "Assembly__{fld}"
 msgstr ""
 
-# use translation from core
-msgid "Room__type-workadventure"
-msgstr ""
-
 msgid "assemblyedit_changedstate"
 msgstr "Assembly's state has been updated."
 
@@ -2094,33 +1969,6 @@ msgstr "StaticPage and all corresponding revisions deleted."
 msgid "StaticPageRevision--deleted"
 msgstr "StaticPageRevision deleted."
 
-msgid "Room__backend_status-new"
-msgstr ""
-
-msgid "Room__backend_status-setup"
-msgstr ""
-
-msgid "Room__backend_status-error"
-msgstr ""
-
-msgid "Room__backend_status-active"
-msgstr ""
-
-msgid "Room__backend_status-inactive"
-msgstr ""
-
-msgid "Room__backend_status-full"
-msgstr ""
-
-msgid "wa_maps"
-msgstr "maps"
-
-msgid "wa_sessions"
-msgstr "sessions"
-
-msgid "wa_textures"
-msgstr "textures"
-
 #~ msgid "assemblyedit_message"
 #~ msgstr "send a message to the assembly's organizing staff"
 
diff --git a/src/backoffice/templates/backoffice/assembly_badge.html b/src/backoffice/templates/backoffice/assembly_badge.html
index d13d1a7bfad3905a1e0106a56de3ece08d119457..280919a764678f8d40d484c38e79dd7d7440559a 100644
--- a/src/backoffice/templates/backoffice/assembly_badge.html
+++ b/src/backoffice/templates/backoffice/assembly_badge.html
@@ -151,9 +151,6 @@
                   <th>{% trans "BadgeToken__active" %}/{% trans "BadgeToken__valid" %}</th>
                   <th>{% trans "BadgeToken__redeemed_count__short" %}/{% trans "BadgeToken__redeemable_count__short" %}</th>
                   <th>{% trans "BadgeToken__comment" %}</th>
-                  {% if has_wa_integration %}
-                    <th>{% trans "BadgeToken__map_token" %}</th>
-                  {% endif %}
                   <th>{% trans "BadgeToken__validity_ranges" %}</th>
                   <th>{% trans "BadgeToken__modify" %}</th>
                   <th>{% trans "BadgeToken__activate" %}</th>
@@ -187,15 +184,6 @@
                   <td>
                     {% if tok.comment %}{{ tok.comment }}{% endif %}
                   </td>
-                  {% if has_wa_integration %}
-                    <td>
-                      {% if tok.map_token %}
-                        ✅
-                      {% else %}
-                        ❌
-                      {% endif %}
-                    </td>
-                  {% endif %}
                   <td>
                     {% for validity in tok.time_constraints.all %}<span>{{ validity.date_time_range }}</span>{% endfor %}
                   </td>
diff --git a/src/backoffice/templates/backoffice/assembly_room.html b/src/backoffice/templates/backoffice/assembly_room.html
index 833226b5911e8d68bbab03dde83024b23f48d38e..64108c1f90233ad84dd2d7f84ed5338907e773ec 100644
--- a/src/backoffice/templates/backoffice/assembly_room.html
+++ b/src/backoffice/templates/backoffice/assembly_room.html
@@ -117,10 +117,6 @@
     </div>
   {% endif %}
 
-  {% if room.room_type == 'workadventure' %}
-    {% include "backoffice/assembly_room_wa.html" %}
-  {% endif %}
-
   {% if not link_edit %}
     {% include "backoffice/assembly_room_mgmt.html" %}
   {% endif %}
diff --git a/src/backoffice/templates/backoffice/assembly_room_wa.html b/src/backoffice/templates/backoffice/assembly_room_wa.html
deleted file mode 100644
index b258c7a759d4e94e8aba73b2c9cbae7420abf41e..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/assembly_room_wa.html
+++ /dev/null
@@ -1,125 +0,0 @@
-{% extends "backoffice/base.html" %}
-{% load django_bootstrap5 %}
-{% load humanize %}
-{% load i18n %}
-{% load widget_tweaks %}
-
-{% block title %}
-  {{ room.name }} | {{ assembly.name }} | {{ conference.name }}
-{% endblock title %}
-
-{% block htmlhead %}
-  <style type="text/css">
-        div#description h3 {
-            font-size: 100%;
-            text-transform: uppercase;
-            border-bottom: 1px solid #CCCCCC;
-        }
-  </style>
-{% endblock htmlhead %}
-
-{% block content %}
-  {% include "backoffice/assembly_edit_header.html" %}
-
-  <div class="row mb-3">
-    <div class="col-md-12">
-      <div class="card border-default">
-        <div class="card-header bg-default">
-          {% if room.id %}
-            <span class="text-muted float-end" style="font-size: 75%;">ID: <strong>{{ room.id }}</strong></span>
-          {% endif %}
-          {% if room.name %}
-            {{ room.get_room_type_display }} {% trans "Room" %} "{{ room.name }}"
-          {% endif %}
-        </div>
-        <div class="card-body">
-          <div class="form-group row">
-            <label for="txtRepoUrl" class="col-sm-2 col-form-label">{% trans "Room-workadventure_backend_link" %}</label>
-            <input type="text"
-                   id="txtRepoUrl"
-                   class="col-sm-10 form-control-plaintext"
-                   readonly
-                   value="{{ room.backend_link }}">
-          </div>
-          <div class="form-group row">
-            <label for="txtRepoBranch" class="col-sm-2 col-form-label">{% trans "Room-workadventure_backend_link_branch" %}</label>
-            <input type="text"
-                   id="txtRepoBranch"
-                   class="col-sm-10 form-control-plaintext"
-                   readonly
-                   value="{{ room.backend_link_branch }}">
-          </div>
-          {% if room.backend_data.exit_url %}
-            <div class="form-group row">
-              <label for="txtExitUrl" class="col-sm-2 col-form-label">{% trans "Room-workadventure_backend_exit_url" %}</label>
-              <input type="text"
-                     id="txtExitUrl"
-                     class="col-sm-10 form-control-plaintext"
-                     readonly
-                     value="{{ room.backend_data.exit_url }}">
-            </div>
-          {% endif %}
-        </div>
-      </div>
-    </div>
-  </div>
-
-  <div class="row mb-3">
-    <div class="col-md-12">
-      {% if wa_published.commitHash %}
-        <div class="card border-{% if wa_published.commitHash != wa_linter.commitHash %}warning{% else %}success{% endif %}">
-          <div class="card-header bg-{% if wa_published.commitHash != wa_linter.commitHash %}warning{% else %}success{% endif %} text-white">
-            {% trans "Room-workadventure_map-online__title" %}
-          </div>
-          <div class="card-body">
-            <p>
-              {% trans "Room-workadventure_map-online" %}
-              <span title="{{ wa_published.timestamp }}">{{ wa_published.timestamp|naturaltime }}</span>,
-              Commit <code>{{ wa_published.commitHash }}</code>
-            </p>
-
-            {% if wa_published.commitHash != wa_linter.commitHash %}
-              <p>{% trans "Room-workadventure_map-online__not_up2date_warning" %}</p>
-            {% endif %}
-          </div>
-        </div>
-      {% else %}
-        <div class="card border-danger">
-          <div class="card-header bg-danger text-white">{% trans "Room-workadventure_map-offline__title" %}</div>
-          <div class="card-body">{% trans "Room-workadventure_map-offline" %}</div>
-        </div>
-      {% endif %}
-    </div>
-  </div>
-  {# Format here cannot be fixed as we open up a lot more tags than we close #}
-  {# djlint:off H025 #}
-  <div class="row mb-3">
-    <div class="col-md-12">
-      {% if wa_linter.status == "danger" or wa_linter.status == "error" %}
-        <div class="card border-danger">
-          <div class="card-header bg-default text-danger">
-          {% elif wa_linter.status == "warning" %}
-            <div class="card border-warning">
-              <div class="card-header bg-warning">
-              {% elif wa_linter.status == "info" %}
-                <div class="card border-primary">
-                  <div class="card-header bg-primary text-white">
-                  {% elif wa_linter.status == "pending" %}
-                    <div class="card border-secondary">
-                      <div class="card-header bg-default text-secondary">
-                      {% else %}
-                        <div class="card">
-                          <div class="card-header">
-                          {% endif %}
-                          {{ wa_linter.status_title }}
-                        </div>
-                        <div class="card-body">
-                          <p>{{ wa_linter.status_text }}</p>
-                          {% include "backoffice/assembly_room_wa_linterblock.html" %}
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                  {# djlint:on #}
-                  {% include "backoffice/assembly_room_mgmt.html" %}
-                {% endblock content %}
diff --git a/src/backoffice/templates/backoffice/assembly_room_wa_linterblock.html b/src/backoffice/templates/backoffice/assembly_room_wa_linterblock.html
deleted file mode 100644
index 4fdf7557963eee192fb6ded04449e4c5c8a6b738..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/assembly_room_wa_linterblock.html
+++ /dev/null
@@ -1,114 +0,0 @@
-{% load humanize %}
-{% load i18n %}
-<p>
-  {% trans "Room-workadventure_linter-result" %}
-  <span title="{{ wa_linter.timestamp }}">{{ wa_linter.timestamp|naturaltime }}</span>,
-  Commit: <code>{{ wa_linter.commitHash }}</code>
-</p>
-
-{% for err in wa_linter.errors %}<div class="alert alert-danger">{{ err }}</div>{% endfor %}
-
-{% if wa_linter.missingEntrypoints or wa_linter.exitGraph %}<h2 class="border-bottom">Exits</h2>{% endif %}
-{% if wa_linter.missingEntrypoints %}
-  <ul>
-    {% for entry in wa_linter.missingEntrypoints %}
-      <li>
-        <span class="badge badge-{% if entry.depFatal %}danger{% else %}warning{% endif %}">
-          {% if entry.depFatal %}
-            MISSING
-          {% else %}
-            WARNING
-          {% endif %}
-        </span>
-        {% if entry.depFatal %}
-          Map
-        {% else %}
-          Entrypoint
-        {% endif %}
-        <code>{{ entry.entrypoint }}</code> does not exist
-        {% if not entry.depFatal %}(no layer with that name is a <code class="small text-muted">startLayer</code>){% endif %}
-        , but is used as <code class="small text-muted">exitUrl</code> in
-        {% for map in entry.neededBy %}
-          <code class="small text-muted">{{ map }}</code>
-          {% if not forloop.last %},{% endif %}
-        {% endfor %}
-        .
-      </li>
-    {% endfor %}
-  </ul>
-{% endif %}
-
-{% if wa_linter.exitGraph %}
-  <script src="{% static 'vendor/dot-wasm.js' %}"></script>
-  <script src="{% static 'vendor/d3/d3.js' %}"></script>
-  <script src="{% static 'vendor/d3/d3-graphviz.js' %}"></script>
-  <div id="exitgraph"></div>
-  <script nonce="{{ request.csp_nonce }}">
- d3.select("#exitgraph")
-   .graphviz()
-   .dot("{{ wa_linter.exitGraph | escapejs }}")
-   .render()
-  </script>
-{% endif %}
-
-{% if wa_linter.missingAssets %}
-  <h2 class="border-bottom">Assets</h2>
-  <ul>
-    {% for entry in wa_linter.missingAssets %}
-      <li>
-        <span class="badge badge-danger">MISSING</span>
-        File <code>{{ entry.asset }}</code> does not exist, but is referenced in
-        {% for map in entry.neededBy %}
-          <code class="small text-muted">{{ map }}</code>
-          {% if not forloop.last %},{% endif %}
-        {% endfor %}
-        .
-      </li>
-    {% endfor %}
-  </ul>
-{% endif %}
-
-{% if wa_linter.results %}
-  <h2 class="border-bottom">Maps</h2>
-  {% for map, infos in wa_linter.results.items %}
-    <h4 class="border-bottom">
-      <code class="text-muted">{{ map }}</code>
-    </h4>
-    <div class="ps-3">
-      {% for category, issues in infos.items %}
-        {% if issues|length > 0 %}
-          <h5>{{ category }}</h5>
-          <ul>
-            {% if issues|is_dict %}
-              {% for issue, details in issues.items %}
-                <li>
-                  <span class="badge badge-{% if details.level == "Suggestion" %}info{% elif details.level == "Error" or details.level == "Fatal" or details.level == "Forbidden" %}danger{% else %}{{ details.level|lower }}{% endif %}">{{ details.level|upper }}</span>
-                  {{ issue }}
-                  <br>
-                  in {{ category }}
-                  {% if not details.in|length == 1 %}s{% endif %}
-                  :
-                  {% for place in details.in %}
-                    <code class="small text-muted">{{ place }}</code>
-                    {% if not forloop.last %},{% endif %}
-                  {% endfor %}
-                </li>
-              {% endfor %}
-            {% else %}
-              {% for item in issues %}
-                <li>
-                  {% if item.level and item.msg %}
-                    <span class="badge badge-{% if item.level == "Suggestion" %}info{% elif item.level == "Error" or item.level == "Fatal" or item.level == "Forbidden" %}danger{% else %}{{ item.level|lower }}{% endif %}">{{ item.level|upper }}</span>
-                    {{ item.msg }}
-                  {% else %}
-                    <pre class="small text-muted">{{ item|json_indent }}</pre>
-                  {% endif %}
-                </li>
-              {% endfor %}
-            {% endif %}
-          </ul>
-        {% endif %}
-      {% endfor %}
-    </div>
-  {% endfor %}
-{% endif %}
diff --git a/src/backoffice/templates/backoffice/base.html b/src/backoffice/templates/backoffice/base.html
index 7240c92212a26d6d4e3a513ec33ddb26870a7978..0fee1c4396fa6809f42a568d9fa5d22377471a49 100644
--- a/src/backoffice/templates/backoffice/base.html
+++ b/src/backoffice/templates/backoffice/base.html
@@ -120,14 +120,6 @@
               </a>
             </li>
           {% endif %}
-          {% if has_workadventure %}
-            <li class="nav-item">
-              <a class="nav-link{% if active_page == 'workadventure' %} active{% endif %}"
-                 href="{% url 'backoffice:workadventure' %}">{% trans "nav_workadventure" %}
-                {% if active_page == 'workadventure' %}<span class="visually-hidden">{{ activetab_srmarker }}</span>{% endif %}
-              </a>
-            </li>
-          {% endif %}
         </ul>
         <ul class="navbar-nav">
           {% if conferences|length > 1 or active_page == 'conferences' %}
diff --git a/src/backoffice/templates/backoffice/room-new.html b/src/backoffice/templates/backoffice/room-new.html
index 816d64cbe52806a8bbeb3e7b851d191501052b5a..f13cac970b8065afeaf533dbdd00732a229288b7 100644
--- a/src/backoffice/templates/backoffice/room-new.html
+++ b/src/backoffice/templates/backoffice/room-new.html
@@ -25,28 +25,6 @@
       {% if room_type is None %}
         <div class="row row-cols-1 row-cols-md-2 g-4">
 
-          {# WorkAdventure #}
-          {% if support_wa %}
-            <div class="col">
-              <div class="card {% if rooms_available.workadventure %}border-primary{% else %}border-default{% endif %}">
-                <div class="card-body">
-                  <h5 class="card-title {% if rooms_available.workadventure %}text-primary{% else %}text-default{% endif %}">
-                    {% trans "Room-new-workadventure" %}
-                  </h5>
-                  <p class="card-text">{% trans "Room-new-workadventure__help" %}</p>
-                </div>
-                <div class="card-footer">
-                  {% if rooms_available.workadventure %}
-                    <a class="btn btn-sm btn-primary"
-                       href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=workadventure">{% trans "Room-new-workadventure__create" %}</a>
-                  {% else %}
-                    <span class="text-muted" style="font-size: 90%;">{% trans "Room-new-workadventure__unavailable" %}</span>
-                  {% endif %}
-                </div>
-              </div>
-            </div>
-          {% endif %}
-
           {# BigBlueButton #}
           {% if support_bbb %}
             <div class="col">
diff --git a/src/backoffice/templates/backoffice/wa-index.html b/src/backoffice/templates/backoffice/wa-index.html
deleted file mode 100644
index 91e552381f1b1713f107089e676a942502270f65..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/wa-index.html
+++ /dev/null
@@ -1,78 +0,0 @@
-{% extends "backoffice/base.html" %}
-{% load i18n %}
-
-{% block content %}
-
-  <div class="card mb-3 border-primary">
-    <div class="card-header bg-primary text-white">WorkAdventure Admin Actions</div>
-    <div class="card-body">
-      <h3>Backend (exneuland)</h3>
-      <form action="" method="post">
-        {% csrf_token %}
-        <input type="submit"
-               name="push_backend_maps"
-               value="push maps to backend"
-               class="btn btn-secondary">
-      </form>
-      <hr>
-      <form action="" method="post">
-        {% csrf_token %}
-        <input type="text"
-               name="wa_session_id"
-               placeholder="WorkAdventure 'user_uuid'"
-               required>
-        <input type="submit"
-               name="push_userinfo"
-               value="push maps to backend"
-               class="btn btn-secondary">
-      </form>
-    </div>
-    <div class="card-body border-primary" style="border-top: 1px solid">
-      <h3>MapService</h3>
-      <form action="" method="post">
-        {% csrf_token %}
-        <input id="cbForce" type="checkbox" name="force" value="1">
-        <label for="cbForce">force (relint)</label>
-        <input type="submit"
-               name="sync_maps"
-               value="sync all maps now"
-               class="btn btn-secondary">
-      </form>
-      <hr>
-      <form action="" method="post">
-        {% csrf_token %}
-        <select name="loglevel" id="loglevel" required>
-          <option disabled selected value>-- select a loglevel --</option>
-          <option value="trace">trace</option>
-          <option value="debug">debug</option>
-          <option value="info">info</option>
-          <option value="warn">warn</option>
-          <option value="error">error</option>
-          <option value="fatal">fatal</option>
-          <option value="panic">panic</option>
-        </select>
-        <input type="submit"
-               name="mapservice_loglevel"
-               value="set loglevel"
-               class="btn btn-secondary">
-      </form>
-
-    </div>
-  </div>
-
-  {% if results %}
-    {% for caption, details in results.items %}
-      <div class="card mb-3 border-{% if details|get_item:'_errors' %}danger{% else %}success{% endif %}">
-        <div class="card-header bg-{% if details|get_item:'_errors' %}danger{% else %}success{% endif %} text-white">
-          {{ caption }}
-        </div>
-        <div class="card-body">
-          {% if '_errors' in details %}
-            {% for e in details|get_item:'_errors' %}<p class="text-danger">{{ e }}</p>{% endfor %}
-          {% endif %}
-          <pre>{{ details|filter_dict:'_errors'|json_indent }}</pre>
-        </div>
-      </div>
-    {% endfor %}
-  {% endif %}
-{% endblock content %}
diff --git a/src/backoffice/templates/backoffice/wa-map-detail.html b/src/backoffice/templates/backoffice/wa-map-detail.html
deleted file mode 100644
index 741acf21494e2c50f6849370fc8f268b6ad239d9..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/wa-map-detail.html
+++ /dev/null
@@ -1,234 +0,0 @@
-{% extends "backoffice/base.html" %}
-{% load humanize %}
-{% load i18n %}
-
-{% block scripts %}
-  <script nonce="{{ request.csp_nonce }}">
-$(function() {
-  function changeEdit(id) {
-    $(id).attr('disabled', function(i, v) { return !v; });
-    $('a.btn-repository-savecancel').toggle();
-    $('a#btn-repository-edit').toggle()
-  }
-  $('a#btn-repository-cancel').click(function() {
-    changeEdit('.input-repository')
-  });
-  $('a#btn-repository-edit').click(function() {
-    changeEdit('.input-repository')
-  });
-  $('a#btn-repository-save').click(function() {
-    $('#form-repository').submit()
-  });
-});
-  </script>
-{% endblock scripts %}
-
-{% block content %}
-
-  <div class="card mt-3">
-    <div class="card-header">WorkAdventure map "{{ object.name }}"</div>
-    <div class="card-body pb-0">
-      <div class="row mb-3">
-        <span class="col-sm-2">ID</span>
-        <span class="col-sm-10">{{ object.id }}</span>
-      </div>
-
-      <div class="row mb-3">
-        <span class="col-sm-2">Assembly</span>
-        <span class="col-sm-10">{{ object.assembly.slug }} <span class="text-muted">{{ object.assembly.name }}</span></span>
-      </div>
-
-      <div class="row mb-3">
-        <span class="col-sm-2">Name</span>
-        <span class="col-sm-10">{{ object.name }}</span>
-      </div>
-
-      <div class="row mb-3">
-        <span class="col-sm-2">Description</span>
-        <div class="col-sm-10">{{ object.description_html|default:"-" }}</div>
-      </div>
-
-      <div class="row mb-3">
-        <span class="col-sm-2">Status</span>
-        <div class="col-sm-10 row">
-          <div class="col-sm-4">
-            <div class="card">
-              <div class="card-header">Assembly</div>
-              <div class="card-body font-weight-bold">
-                {% if object.assembly.is_public %}
-                  <span class="text-success">public</span>
-                {% else %}
-                  <span class="text-error">not public</span>
-                {% endif %}
-              </div>
-            </div>
-          </div>
-          <div class="col-sm-4">
-            <div class="card">
-              <div class="card-header">Backend</div>
-              <div class="card-body font-weight-bold">{% include "backoffice/_room_backend_status.html" %}</div>
-            </div>
-          </div>
-          <div class="col-sm-4">
-            <div class="card">
-              <div class="card-header">Map</div>
-              <div class="card-body font-weight-bold">{% include "backoffice/_room_wa_map_status.html" %}</div>
-            </div>
-          </div>
-        </div>
-      </div>
-
-      <div class="row mb-3">
-        <span class="col-sm-2">Repository</span>
-        <div class="col-sm-10">
-          <form class="form"
-                id="form-repository"
-                method="post"
-                enctype="multipart/form-data">
-            {% csrf_token %}
-            <div class="form-row">
-              <div class="form-group col-md-6">
-                <label class="visually-hidden" for="backend_link">URL</label>
-                <input type="text"
-                       class="input-repository form-control"
-                       name="backend_link"
-                       placeholder="Backend Link URL"
-                       value="{% if object.backend_link %}{{ object.backend_link }}{% endif %}"
-                       disabled>
-                <small id="passwordHelpBlock" class="form-text text-muted">Backend Link URL</small>
-              </div>
-              <div class="form-group col-md-3">
-                <label class="visually-hidden" for="backend_link_branch">Branch</label>
-                <input type="text"
-                       class="input-repository form-control"
-                       name="backend_link_branch"
-                       placeholder="Backend Branch"
-                       value="{% if object.backend_link_branch %}{{ object.backend_link_branch }}{% endif %}"
-                       disabled>
-                <small class="form-text text-muted">Backend Remote Branch</small>
-              </div>
-              <div class="form-group col-md-3">
-                <a href="#"
-                   role="button"
-                   class="btn btn-primary md-2"
-                   id="btn-repository-edit">Edit</a>
-                <a href="#"
-                   role="button"
-                   class="btn btn-success btn-repository-savecancel md-2"
-                   id="btn-repository-save"
-                   style="display:none">Save</a>
-                <a href="#"
-                   role="button"
-                   class="btn btn-light btn-repository-savecancel md-2"
-                   id="btn-repository-cancel"
-                   style="display:none">Cancel</a>
-              </div>
-            </div>
-          </form>
-        </div>
-      </div>
-      <div class="row mb-3">
-        <span class="col-sm-2">Exit URL</span>
-        <div class="col-sm-10">
-          <form class="form"
-                id="form-exit-url"
-                method="post"
-                enctype="multipart/form-data">
-            {% csrf_token %}
-            <div class="form-row">
-              <div class="form-group col-md-9">
-                <label class="visually-hidden" for="backend_exit_url">URL</label>
-                <input type="text"
-                       class="input-exit-url form-control"
-                       name="backend_exit_url"
-                       placeholder="Backend Exit URL"
-                       value="{% if object.backend_data.exit_url %}{{ object.backend_data.exit_url }}{% endif %}">
-                <small class="form-text text-muted">WorkAdventure URL to exit the user map to the lobby.</small>
-              </div>
-              <div class="form-group col-md-3">
-                <input type="submit"
-                       class="btn btn-success btn-exit-url-savecancel md-2"
-                       id="btn-exit-url-save"
-                       name="submit_backend_exit_url"
-                       value="Save">
-              </div>
-            </div>
-          </form>
-        </div>
-      </div>
-
-    </div>
-  </div>
-
-  <div class="row">
-    <div class="col col-md-8">
-      <div class="card mt-3">
-        <div class="card-header">Map Service Data (Director)</div>
-        <div class="card-body">
-          <dl>
-            {% for k, v in room.director_data.items %}
-              <dt>{{ k }}</dt>
-              <dd>
-                {% if k == "url" %}
-                  <a href="{{ v }}" target="_blank">{{ v }}</a>
-                {% elif k == "publishedSince" or k == "publishedScince" %}
-                  {{ v|from_unixtimestamp }} <span class="text-muted">({{ v|from_unixtimestamp|naturaltime }})</span>
-                {% else %}
-                  <code><pre>{{ v|json_indent }}</pre></code>
-                {% endif %}
-              </dd>
-            {% endfor %}
-          </dl>
-        </div>
-      </div>
-    </div>
-
-    <div class="col col-md-4">
-      <div class="card mt-3">
-        <div class="card-header">Actions</div>
-        <div class="card-body">
-          <form action="{% url 'backoffice:workadventure-map-newsession' pk=object.pk %}"
-                method="post">
-            {% csrf_token %}
-            <input type="text"
-                   class="form-control"
-                   name="username"
-                   value=""
-                   placeholder="username (optional)"
-                   title="empty = you">
-            <button type="submit" class="btn btn-secondary">create new session</button>
-          </form>
-          <hr>
-          <form action="{% url 'backoffice:workadventure-map-sync' pk=object.pk %}"
-                method="post">
-            {% csrf_token %}
-            <input id="cbForce" type="checkbox" name="force" value="1">
-            <label for="cbForce">force (relint)</label>
-            <button type="submit" class="btn btn-secondary">sync</button>
-          </form>
-        </div>
-      </div>
-    </div>
-  </div>
-
-  {% if wa_linter %}
-    <div class="row">
-      <div class="col col-md-12">
-        <div class="card mt-3">
-          <div class="card-header bg-{{ wa_linter.status }}">
-            <span class="float-end small bg-white p-1">
-              preview from <a href="{% url 'backoffice:assembly-room' assembly=room.assembly.id pk=room.id %}"
-    title="maybe 403 for u?">assembly backoffice room page</a>
-            </span>
-            {{ wa_linter.status_title }}
-          </div>
-          <div class="card-body">
-            <p>{{ wa_linter.status_text }}</p>
-            {% include "backoffice/assembly_room_wa_linterblock.html" %}
-          </div>
-        </div>
-      </div>
-    </div>
-  {% endif %}
-
-{% endblock content %}
diff --git a/src/backoffice/templates/backoffice/wa-map-list.html b/src/backoffice/templates/backoffice/wa-map-list.html
deleted file mode 100644
index 018fbe834d19ae72b9cc6de7ae0a177dd18440a4..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/wa-map-list.html
+++ /dev/null
@@ -1,83 +0,0 @@
-{% extends "backoffice/base.html" %}
-{% load i18n %}
-{% load static %}
-
-{% block htmlhead %}
-  <link rel="stylesheet"
-        href="{% static 'vendor/datatables/datatables.min.css' %}">
-{% endblock htmlhead %}
-
-{% block scripts %}
-  <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script nonce="{{ request.csp_nonce }}">
-      $(document).ready(function() {
-          $('#wa-maps').DataTable({
-            pageLength: 100,
-            language: {
-                "decimal":        "",
-                "emptyTable":     "No data available in table",
-                "info":           "{% trans "walist_info_paginated" %}",
-                "infoEmpty":      "{% trans "walist_info_empty" %}",
-                "infoFiltered":   "{% trans "walist_info_filtered" %}",
-                "infoPostFix":    "",
-                "thousands":      " ",
-                "lengthMenu":     "{% trans "walist_paginate_menu" %}",
-                "loadingRecords": "LOADING ...",
-                "processing":     "Processing...",
-                "search":         "{% trans "walist_search" %}",
-                "zeroRecords":    "{% trans "walist_noentries" %}",
-                "paginate": {
-                    "first":      "{% trans "walist_paginate_first" %}",
-                    "last":       "{% trans "walist_paginate_last" %}",
-                    "next":       "{% trans "walist_paginate_next" %}",
-                    "previous":   "{% trans "walist_paginate_previous" %}"
-                },
-                "aria": {
-                    "sortAscending":  ": activate to sort column ascending",
-                    "sortDescending": ": activate to sort column descending"
-                }
-              }
-          });
-      });
-  </script>
-{% endblock scripts %}
-
-{% block content %}
-
-  {% if object_list is not None %}
-    <div class="card mt-3">
-      <div class="card-header">
-        WorkAdventure maps <span class="badge badge-primary">{{ object_list|length }}</span>
-      </div>
-      <table class="card-body table table-hover table-sm table-striped"
-             id="wa-maps">
-        <thead>
-          <tr>
-            <th>Assembly</th>
-            <th>Name</th>
-            <th>State</th>
-            <th>Occupants</th>
-            <th>Capacity</th>
-          </tr>
-        </thead>
-        <tbody>
-          {% for obj in object_list %}
-            <tr>
-              <td>{{ obj.assembly.name }}</td>
-              <td>
-                <a href="{% url 'backoffice:workadventure-map-detail' pk=obj.pk %}">{{ obj.name|default:"-?-" }}</a>
-              </td>
-              <td>
-                <span class="{% if obj.assembly.is_public %}text-success{% else %}text-danger{% endif %}">Assembly</span>
-                {% include "backoffice/_room_backend_status.html" with object=obj backend_status_display="Backend" %}
-                {% include "backoffice/_room_wa_map_status.html" with object=obj display="Map" %}
-              </td>
-              <td>{{ obj.occupants|default:"-" }}</td>
-              <td>{{ obj.capacity|default:"-" }}</td>
-            </tr>
-          {% endfor %}
-        </tbody>
-      </table>
-    </div>
-  {% endif %}
-{% endblock content %}
diff --git a/src/backoffice/templates/backoffice/wa-session-detail.html b/src/backoffice/templates/backoffice/wa-session-detail.html
deleted file mode 100644
index 707fdb23fa5afddca53677091deed55683882e75..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/wa-session-detail.html
+++ /dev/null
@@ -1,154 +0,0 @@
-{% extends "backoffice/base.html" %}
-{% load i18n %}
-
-{% block content %}
-
-  <div class="card mt-3">
-    <div class="card-header">
-      <form method="post"
-            action="{% url 'backoffice:workadventure-session-delete' pk=object.id %}">
-        {% csrf_token %}
-        <input type="hidden" name="terminate" value="1">
-        <button class="btn btn-danger btn-sm ms-3 float-end" type="submit">terminate session</button>
-      </form>
-      <form method="post"
-            action="{% url 'backoffice:workadventure-session-delete' pk=object.id %}">
-        {% csrf_token %}
-        <input type="hidden" name="terminate" value="0">
-        <button class="btn btn-outline-danger btn-sm ms-3 float-end" type="submit">delete session</button>
-      </form>
-      WorkAdventure session {{ object.id }}
-    </div>
-    <div class="card-body">
-
-      <div class="row mb-3">
-        <span class="col-sm-2">User</span>
-        <span class="col-sm-10">{{ object.user }}</span>
-      </div>
-
-      <div class="row mb-3">
-        <span class="col-sm-2">Token</span>
-        <span class="col-sm-10">
-          {% if object.token %}
-            {{ object.token }}
-            <a class="btn btn-secondary btn-sm"
-               href="{{ object.get_token_url }}"
-               {% if object.user != request.user %} onclick="return confirm('This session is not yours. Really really really sure?');"{% endif %}>use token</a>
-          {% else %}
-            <span class="text-muted" style="text-decoration: line-through;">{{ object.additional_data|get_item:"used_token" }}</span>
-          {% endif %}
-        </span>
-      </div>
-
-      <div class="row mb-3">
-        <span class="col-sm-2">Token Expiry</span>
-        <span class="col-sm-10">{{ object.token_expiry }}</span>
-      </div>
-
-      <div class="row mb-3">
-        <span class="col-sm-2">Room</span>
-        <span class="col-sm-10">
-          <span title="{% trans "Assembly" %}">{{ object.room.assembly }}</span>
-          &gt;
-          <a href="{% url 'backoffice:workadventure-map-detail' pk=object.room_id %}">{{ object.room }}</a>
-        </span>
-      </div>
-
-      <div class="row mb-3">
-        <label class="form-label col-sm-2" for="roomMessages">Messages</label>
-        <div class="col-sm-10">
-          <ul>
-            {% for msg in object.messages %}<li>{{ msg }}</li>{% endfor %}
-          </ul>
-        </div>
-      </div>
-
-      <div class="row mb-3">
-        <label class="form-label col-sm-2" for="roomData">Additional Data</label>
-        <div class="col-sm-10">
-          <pre><code>{{ object.additional_data|json_indent }}</code></pre>
-        </div>
-      </div>
-
-    </div>
-  </div>
-
-  <div class="row">
-    <div class="col col-md-6">
-      <div class="card mt-3">
-        <div class="card-header">
-          <form method="post"
-                action="{% url 'backoffice:workadventure-session-pushdata' pk=object.id %}">
-            {% csrf_token %}
-            <button class="btn btn-sm btn-primary float-end"
-                    type="submit"
-                    title="push data to backend">push</button>
-          </form>
-          Export Data (as seen by WA backend)
-        </div>
-        <div class="card-body">
-          {% if exported_data %}
-            <pre><code>{{ exported_data }}</code></pre>
-          {% else %}
-            -/-
-          {% endif %}
-        </div>
-      </div>
-
-    </div>
-    <div class="col col-md-6">
-      <div class="card mt-3">
-        <div class="card-header">Actions (no automatic push!)</div>
-        <div class="card-body">
-          <form method="post"
-                action="{% url 'backoffice:workadventure-session-addmsg' pk=object.id %}">
-            {% csrf_token %}
-
-            <div class="input-group mb-3">
-              <input type="text"
-                     class="form-control"
-                     name="message"
-                     placeholder="Enter text ..."
-                     aria-label="Message to be added"
-                     aria-describedby="btnAddMsg">
-              <button class="btn btn-outline-secondary" type="submit" id="btnAddMsg">add message</button>
-            </div>
-          </form>
-          <hr>
-
-          <form method="post"
-                action="{% url 'backoffice:workadventure-session-setdata' pk=object.id %}">
-            {% csrf_token %}
-
-            <div class="input-group mb-3">
-              <input type="hidden" name="key" value="color">
-              <input type="color"
-                     class="form-control"
-                     name="value"
-                     placeholder="hex color"
-                     aria-label="color to set"
-                     aria-describedby="btnSetColor"
-                     value="{{ exported_data_color }}">
-              <button class="btn btn-outline-secondary" type="submit" id="btnSetColor">set nick color</button>
-            </div>
-          </form>
-          <hr>
-
-          <form method="post"
-                action="{% url 'backoffice:workadventure-session-setdata' pk=object.id %}">
-            {% csrf_token %}
-
-            <div class="input-group mb-3">
-              <span class="input-group-text">key:</span>
-              <input type="text" class="form-control" name="key" placeholder="key">
-              <span class="input-group-text">value:</span>
-              <input type="text" class="form-control" name="value" placeholder="value">
-              <button class="btn btn-outline-secondary" type="submit" id="btnSetData">set data</button>
-            </div>
-          </form>
-        </div>
-      </div>
-    </div>
-  </div>
-
-{% endblock content %}
diff --git a/src/backoffice/templates/backoffice/wa-session-list.html b/src/backoffice/templates/backoffice/wa-session-list.html
deleted file mode 100644
index 51cf08e73ade36ab91cf228c92238e1b21cef1ce..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/wa-session-list.html
+++ /dev/null
@@ -1,51 +0,0 @@
-{% extends "backoffice/base.html" %}
-{% load i18n %}
-
-{% block content %}
-
-  <div class="card mt-3">
-    <div class="card-body">
-      <form action="" method="get" class="form-inline">
-        <div class="form-group">
-          <input type="text"
-                 class="form-control"
-                 name="q"
-                 value="{{ q|default:"" }}"
-                 placeholder="session id (user id), token or username">
-          <button type="submit" class="btn btn-outline-secondary">🔍</button>
-        </div>
-      </form>
-    </div>
-  </div>
-
-  {% if object_list %}
-    <div class="card mt-3">
-      <div class="card-header">
-        WorkAdventure sessions: <code>{{ q }}</code>
-        <span class="badge badge-primary">{{ object_list|length }}</span>
-      </div>
-      <table class="card-body table table-hover table-sm table-striped">
-        <thead>
-          <tr>
-            <th>ID</th>
-            <th>User</th>
-            <th>TODO</th>
-            <th></th>
-          </tr>
-        </thead>
-        <tbody>
-          {% for obj in object_list %}
-            <tr>
-              <td>
-                <a href="{% url 'backoffice:workadventure-session-detail' pk=obj.id %}">{{ obj.id }}</a>
-              </td>
-              <td>{{ obj.user }}</td>
-              <td>-/-</td>
-              <td></td>
-            </tr>
-          {% endfor %}
-        </tbody>
-      </table>
-    </div>
-  {% endif %}
-{% endblock content %}
diff --git a/src/backoffice/templates/backoffice/wa-texture-form.html b/src/backoffice/templates/backoffice/wa-texture-form.html
deleted file mode 100644
index deed0e5d373aee8e7632d9d61d521cd974767b61..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/wa-texture-form.html
+++ /dev/null
@@ -1,103 +0,0 @@
-{% extends "backoffice/base.html" %}
-{% load django_bootstrap5 %}
-{% load i18n %}
-
-{% block content %}
-
-  <div class="card mt-3">
-    <div class="card-header">
-      {% if object.id %}
-        <form action="{% url 'backoffice:workadventure-texture-remove' pk=object.id %}"
-              method="post">
-          {% csrf_token %}
-          <button type="submit" class="btn btn-danger btn-sm float-end">delete</button>
-        </form>
-      {% endif %}
-      WorkAdventure Texture {{ object.id|default:"(NEW)" }}
-    </div>
-    <div class="card-body">
-      <form action="" method="post">
-        {% csrf_token %}
-
-        {% bootstrap_form form %}
-
-        <button type="submit" class="btn btn-primary">Speichern</button>
-      </form>
-    </div>
-  </div>
-
-  {% if object.pk %}
-    <div class="row mb-5">
-      <div class="col col-md-4">
-        <div class="card mt-3">
-          <div class="card-header">assigned users</div>
-          <div class="card-body">
-            <form class="form-inline"
-                  action="{% url 'backoffice:workadventure-texture-user-assign' pk=object.id %}"
-                  method="post">
-              {% csrf_token %}
-              <input type="text" name="username" value="" placeholder="username" required>
-              <button type="submit" class="btn btn-sm btn-outline-success">assign</button>
-            </form>
-            <ul>
-              {% for u in object.assigned_conference_members.all %}
-                <li>
-                  <form class="form-inline"
-                        action="{% url 'backoffice:workadventure-texture-user-remove' pk=object.id %}"
-                        method="post">
-                    {% csrf_token %}
-                    <input type="hidden" name="userid" value="{{ u.user_id }}">
-                    <label>{{ u.user.username }}</label>
-                    <button type="submit" class="btn btn-sm btn-danger ms-3">del</button>
-                  </form>
-                </li>
-              {% endfor %}
-            </ul>
-          </div>
-        </div>
-      </div>
-      <div class="col col-md-4">
-        <div class="card mt-3">
-          <div class="card-header">assigned assemblies</div>
-          <div class="card-body">
-            <form class="form-inline"
-                  action="{% url 'backoffice:workadventure-texture-assembly-assign' pk=object.id %}"
-                  method="post">
-              {% csrf_token %}
-              <input type="text"
-                     name="assembly_slug"
-                     value=""
-                     placeholder="assembly slug"
-                     required>
-              <button type="submit" class="btn btn-sm btn-outline-success">assign</button>
-            </form>
-            <ul>
-              {% for a in object.assigned_assemblies.all %}
-                <li>
-                  <form class="form-inline"
-                        action="{% url 'backoffice:workadventure-texture-assembly-remove' pk=object.id %}"
-                        method="post">
-                    {% csrf_token %}
-                    <input type="hidden" name="assembly" value="{{ a.id }}">
-                    <label title="{{ a.name }}">{{ a.slug }}</label>
-                    <button type="submit" class="btn btn-sm btn-danger ms-3">del</button>
-                  </form>
-                </li>
-              {% endfor %}
-            </ul>
-          </div>
-        </div>
-      </div>
-      <div class="col col-md-4">
-        <div class="card mt-3">
-          <div class="card-header">assigned groups</div>
-          <div class="card-body">
-            <ul>
-              {% for g in object.assigned_groups.all %}<li>{{ g.name }}</li>{% endfor %}
-            </ul>
-          </div>
-        </div>
-      </div>
-    </div>
-  {% endif %}
-{% endblock content %}
diff --git a/src/backoffice/templates/backoffice/wa-texture-list.html b/src/backoffice/templates/backoffice/wa-texture-list.html
deleted file mode 100644
index fa59e034710fac0483e846d069ef2d91fc7fb79f..0000000000000000000000000000000000000000
--- a/src/backoffice/templates/backoffice/wa-texture-list.html
+++ /dev/null
@@ -1,39 +0,0 @@
-{% extends "backoffice/base.html" %}
-{% load i18n %}
-
-{% block content %}
-  <div class="card mt-3">
-    <div class="card-header">
-      <a href="{% url 'backoffice:workadventure-texture-add' %}"
-         class="btn btn-sm btn-secondary float-end">add</a>
-      WorkAdventure Textures
-      <span class="badge badge-primary">{{ object_list|length }}</span>
-    </div>
-    <table class="card-body table table-hover table-sm table-striped">
-      <thead>
-        <tr>
-          <th>number</th>
-          <th>name</th>
-          <th>level</th>
-          <th>rights</th>
-          <th></th>
-        </tr>
-      </thead>
-      <tbody>
-        {% for obj in object_list %}
-          <tr>
-            <td>
-              <a href="{% url 'backoffice:workadventure-texture-edit' pk=obj.id %}">{{ obj.number }}</a>
-            </td>
-            <td>
-              <a href="{% url 'backoffice:workadventure-texture-edit' pk=obj.id %}">{{ obj.name }}</a>
-            </td>
-            <td>{{ obj.level }}</td>
-            <td>{{ obj.rights }}</td>
-            <td></td>
-          </tr>
-        {% endfor %}
-      </tbody>
-    </table>
-  </div>
-{% endblock content %}
diff --git a/src/backoffice/urls.py b/src/backoffice/urls.py
index 43cc00aaf9255fab6617727c66e5186ac0477164..e118e148b8673f9655ac3f7c7156d433bf751b03 100644
--- a/src/backoffice/urls.py
+++ b/src/backoffice/urls.py
@@ -15,7 +15,6 @@ from backoffice.views import (
     schedules,
     vouchers,
     wiki,
-    workadventure,
 )
 from backoffice.views.conferences import (
     ConferencePublicationView,
@@ -152,25 +151,6 @@ urlpatterns = [
     path('self-organized/sessions/<uuid:pk>/delete', events.SoSDeleteView.as_view(), name='sos-delete'),
     path('sos/new', RedirectView.as_view(pattern_name='backoffice:sos-create')),
     path('sos/<uuid:pk>/', RedirectView.as_view(pattern_name='backoffice:sos-edit')),
-    path('wa', workadventure.IndexView.as_view(), name='workadventure'),
-    path('wa/maps', workadventure.MapsView.as_view(), name='workadventure-map-list'),
-    path('wa/map/<uuid:pk>', workadventure.MapView.as_view(), name='workadventure-map-detail'),
-    path('wa/map/<uuid:pk>/new_session', workadventure.MapNewSessionView.as_view(), name='workadventure-map-newsession'),
-    path('wa/map/<uuid:pk>/sync', workadventure.MapSyncView.as_view(), name='workadventure-map-sync'),
-    path('wa/sessions', workadventure.SessionsView.as_view(), name='workadventure-session-list'),
-    path('wa/session/<uuid:pk>', workadventure.SessionView.as_view(), name='workadventure-session-detail'),
-    path('wa/session/<uuid:pk>/pushdata', workadventure.SessionPushDataView.as_view(), name='workadventure-session-pushdata'),
-    path('wa/session/<uuid:pk>/delete', workadventure.SessionDeleteView.as_view(), name='workadventure-session-delete'),
-    path('wa/session/<uuid:pk>/addmsg', workadventure.SessionAddMsgView.as_view(), name='workadventure-session-addmsg'),
-    path('wa/session/<uuid:pk>/setdata', workadventure.SessionSetDataView.as_view(), name='workadventure-session-setdata'),
-    path('wa/textures', workadventure.TexturesView.as_view(), name='workadventure-texture-list'),
-    path('wa/texture/new', workadventure.TextureCreateView.as_view(), name='workadventure-texture-add'),
-    path('wa/texture/<uuid:pk>', workadventure.TextureUpdateView.as_view(), name='workadventure-texture-edit'),
-    path('wa/texture/<uuid:pk>/delete', workadventure.TextureDeleteView.as_view(), name='workadventure-texture-remove'),
-    path('wa/texture/<uuid:pk>/assembly_assign', workadventure.TextureAssemblyAssignView.as_view(), name='workadventure-texture-assembly-assign'),
-    path('wa/texture/<uuid:pk>/assembly_remove', workadventure.TextureAssemblyRemoveView.as_view(), name='workadventure-texture-assembly-remove'),
-    path('wa/texture/<uuid:pk>/user_assign', workadventure.TextureUserAssignView.as_view(), name='workadventure-texture-user-assign'),
-    path('wa/texture/<uuid:pk>/user_remove', workadventure.TextureUserRemoveView.as_view(), name='workadventure-texture-user-remove'),
     path('vouchers', vouchers.VouchersView.as_view(), name='vouchers'),
     path('_boom', misc.BoomView.as_view()),
 ]
diff --git a/src/backoffice/views/assemblies/rooms.py b/src/backoffice/views/assemblies/rooms.py
index e6809f7f008395eb4420e4b39cca733386138d34..2a1444d9e40e030d31000371712ee05e962b8c0f 100644
--- a/src/backoffice/views/assemblies/rooms.py
+++ b/src/backoffice/views/assemblies/rooms.py
@@ -7,11 +7,10 @@ from django.shortcuts import redirect, render
 from django.urls import reverse
 from django.utils.text import format_lazy
 from django.utils.translation import gettext_lazy as _
-from django.utils.translation import gettext_noop
 from django.views.generic import View
 from django.views.generic.edit import CreateView, FormView, UpdateView
 
-from core.integrations import BigBlueButton, Hangar, IntegrationError, WorkAdventure
+from core.integrations import BigBlueButton, Hangar, IntegrationError
 from core.models.conference import ConferenceExportCache, ConferenceMember
 from core.models.events import Event
 from core.models.rooms import Room, RoomLink
@@ -20,10 +19,8 @@ from backoffice.forms import (
     AssemblyRoomCreateBigBlueButtonForm,
     AssemblyRoomCreateGenericForm,
     AssemblyRoomCreateHangarForm,
-    AssemblyRoomCreateWorkAdventureForm,
     AssemblyRoomEditForm,
     AssemblyRoomEditHangarForm,
-    AssemblyRoomEditWorkAdventureForm,
     AssemblyRoomLinkCreateForm,
 )
 from backoffice.views.mixins import AssemblyMixin
@@ -58,33 +55,8 @@ class AssemblyRoomUpdateView(AssemblyMixin, UpdateView):
             ctx['legal_warning'] = _('Room-new-hangar__legal_hint')
             ctx['can_delete'] = False
 
-        if self.object.room_type == Room.RoomType.WORKADVENTURE:
-            ctx.update(WorkAdventure.extract_linter_info(self.object.director_data))
-
         return ctx
 
-    @staticmethod
-    def _i18n_dummy():
-        gettext_noop('Room-workadventure_linter-success')
-        gettext_noop('Room-workadventure_linter-success__title')
-        gettext_noop('Room-workadventure_linter-warning')
-        gettext_noop('Room-workadventure_linter-warning__title')
-        gettext_noop('Room-workadventure_linter-error')
-        gettext_noop('Room-workadventure_linter-error__title')
-        gettext_noop('Room-workadventure_linter-info')
-        gettext_noop('Room-workadventure_linter-info__title')
-        gettext_noop('Room-workadventure_linter-pending')
-        gettext_noop('Room-workadventure_linter-pending__title')
-        gettext_noop('Room-workadventure_linter-unknown')
-        gettext_noop('Room-workadventure_linter-unknown__title')
-
-    def get_template_names(self):
-        tpl = super().get_template_names()
-        if self.object.room_type == Room.RoomType.WORKADVENTURE and self.object.name:
-            return 'backoffice/assembly_room_wa.html'
-
-        return tpl
-
     def get_object(self, *args, **kwargs):
         room = super().get_object(*args, **kwargs)
         if not Room.type_is(room):  # pragma: no cover
@@ -100,10 +72,6 @@ class AssemblyRoomUpdateView(AssemblyMixin, UpdateView):
         }
 
     def get_form(self, *args, **kwargs):
-        if self.object.room_type == Room.RoomType.WORKADVENTURE:
-            # keeping the form readonly. To make it writeable, do `return EditAssemblyRoomWorkAdventureForm(**self.get_form_kwargs())``
-            return AssemblyRoomEditWorkAdventureForm(instance=self.object)
-
         if self.object.room_type == Room.RoomType.HANGAR:
             # keeping the form readonly. To make it writeable, do `return EditAssemblyRoomHangarForm(**self.get_form_kwargs())``
             return AssemblyRoomEditHangarForm(instance=self.object)
@@ -149,13 +117,6 @@ class AssemblyRoomCreateView(AssemblyMixin, FormView):
 
             return AssemblyRoomCreateBigBlueButtonForm(self.request.POST, assembly=self.assembly)
 
-        if self.room_type == Room.RoomType.WORKADVENTURE:
-            if WorkAdventure is None or not WorkAdventure.can_create_for_assembly(self.assembly):
-                messages.error(self.request, 'WA not available')
-                raise RoomNotAvailableError
-
-            return AssemblyRoomCreateWorkAdventureForm(self.request.POST, assembly=self.assembly)
-
         if self.room_type == Room.RoomType.HANGAR:
             if Hangar is None or not Hangar.can_create_for_assembly(self.assembly):
                 messages.error(self.request, 'Hangar not available')
@@ -179,14 +140,12 @@ class AssemblyRoomCreateView(AssemblyMixin, FormView):
             ctx['rooms_available'] = rooms_available = {k[0]: True for k in Room.RoomType.choices}
             rooms_available.update(
                 {
-                    'workadventure': WorkAdventure is not None and WorkAdventure.can_create_for_assembly(self.assembly),
                     'bbb': BigBlueButton is not None and BigBlueButton.can_create_for_assembly(self.assembly),
                     'hangar': Hangar is not None and Hangar.can_create_for_assembly(self.assembly),
                 }
             )
             ctx['support_bbb'] = settings.INTEGRATIONS_BBB
             ctx['support_hangar'] = settings.INTEGRATIONS_HANGAR
-            ctx['support_wa'] = settings.INTEGRATIONS_WORKADVENTURE
 
         elif self.room_type == Room.RoomType.HANGAR:
             ctx['legal_warning'] = _('Room-new-hangar__legal_hint')
diff --git a/src/backoffice/views/assemblyteam.py b/src/backoffice/views/assemblyteam.py
index 6cfa8ab7eff843770e983ce6d42dd18a6ae4f74f..3afb1391cca3ad9df37b8020704b0bd93ebee5ff 100644
--- a/src/backoffice/views/assemblyteam.py
+++ b/src/backoffice/views/assemblyteam.py
@@ -16,7 +16,7 @@ from django.utils.translation import gettext
 from django.utils.translation import gettext_lazy as _
 from django.views.generic import DetailView, FormView, View
 
-from core.models import ActivityLogChange, ActivityLogEntry, Room
+from core.models import ActivityLogChange, ActivityLogEntry
 from core.models.assemblies import Assembly, AssemblyMember
 from core.models.conference import ConferenceExportCache
 from core.models.users import UserCommunicationChannel
@@ -344,22 +344,13 @@ class AssembliesListsView(AssembliesListMixin):
         return (qs, variant_name, variant_fields)
 
     def prepare_slug_name(self, *args, **kwargs):
-        def wa_room_status(a):
-            try:
-                r = a.rooms.get(room_type=Room.RoomType.WORKADVENTURE)
-                return 'x' if not r.blocked else 'b'
-            except Room.DoesNotExist:
-                return ''
-            except Room.MultipleObjectsReturned:
-                return '+'
-
         # all assemblies with slug + name + related assemblies
         qs = tuple(
-            (a.slug, a.name, a.parent, ', '.join(link.b.slug for link in a.assembly_links.all()), wa_room_status(a))
+            (a.slug, a.name, a.parent, ', '.join(link.b.slug for link in a.assembly_links.all()))
             for a in self.get_queryset().prefetch_related('assembly_links')
         )
-        variant_name = 'slug, name, parent, link, wa'
-        variant_fields = [_('Assembly__slug'), _('Assembly__name'), _('Assembly__parent'), _('assembly_links'), _('Room__type-workadventure')]
+        variant_name = 'slug, name, parent, link'
+        variant_fields = [_('Assembly__slug'), _('Assembly__name'), _('Assembly__parent'), _('assembly_links')]
         return (qs, variant_name, variant_fields)
 
     def get(self, *args, **kwargs):
diff --git a/src/backoffice/views/badges/badges.py b/src/backoffice/views/badges/badges.py
index e3a4250592cefa6ca052c737aca1ba1ed0bcd434..63d39d4a09c317c6a5cdbbcca130814a8bd5c0dc 100644
--- a/src/backoffice/views/badges/badges.py
+++ b/src/backoffice/views/badges/badges.py
@@ -1,7 +1,6 @@
 import logging
 from typing import Any
 
-from django.conf import settings
 from django.contrib import messages
 from django.shortcuts import get_object_or_404, redirect
 from django.urls import reverse
@@ -49,7 +48,6 @@ class BadgeUpdateView(BadgeFormMixin, UpdateView):
     def get_context_data(self, *args, **kwargs):
         ctx = super().get_context_data(*args, **kwargs)
         ctx['assign_form'] = BadgeAssignForm()
-        ctx['has_wa_integration'] = settings.INTEGRATIONS_WORKADVENTURE not in [None, '', 0]
         return ctx
 
     def form_valid(self, form):
diff --git a/src/backoffice/views/mixins.py b/src/backoffice/views/mixins.py
index 42fa2548aaa36121098fc4b6e06dc56f2bd4552f..f03b7c9a1edb26e329d803d950c0d1e88adf79ca 100644
--- a/src/backoffice/views/mixins.py
+++ b/src/backoffice/views/mixins.py
@@ -94,8 +94,6 @@ class ConferenceRequiredMixinBase:
                     'has_conference_admin': self.conferencemember.has_perms('core.conference_admin', require_staff=True),
                     'has_moderation': self.conferencemember.has_perms('core.moderation', require_staff=True),
                     'has_schedules': self.conferencemember.has_perms('core.scheduleadmin', require_staff=True),
-                    'has_workadventure': settings.INTEGRATIONS_WORKADVENTURE
-                    and self.conferencemember.has_perms('core.workadventure_admin', require_staff=True),
                 }
             )
         else:
@@ -108,7 +106,6 @@ class ConferenceRequiredMixinBase:
                     'has_conference_admin': False,
                     'has_moderation': False,
                     'has_schedules': False,
-                    'has_workadventure': False,
                 }
             )
 
diff --git a/src/backoffice/views/moderation/users.py b/src/backoffice/views/moderation/users.py
index c606e1fb25bd0ea82ee6a19ae1becc3425f7a516..d4580d09a7b2130be1e3fab590309bf7aa207ce0 100644
--- a/src/backoffice/views/moderation/users.py
+++ b/src/backoffice/views/moderation/users.py
@@ -2,7 +2,6 @@ import logging
 
 from oauth2_provider.models import AccessToken
 
-from django.conf import settings
 from django.contrib import messages
 from django.contrib.sessions.exceptions import SuspiciousSession
 from django.contrib.sessions.models import Session
@@ -10,7 +9,6 @@ from django.http import HttpRequest
 from django.shortcuts import redirect
 from django.views.generic import DetailView, ListView
 
-from core.integrations.workadventure import WorkAdventureIntegration
 from core.models import BulletinBoardEntry, DirectMessage, PlatformUser
 
 from backoffice.views.moderation.mixins import ModerationAdminMixin
@@ -73,25 +71,6 @@ class ModerationUserDetailView(ModerationAdminMixin, DetailView):
         else:
             messages.info(self.request, 'No sessions to delete o.O')
 
-        if settings.INTEGRATIONS_WORKADVENTURE:
-            terminated_wa_sessions = 0
-            deleted_wa_sessions = 0
-            for wa_session in user.workadventure_sessions.all():
-                try:
-                    res = WorkAdventureIntegration.terminate_session(wa_session)
-                    if not res['_errors']:
-                        terminated_wa_sessions += 1
-                except Exception:
-                    logger.exception('Failed to terminate WA session %(wa_session_id)s', {'wa_session_id', wa_session.id})
-                finally:
-                    wa_session.delete()
-                    deleted_wa_sessions += 1
-
-            if deleted_wa_sessions > 0:
-                messages.info(self.request, f'Deleted {deleted_wa_sessions} WorkAdventure sessions, {terminated_wa_sessions} were successfully terminated.')
-            else:
-                messages.info(self.request, 'No WA sessions to delete.')
-
     def post(self, request, *args, **kwargs):
         user = self.get_object()
         action = request.POST.get('action')
diff --git a/src/backoffice/views/workadventure.py b/src/backoffice/views/workadventure.py
deleted file mode 100644
index 985857aa72d0001685cb9da8e76c1599b72e3bab..0000000000000000000000000000000000000000
--- a/src/backoffice/views/workadventure.py
+++ /dev/null
@@ -1,520 +0,0 @@
-import json
-import logging
-from uuid import UUID
-
-from django.conf import settings
-from django.contrib import messages
-from django.core.exceptions import ValidationError
-from django.db.models import Q
-from django.http import HttpResponseRedirect
-from django.shortcuts import redirect, render
-from django.urls import reverse
-from django.utils.html import format_html
-from django.utils.translation import gettext_lazy as _
-from django.views.generic import CreateView, DeleteView, DetailView, ListView, TemplateView, UpdateView, View
-from django.views.generic.detail import SingleObjectMixin
-
-from core.integrations.workadventure import WorkAdventureIntegration
-from core.models import Assembly, ConferenceMember, PlatformUser
-from core.models.rooms import Room
-from core.models.workadventure import WorkadventureSession, WorkadventureTexture
-
-from backoffice.forms import CreateWorkadventureTextureForm
-from backoffice.views.mixins import ConferenceLoginRequiredMixin, guess_active_sidebar_item
-
-logger = logging.getLogger(__name__)
-MAX_ROWS = 42
-
-
-class WorkAdventureAdminMixin(ConferenceLoginRequiredMixin):
-    permission_required = ['core.workadventure_admin']
-
-    BACKEND_STATUS = {
-        'all': (Q(room_type=Room.RoomType.WORKADVENTURE), 'all'),
-        'new': (Q(room_type=Room.RoomType.WORKADVENTURE, backend_status=Room.BackendStatus.NEW), _('Room__backend_status-new')),
-        'setup': (Q(room_type=Room.RoomType.WORKADVENTURE, backend_status=Room.BackendStatus.SETUP), _('Room__backend_status-setup')),
-        'error': (Q(room_type=Room.RoomType.WORKADVENTURE, backend_status=Room.BackendStatus.ERROR), _('Room__backend_status-error')),
-        'active': (Q(room_type=Room.RoomType.WORKADVENTURE, backend_status=Room.BackendStatus.ACTIVE), _('Room__backend_status-active')),
-        'inactive': (Q(room_type=Room.RoomType.WORKADVENTURE, backend_status=Room.BackendStatus.INACTIVE), _('Room__backend_status-inactive')),
-        'full': (Q(room_type=Room.RoomType.WORKADVENTURE, backend_status=Room.BackendStatus.FULL), _('Room__backend_status-full')),
-    }
-
-    def get_context_data(self, *args, **kwargs):
-        if not settings.INTEGRATIONS_WORKADVENTURE:
-            messages.warning(self.request, 'WorkAdventure integration NOT active!')
-
-        context = super().get_context_data(*args, **kwargs)
-        context['active_page'] = 'workadventure'
-
-        maps = []
-        context['sidebar'] = {
-            'title': 'WorkAdventure',
-            'title_link': reverse('backoffice:workadventure'),
-            'items': [
-                {
-                    'caption': _('wa_maps'),
-                    'children': maps,
-                    'expanded': True,
-                },
-                {
-                    'caption': _('wa_sessions'),
-                    'link': reverse('backoffice:workadventure-session-list'),
-                    'expanded': False,
-                    'count': self.conference.workadventure_sessions.count(),
-                },
-                {
-                    'caption': _('wa_textures'),
-                    'link': reverse('backoffice:workadventure-texture-list'),
-                    'expanded': False,
-                    'count': self.conference.workadventure_textures.count(),
-                },
-            ],
-        }
-
-        for m, (q, t) in self.BACKEND_STATUS.items():
-            maps.append(
-                {
-                    'caption': t,
-                    'count': self.conference.rooms.filter(q).count(),
-                    'link': reverse('backoffice:workadventure-map-list') + '?mode=' + m,
-                }
-            )
-
-        # try to guess 'active' sidebar item
-        guess_active_sidebar_item(self.request, context['sidebar']['items'], with_query_string=True)
-
-        return context
-
-
-class IndexView(WorkAdventureAdminMixin, TemplateView):
-    template_name = 'backoffice/wa-index.html'
-
-    def post(self, request):
-        ctx = self.get_context_data()
-        ctx['results'] = {}
-
-        if request.POST.get('push_backend_maps'):
-            result = WorkAdventureIntegration.push_maps(self.conference)
-            ctx['results']['Push Maps to Backend'] = result
-
-        if request.POST.get('push_userinfo'):
-            wa_session_id = request.POST.get('wa_session_id', '').strip()
-            try:
-                wa_session = WorkadventureSession.objects.get(conference=self.conference, pk=wa_session_id)
-                result = WorkAdventureIntegration.push_userinfo_session(wa_session)
-                ctx['results']['Push Userinfo'] = result
-
-            except ValidationError as err:
-                ctx['results']['Push Userinfo'] = {'_errors': [f'COULD NOT PARSE WA_SESSION_ID/USER_UUID: {err}']}
-
-            except WorkadventureSession.DoesNotExist:
-                ctx['results']['Push Userinfo'] = {'_errors': [f'UNKNOWN SESSION ID: "{wa_session_id}"']}
-
-            except Exception as err:
-                ctx['results']['Push Userinfo'] = {'_errors': [f'UNEXPECTED ERROR: "{err}"']}
-
-        if request.POST.get('sync_maps'):
-            force = request.POST.get('force') == '1'
-            result = WorkAdventureIntegration.trigger_maps_synchronization(self.conference, force=force)
-            ctx['results']['MapService: Sync Maps' + (' (force)' if force else '')] = result
-
-        if request.POST.get('mapservice_loglevel'):
-            result = WorkAdventureIntegration.set_mapservice_loglevel(self.conference, request.POST.get('loglevel', '').strip())
-            ctx['results']['MapService: Set Log Level'] = result
-
-        return render(request, self.get_template_names(), ctx)
-
-
-class WorkAdventureMapMixin(WorkAdventureAdminMixin):
-    model = Room
-
-    def get_queryset(self):
-        qs = super().get_queryset()
-        qs = qs.filter(conference=self.conference, room_type=Room.RoomType.WORKADVENTURE)
-        return qs
-
-    def get_context_data(self, *args, **kwargs):
-        ctx = super().get_context_data(*args, **kwargs)
-        if 'room' in ctx:
-            ctx.update(WorkAdventureIntegration.extract_linter_info(ctx['room'].director_data))
-        return ctx
-
-
-class WorkAdventureSessionMixin(WorkAdventureAdminMixin):
-    model = WorkadventureSession
-
-    def get_queryset(self):
-        qs = super().get_queryset()
-        qs = qs.filter(conference=self.conference)
-        return qs
-
-
-class WorkAdventureTextureMixin(WorkAdventureAdminMixin):
-    model = WorkadventureTexture
-
-    def get_queryset(self):
-        qs = super().get_queryset()
-        qs = qs.filter(conference=self.conference)
-        return qs
-
-
-class MapsView(WorkAdventureMapMixin, ListView):
-    template_name = 'backoffice/wa-map-list.html'
-    default_backend_status = 'all'
-
-    def get_queryset(self, *args, **kwargs):
-        qs = super().get_queryset(*args, **kwargs).select_related('assembly').order_by('assembly__slug', 'slug')
-
-        backend_status = (self.request.POST if self.request.method == 'POST' else self.request.GET).get('mode', self.default_backend_status)
-        if backend_status in self.BACKEND_STATUS:
-            qs = qs.filter(self.BACKEND_STATUS[backend_status][0])
-        else:
-            messages.warning(self.request, f'unknown mode "{backend_status}", using "all"')
-            backend_status = 'all'
-        self.backend_status = backend_status
-
-        return qs
-
-
-class MapView(WorkAdventureMapMixin, DetailView):
-    template_name = 'backoffice/wa-map-detail.html'
-
-    def post(self, request, *args, **kwargs):
-        post = request.POST
-        room = self.get_object()
-
-        if post.get('backend_link'):
-            room.backend_link = post['backend_link']
-            room.backend_link_branch = post['backend_link_branch']
-            room.save(update_fields=['backend_link', 'backend_link_branch'])
-            messages.success(self.request, 'Backend link and/or branch changed for: ' + room.name)
-            logger.info('WA room %s repository changed to %s (%s) by %s.', room.id, room.backend_link, room.backend_link_branch, self.request.user)
-        if post.get('submit_backend_exit_url'):
-            if room.backend_data is None:
-                room.backend_data = {}
-            room.backend_data['exit_url'] = post['backend_exit_url']
-            room.save(update_fields=['backend_data'])
-
-        return redirect('backoffice:workadventure-map-detail', pk=room.pk)
-
-
-class MapNewSessionView(WorkAdventureMapMixin, SingleObjectMixin, View):
-    def post(self, request, *args, **kwargs):
-        u = PlatformUser.objects.filter(conferences__conference=self.conference, username__iexact=request.POST.get('username')).first()
-        sess = WorkadventureSession.create_for_conference_user(
-            conference=self.conference,
-            user=u if u is not None else request.user,
-            room=self.get_object(),
-        )
-        messages.success(request, f'+WorkAdventureSession "{sess.id}"')
-        return redirect('backoffice:workadventure-session-detail', pk=sess.id)
-
-
-class MapSyncView(WorkAdventureMapMixin, SingleObjectMixin, View):
-    def post(self, request, *args, **kwargs):
-        room = self.get_object()
-        force = request.POST.get('force') == '1'
-        try:
-            res = WorkAdventureIntegration.trigger_map_synchronization(room, force)
-            msg = format_html(
-                '<strong>sync room {id} (force={force}):</strong><br><pre class="small">{res}</pre>',
-                id=room.pk,
-                force=force,
-                res=json.dumps(res, indent=2),
-            )
-            if res.get('_errors'):
-                messages.error(request, msg)
-            else:
-                messages.success(request, msg)
-        except Exception as err:
-            messages.error(
-                request,
-                format_html(
-                    '<strong>sync room {id} (force={force}):</strong><br><pre class="small">{err}</pre>',
-                    id=room.pk,
-                    force=force,
-                    err=err,
-                ),
-            )
-
-        return redirect('backoffice:workadventure-map-detail', pk=room.pk)
-
-
-class SessionsView(WorkAdventureSessionMixin, ListView):
-    template_name = 'backoffice/wa-session-list.html'
-
-    def get_queryset(self):
-        qs = super().get_queryset()
-
-        q = self.request.GET.get('q')
-        if not q:
-            return qs.none()
-
-        query = Q(token=q) | Q(additional_data__used_token=q)
-        try:
-            u = UUID(q)
-            query |= Q(pk=u)
-            query |= Q(additional_data__previous=q)
-        except ValueError:
-            query |= Q(user__username__icontains=q)
-
-        return qs.filter(query)
-
-    def get_context_data(self, *args, **kwargs):
-        ctx = super().get_context_data(*args, **kwargs)
-        ctx['q'] = self.request.GET.get('q')
-        return ctx
-
-
-class SessionView(WorkAdventureSessionMixin, DetailView):
-    template_name = 'backoffice/wa-session-detail.html'
-
-    def get_object(self, queryset=None):
-        obj = super().get_object(queryset=queryset)
-        if obj.conference_id != self.conference.pk:
-            raise WorkadventureSession.DoesNotExist('Conflicting conference.')
-        return obj
-
-    def get_context_data(self, *args, **kwargs):
-        ctx = super().get_context_data(*args, **kwargs)
-        try:
-            export = ctx['object'].export_userdata(clear_messages=False)
-            ctx['exported_data'] = json.dumps(export, indent=2)
-            ctx['exported_data_color'] = export.get('color')
-
-        except ConferenceMember.DoesNotExist:
-            ctx['exported_data'] = '/* NO CONFERENCE MEMBER */'
-            ctx['exported_data_color'] = '#FF0000'
-
-        return ctx
-
-
-class SessionPushDataView(SessionView):
-    def post(self, request, *args, **kwargs):
-        try:
-            obj = self.get_object()
-
-            res = WorkAdventureIntegration.push_userinfo_session(obj)
-            msg = format_html(
-                '<strong>push userinfo {id} to backend:</strong><br><pre class="small">{res}</pre>',
-                id=obj.pk,
-                res=json.dumps(res, indent=2),
-            )
-            if res.get('_errors'):
-                messages.error(request, msg)
-            else:
-                messages.success(request, msg)
-        except Exception as err:
-            messages.error(request, format_html('<strong>push userinfo general failure:</strong><br><pre class="small">{err}</pre>', err=err))
-
-        return redirect('backoffice:workadventure-session-detail', pk=obj.pk)
-
-
-class SessionDeleteView(SessionView):
-    def post(self, request, *args, **kwargs):
-        obj = self.get_object()
-        if obj is not None:
-            obj_id = str(obj.pk)
-            try:
-                if request.POST.get('terminate', '0') == '1':
-                    res = WorkAdventureIntegration.terminate_session(obj)
-                    msg = format_html(
-                        '<strong>termination of WA session {id} in backend:</strong><br><pre class="small">{res}</pre>',
-                        id=obj_id,
-                        res=json.dumps(res, indent=2),
-                    )
-                    if res.get('_errors'):
-                        messages.error(request, msg)
-                        return HttpResponseRedirect(reverse('backoffice:workadventure-session-detail', kwargs={'pk': obj.pk}))
-
-                    messages.info(request, msg)
-
-                try:
-                    obj.delete()
-                    messages.success(request, 'WA session deleted: ' + obj_id)
-                except Exception:
-                    logger.exception('WA session deletion failure')
-                    messages.success(request, 'WA session deletion failure (' + obj_id + ')')
-
-            except Exception as err:
-                messages.error(
-                    request,
-                    format_html(
-                        '<strong>delete session: general failure</strong> ({id})<br><pre class="small">{err}</pre>',
-                        err=err,
-                        id=obj_id,
-                    ),
-                )
-
-        else:
-            messages.warning(request, 'session was already deleted.')
-
-        return HttpResponseRedirect(reverse('backoffice:workadventure-session-list') + ('?q=' + obj.user.username) if obj else '')
-
-
-class SessionAddMsgView(WorkAdventureSessionMixin, SingleObjectMixin, View):
-    def post(self, request, *args, **kwargs):
-        sess = self.get_object()
-        msg = request.POST.get('message').strip()
-
-        if msg:
-            sess.messages.append(msg)
-            sess.save(update_fields=['messages'])
-            messages.success(request, 'Nachricht angefügt.')
-        else:
-            messages.warning(request, 'Keine Nachricht angegeben.')
-
-        return redirect('backoffice:workadventure-session-detail', pk=sess.id)
-
-
-class SessionSetDataView(WorkAdventureSessionMixin, SingleObjectMixin, View):
-    def post(self, request, *args, **kwargs):
-        sess = self.get_object()
-        key = request.POST.get('key', '').strip()
-        value = request.POST.get('value', '').strip()
-
-        if key == '':
-            messages.error(request, 'Kein Key angegeben.')
-            return redirect('backoffice:workadventure-session-detail', pk=sess.id)
-
-        if key in ['previous', 'tags']:
-            value = [x.strip() for x in value.split(',')]
-
-        if sess.additional_data is None:
-            sess.additional_data = {}
-
-        sess.additional_data[key] = value
-        sess.save(update_fields=['additional_data'])
-        messages.success(request, 'Daten aktualisiert: ' + key)
-
-        return redirect('backoffice:workadventure-session-detail', pk=sess.id)
-
-
-class TexturesView(WorkAdventureTextureMixin, ListView):
-    template_name = 'backoffice/wa-texture-list.html'
-
-
-class TextureCreateView(WorkAdventureTextureMixin, CreateView):
-    form_class = CreateWorkadventureTextureForm
-    template_name = 'backoffice/wa-texture-form.html'
-
-    def get_form_kwargs(self):
-        kwargs = super().get_form_kwargs()
-        kwargs['conference'] = self.conference
-        return kwargs
-
-    def get_success_url(self):
-        return reverse('backoffice:workadventure-texture-edit', kwargs={'pk': self.object.pk})
-
-
-class TextureUpdateView(WorkAdventureTextureMixin, UpdateView):
-    fields = ['number', 'name', 'level', 'url', 'rights', 'additional_fields']
-    template_name = 'backoffice/wa-texture-form.html'
-
-    def get_success_url(self):
-        return reverse('backoffice:workadventure-texture-edit', kwargs={'pk': self.object.pk})
-
-
-class TextureDeleteView(WorkAdventureTextureMixin, DeleteView):
-    model = WorkadventureTexture
-    template_name = 'backoffice/wa-texture-form.html'
-
-    def get_success_url(self):
-        msg = f'texture {self.object.number} "{self.object.name}" deleted (id {self.object.id})'
-        logger.info(
-            'texture %(number)s "%(name)s" deleted (id %(id)s) by %(user)s.',
-            {
-                'number': self.object.number,
-                'name': self.object.name,
-                'id': self.object.id,
-                'user': self.request.user.username,
-            },
-        )
-        messages.success(self.request, msg)
-        return reverse('backoffice:workadventure-texture-list')
-
-
-class TextureUserAssignView(WorkAdventureTextureMixin, SingleObjectMixin, View):
-    def post(self, request, *args, **kwargs):
-        obj = self.get_object()
-        username = request.POST.get('username')
-
-        try:
-            cm = self.conference.users.get(user__username__iexact=username)
-        except ConferenceMember.DoesNotExist:
-            messages.error(request, f'no such user in conference: {username}')
-            return redirect('backoffice:workadventure-texture-edit', pk=obj.pk)
-
-        try:
-            obj.assigned_conference_members.add(cm)
-            logger.info('%s assigned texture %s to user %s', self.request.user.username, obj.id, username)
-            messages.success(request, f'assigned texture to user {username}')
-        except Exception as err:
-            messages.error(request, f'could not assign user "{username}" to texture: {err}')
-
-        return redirect('backoffice:workadventure-texture-edit', pk=obj.pk)
-
-
-class TextureUserRemoveView(WorkAdventureTextureMixin, SingleObjectMixin, View):
-    def post(self, request, *args, **kwargs):
-        obj = self.get_object()
-        user_id = request.POST.get('userid')
-
-        try:
-            cm = self.conference.users.get(user_id=user_id)
-        except ConferenceMember.DoesNotExist:
-            messages.error(request, f'user (id {user_id}) not found?!')
-            logger.error('WA texture %(pk)s remove user id %(user_id)s: not found in conference', {'pk': obj.pk, 'user_id': user_id})
-            return redirect('backoffice:workadventure-texture-edit', pk=obj.pk)
-
-        try:
-            obj.assigned_conference_members.remove(cm)
-            logger.info('%s removed texture %s from user %s', self.request.user.username, obj.id, cm.user.username)
-            messages.success(request, f'removed texture from user {cm.user.username}')
-        except Exception as err:
-            messages.error(request, f'could not remove user "{cm.user.username}" from texture: {err}')
-
-        return redirect('backoffice:workadventure-texture-edit', pk=obj.pk)
-
-
-class TextureAssemblyAssignView(WorkAdventureTextureMixin, SingleObjectMixin, View):
-    def post(self, request, *args, **kwargs):
-        obj = self.get_object()
-        assembly_slug = request.POST.get('assembly_slug')
-
-        try:
-            a = self.conference.assemblies.get(slug__iexact=assembly_slug)
-        except Assembly.DoesNotExist:
-            messages.error(request, f'no such assembly in conference: {assembly_slug}')
-            return redirect('backoffice:workadventure-texture-edit', pk=obj.pk)
-
-        try:
-            obj.assigned_assemblies.add(a)
-            logger.info('%s assigned texture %s to assembly %s (%s)', self.request.user.username, obj.id, a.slug, a.id)
-            messages.success(request, f'assigned texture to assembly {assembly_slug}')
-        except Exception as err:
-            messages.error(request, f'could not assign assembly "{assembly_slug}" to texture: {err}')
-
-        return redirect('backoffice:workadventure-texture-edit', pk=obj.pk)
-
-
-class TextureAssemblyRemoveView(WorkAdventureTextureMixin, SingleObjectMixin, View):
-    def post(self, request, *args, **kwargs):
-        obj = self.get_object()
-        assembly_id = request.POST.get('assembly')
-
-        try:
-            a = self.conference.assemblies.get(id=assembly_id)
-        except Assembly.DoesNotExist:
-            messages.error(request, f'assembly {assembly_id} not found?!')
-            logger.error('WA texture %(obj_id)s remove assembly id %(assembly)s: not found in conference', {'obj_id': obj.id, 'assembly': assembly_id})
-            return redirect('backoffice:workadventure-texture-edit', pk=obj.pk)
-
-        try:
-            obj.assigned_assemblies.remove(a)
-            logger.info('%s removed texture %s from assembly %s (%s)', self.request.user.username, obj.id, a.slug, a.id)
-            messages.success(request, f'removed texture from assembly {a.slug}')
-        except Exception as err:
-            messages.error(request, f'could not remove assembly "{a.slug}" from texture: {err}')
-
-        return redirect('backoffice:workadventure-texture-edit', pk=obj.pk)
diff --git a/src/core/abuse.py b/src/core/abuse.py
index 3b2ed818b4773a0a4f739336d358fb00b41b1fa7..632b663e51fe6d7231f5074deb67dcfda92ff001 100644
--- a/src/core/abuse.py
+++ b/src/core/abuse.py
@@ -14,13 +14,8 @@ REPORT_CATEGORIES = {
     'content': (_('abuse_report_category-content'), 'Content', settings.ABUSE_RECIPIENTS.get('content', settings.ABUSE_DEFAULT_RECIPIENT)),
     'person': (_('abuse_report_category-person'), 'Person', settings.ABUSE_RECIPIENTS.get('person', settings.ABUSE_DEFAULT_RECIPIENT)),
     'tech': (_('abuse_report_category-tech'), 'Technical', settings.ABUSE_RECIPIENTS.get('tech', settings.ABUSE_DEFAULT_RECIPIENT)),
-    'map': (_('abuse_report_category-map'), 'Map', settings.ABUSE_RECIPIENTS.get('map', settings.ABUSE_DEFAULT_RECIPIENT)),
     'unknown': (_('abuse_report_category-misc'), 'Unknown', settings.ABUSE_RECIPIENTS.get('unknown', settings.ABUSE_DEFAULT_RECIPIENT)),
 }
-# remove 'map' category if WA is not configured
-if not settings.INTEGRATIONS_WORKADVENTURE and 'map' in REPORT_CATEGORIES:
-    del REPORT_CATEGORIES['map']
-
 EMAIL_TEMPLATE_NAME = 'core/report_mail_body.txt'
 
 
diff --git a/src/core/admin.py b/src/core/admin.py
index fdf60ba0407d7521172184c291c80ead7929edc3..a6fa21b289312ac60a0a25b90c2038d877a008f4 100644
--- a/src/core/admin.py
+++ b/src/core/admin.py
@@ -56,8 +56,6 @@ from .models import (
     UserDereferrerAllowlist,
     Voucher,
     VoucherEntry,
-    WorkadventureSession,
-    WorkadventureTexture,
 )
 
 logger = logging.getLogger(__name__)
@@ -163,7 +161,7 @@ class PlatformUserAdmin(UserAdmin):
     fieldsets = (
         (None, {'fields': ('username', 'slug', 'password', 'user_type', 'timezone')}),
         ('Personal info', {'fields': ('first_name', 'last_name', 'display_name', 'email')}),
-        ('Self Portrayal', {'fields': (('pronouns', 'show_name'), ('status', 'status_public'), ('avatar', 'avatar_url', 'avatar_config'))}),
+        ('Self Portrayal', {'fields': (('pronouns', 'show_name'), ('status', 'status_public'), ('avatar', 'avatar_url'))}),
         ('Accessibility', {'fields': ('theme', 'no_animations', 'colorblind', 'high_contrast', 'tag_ignorelist')}),
         ('Disturbance Settings', {'fields': ('receive_dms', 'receive_dm_images', 'receive_audio', 'receive_video', 'autoaccept_contacts')}),
         ('Permissions', {'fields': ('is_active', 'shadow_banned', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
@@ -568,13 +566,13 @@ class BadgeTokenTimeConstraintInline(admin.TabularInline):
 class BadgeTokenAdmin(admin.ModelAdmin):
     model = BadgeToken
 
-    fields = ['badge', 'issued', 'active', 'comment', 'map_token', 'redeemable_count', 'users_list']
+    fields = ['badge', 'issued', 'active', 'comment', 'redeemable_count', 'users_list']
     readonly_fields = ['issued', 'users_list']
     inlines = [
         BadgeTokenTimeConstraintInline,
     ]
 
-    list_display = ['__str__', 'valid', 'active', 'comment', 'map_token', 'redeemable_count', 'redeemed_count', 'time_constraints_list']
+    list_display = ['__str__', 'valid', 'active', 'comment', 'redeemable_count', 'redeemed_count', 'time_constraints_list']
     list_display_links = ['__str__']
 
     def valid(self, obj):
@@ -1196,5 +1194,3 @@ admin.site.register(StaticPageNamespace, StaticPageNamespaceAdmin)
 admin.site.register(StaticPageRevision, StaticPageRevisionAdmin)
 admin.site.register(Voucher, VoucherAdmin)
 admin.site.register(VoucherEntry, VoucherEntryAdmin)
-admin.site.register(WorkadventureSession)
-admin.site.register(WorkadventureTexture)
diff --git a/src/core/integrations/__init__.py b/src/core/integrations/__init__.py
index ab02f4673572fe5982890df6dacc4588717d7d35..08ee09711c02d8989e114b5e6205c1b2f3b9ba51 100644
--- a/src/core/integrations/__init__.py
+++ b/src/core/integrations/__init__.py
@@ -3,7 +3,6 @@ from django.conf import settings
 from .bigbluebutton import BigBlueButtonIntegration
 from .error import IntegrationError
 from .rc3hangar import HangarIntegration
-from .workadventure import WorkAdventureIntegration
 
 if settings.BIGBLUEBUTTON_API_URL is not None:
     BigBlueButton = BigBlueButtonIntegration(
@@ -20,12 +19,9 @@ if settings.HANGAR_URL is not None:
 else:
     Hangar = None
 
-WorkAdventure = WorkAdventureIntegration()
-
 
 __all__ = [
     'BigBlueButton',
     'Hangar',
     'IntegrationError',
-    'WorkAdventure',
 ]
diff --git a/src/core/integrations/workadventure.py b/src/core/integrations/workadventure.py
deleted file mode 100644
index ac709e0a4cc22192449485aa9438672847aa181f..0000000000000000000000000000000000000000
--- a/src/core/integrations/workadventure.py
+++ /dev/null
@@ -1,326 +0,0 @@
-import contextlib
-import logging
-from json import JSONDecodeError
-
-import requests
-
-from django.conf import settings
-from django.utils.translation import gettext_lazy as _
-
-from core.models.assemblies import Assembly
-from core.models.conference import Conference
-from core.models.rooms import Room
-from core.models.users import PlatformUser
-from core.models.workadventure import WorkadventureSession
-from core.utils import unix2timestamp
-
-
-class WorkAdventureIntegration:
-    def is_available(self):
-        return True
-
-    def can_create_for_assembly(self, assembly: Assembly):
-        assert assembly is not None
-
-        # limit to one WA room for the time being
-        existing_wa_rom = assembly.rooms.filter(room_type=Room.RoomType.WORKADVENTURE).exists()
-        return not existing_wa_rom
-
-    def create_room(self, room: Room):
-        assert room is not None and room.room_type == Room.RoomType.WORKADVENTURE and room.backend_status == Room.BackendStatus.NEW
-        # status is managed externally
-
-    def remove_room(self, room: Room):
-        assert room is not None and room.room_type == Room.RoomType.WORKADVENTURE
-        # nothing to do here, managed externally
-
-    def room_status(self, room: Room):
-        assert room is not None and room.room_type == Room.RoomType.WORKADVENTURE
-
-        return room.backend_status
-
-    def join_room(self, room: Room, user: PlatformUser):
-        assert room is None or room.room_type == Room.RoomType.WORKADVENTURE
-        assert user is not None
-
-        if room is None:
-            return settings.WORKADVENTURE_URL_SCHEME_GENERAL
-        else:
-            url = settings.WORKADVENTURE_URL_SCHEME_ASSEMBLY.format(
-                assembly_slug=room.assembly_slug,
-                room_id=room.id,
-                username=user.username,
-            )
-            return url
-
-    @staticmethod
-    def assemble_wa_backend_maplist(conference: Conference):
-        """
-        Prepares the published maps in the format expected by exneuland.
-
-        ```typescript
-        interface maps {
-          [org: string]: { // e.g. <myAwesomeJahresendveranstaltung>
-            [world: string]: { // e.g. cert
-              [room: string]: {
-                url: string;
-                badges?: {
-                  x: number; // tile coordinate X
-                  y: number; // tile coordinate Y
-                  radius: number; // Radius of match - Default 1
-                  badgeID: string; // uuid
-                }[]
-              }
-            }
-          }
-        };
-        ```
-        """
-        maps = {}
-        for room in Room.objects.filter(conference=conference, room_type=Room.RoomType.WORKADVENTURE, blocked=False).select_related('assembly'):
-            # skip non-public assemblies
-            if room.assembly is not None and room.assembly.state not in Assembly.PUBLIC_STATES:
-                continue
-
-            # skip instances without a non-zero/-empty 'publishedSince' entry
-            if room.director_data is None or room.director_data.get('publishedSince') in [None, 0, '']:
-                continue
-
-            item = room.director_data.get('mapInfo')
-            if not item:
-                logging.warning('WA room %s has an empty/unset "mapInfo" in MapService (director) data, skipping.', room.id)
-                continue
-
-            if room.assembly.slug in maps:
-                logging.warning('There seem to be at least two WA rooms for %s (on room %s).', room.assembly.slug, room.id)
-            maps[room.assembly.slug] = item
-
-        return {conference.slug: maps}
-
-    @staticmethod
-    def _send_request_for_conference(
-        url_template, url_auth, conference: Conference, method='POST', content=None, data=None, url_replacements=None, no_verify=False, expect_json=True
-    ):
-        if url_template is None or url_template == '':
-            logging.warning('URL is not defined.')
-            return None, 'No PUSH url configured.'
-
-        url = url_template.replace('%CONFSLUG%', conference.slug)
-        if url_replacements:
-            for k, v in url_replacements.items():
-                url = url.replace(k, v)
-        session = requests.Session()
-        if no_verify:
-            session.verify = False
-        if url_auth is not None:
-            session.headers['Authorization'] = url_auth
-
-        try:
-            r = session.request(method, url, json=data, data=content.encode('utf-8') if content is not None else None)
-            if not r.ok:
-                logging.error('Request to %s failed with %s: %s', url, r.status_code, r.text)
-                errmsg = f'Request got response {r.status_code}: {r.text}'
-                try:
-                    return r.json(), errmsg
-                except JSONDecodeError:
-                    return r.text, errmsg
-
-        except Exception as err:
-            logging.exception('Request to %s failed.', url)
-            return None, f'Request failed: {err!s}'
-
-        if r.status_code == 204:
-            # server said OK but 'No Content'
-            return '', None
-
-        try:
-            return r.json() if expect_json else r.text, None
-        except JSONDecodeError:
-            return r.text, 'Not a JSON response.'
-
-    @staticmethod
-    def push_maps(conference: Conference):
-        result = {'_errors': []}
-        try:
-            maps = WorkAdventureIntegration.assemble_wa_backend_maplist(conference)
-        except Exception as err:
-            result['_errors'].append(f'Failed to assemble maps for conference {conference.slug}: {err!s}')
-            logging.exception('WA map assembly for export failed.')
-            return result
-        result['maps'] = len(maps)
-
-        response, error = WorkAdventureIntegration._send_request_for_conference(
-            method='POST',
-            url_template=settings.WORKADVENTURE_BACKEND_MAP_PUSH_URL,
-            url_auth=settings.WORKADVENTURE_BACKEND_MAP_PUSH_AUTHORIZATION,
-            conference=conference,
-            data=maps,
-        )
-
-        if error is not None:
-            result['_errors'].append(error)
-        result['result'] = response
-
-        if settings.DEBUG:
-            result['sent_data'] = maps
-
-        return result
-
-    @staticmethod
-    def push_userinfo_session(wa_session: WorkadventureSession):
-        data = wa_session.export_userdata()
-
-        response, error = WorkAdventureIntegration._send_request_for_conference(
-            method='POST',
-            url_template=settings.WORKADVENTURE_BACKEND_USERINFO_PUSH_URL,
-            url_replacements={'%USERID%': str(wa_session.pk)},
-            url_auth=settings.WORKADVENTURE_BACKEND_USERINFO_PUSH_AUTHORIZATION,
-            conference=wa_session.conference,
-            data=data,
-        )
-
-        return {'response': response, '_errors': [error] if error is not None else None}
-
-    @staticmethod
-    def push_userinfo(conference: Conference, user: PlatformUser):
-        sessions = list(WorkadventureSession.objects.filter(conference=conference, user=user).all())
-
-        response = {}
-        for session in sessions:
-            if session.active:
-                response[str(session.pk)] = WorkAdventureIntegration.push_userinfo_session(session)
-
-        return response
-
-    @staticmethod
-    def terminate_session(wa_session):
-        response, error = WorkAdventureIntegration._send_request_for_conference(
-            method='DELETE',
-            url_template=settings.WORKADVENTURE_BACKEND_USERINFO_PUSH_URL,
-            url_replacements={'%USERID%': str(wa_session.pk)},
-            url_auth=settings.WORKADVENTURE_BACKEND_USERINFO_PUSH_AUTHORIZATION,
-            conference=wa_session.conference,
-            data={'userUuid': str(wa_session.pk)},
-        )
-
-        return {'response': response, '_errors': [error] if error is not None else None}
-
-    @staticmethod
-    def trigger_maps_synchronization(conference: Conference, force: bool = False):
-        url = settings.WORKADVENTURE_MAPSERVICE_SYNC_URL
-        if force:
-            url += '?force=1'
-        response, error = WorkAdventureIntegration._send_request_for_conference(
-            method='GET',
-            url_template=url,
-            url_auth=settings.WORKADVENTURE_MAPSERVICE_SYNC_AUTHORIZATION,
-            conference=conference,
-            data=None,
-            no_verify=settings.WORKADVENTURE_MAPSERVICE_SYNC_NOVERIFY,
-            expect_json=False,
-        )
-
-        return {'response': response, '_errors': [error] if error is not None else None}
-
-    @staticmethod
-    def trigger_map_synchronization(room: Room, force: bool = False):
-        url = settings.WORKADVENTURE_MAPSERVICE_SYNCROOM_URL
-        if force:
-            url += '?force=1'
-        response, error = WorkAdventureIntegration._send_request_for_conference(
-            method='GET',
-            url_template=url,
-            url_replacements={'%ROOMID%': str(room.pk)},
-            url_auth=settings.WORKADVENTURE_MAPSERVICE_SYNCROOM_AUTHORIZATION,
-            conference=room.conference,
-            data=None,
-            no_verify=settings.WORKADVENTURE_MAPSERVICE_SYNCROOM_NOVERIFY,
-            expect_json=False,
-        )
-
-        return {'response': response, '_errors': [error] if error is not None else None}
-
-    @staticmethod
-    def set_mapservice_loglevel(conference: Conference, level: str):
-        response, error = WorkAdventureIntegration._send_request_for_conference(
-            method='POST',
-            url_template=settings.WORKADVENTURE_MAPSERVICE_LOGLEVEL_URL,
-            url_auth=settings.WORKADVENTURE_MAPSERVICE_LOGLEVEL_AUTHORIZATION,
-            conference=conference,
-            content=level,
-            no_verify=settings.WORKADVENTURE_MAPSERVICE_SYNC_NOVERIFY,
-            expect_json=False,
-        )
-
-        return {'response': response, '_errors': [error] if error is not None else None}
-
-    @staticmethod
-    def extract_linter_info(director_data):
-        linter_status = 'pending'
-        linter_severity = None
-        linter_results = None
-        linter_timestamp = None
-        linter_commit = None
-        linter_errors = None
-        linter_missingassets = None
-        linter_missingentrypoints = None
-        linter_exitgraph = None
-        publish_timestamp = None
-        publish_commit = None
-        has_mapinfo = False
-
-        if director_data:
-            publish_commit = director_data.get('publishedCommitHash')
-            try:
-                publish_timestamp = director_data.get('publishedSince')
-                if publish_timestamp is not None:
-                    publish_timestamp = unix2timestamp(int(publish_timestamp))
-            except ValueError:
-                pass
-
-            # the map is published iff mapInfo is set and all entries have an 'url' field
-            map_infos = director_data.get('mapInfo')
-            if map_infos and isinstance(map_infos, dict) and all(v.get('url', '') != '' for k, v in map_infos.items()):
-                has_mapinfo = True
-
-            # summarize violations
-            violation = director_data.get('violation', {})
-            with contextlib.suppress(ValueError):
-                linter_timestamp = unix2timestamp(int(violation.get('violationCheck')))
-            linter_commit = violation.get('violationCommitHash')
-            if not violation:
-                linter_status = 'success'
-            else:
-                linter_severity = violation.get('severity', '').lower()
-                linter_status = {
-                    'error': 'danger',
-                    'forbidden': 'danger',
-                    'fatal': 'danger',
-                    'warning': 'warning',
-                    'suggestion': 'info',
-                    'info': 'success',
-                }.get(linter_severity, 'unknown')
-                linter_errors = violation.get('errors', None)
-                linter_results = violation.get('linterRes', {}).get('mapLints', {})
-                linter_missingassets = violation.get('linterRes', {}).get('missingAssets', [])
-                linter_missingentrypoints = violation.get('linterRes', {}).get('missingDeps', [])
-                linter_exitgraph = violation.get('linterRes', {}).get('exitGraph', '')
-        return {
-            'wa_published': {
-                'commitHash': publish_commit if has_mapinfo else None,
-                'timestamp': publish_timestamp,
-            },
-            'wa_linter': {
-                'commitHash': linter_commit,
-                'errors': linter_errors,
-                'results': linter_results,
-                'severity': linter_severity,
-                'status': linter_status,
-                'status_text': _('Room-workadventure_linter-' + (linter_status if linter_status != 'danger' else 'error')),
-                'status_title': _('Room-workadventure_linter-' + (linter_status if linter_status != 'danger' else 'error') + '__title'),
-                'timestamp': linter_timestamp,
-                'missingAssets': linter_missingassets,
-                'missingEntrypoints': linter_missingentrypoints,
-                'exitGraph': linter_exitgraph,
-            },
-        }
diff --git a/src/core/locale/de/LC_MESSAGES/django.po b/src/core/locale/de/LC_MESSAGES/django.po
index 2e1ce50803fbbb6b2029cf3b554afa6c31b8bf5d..fb5ca287cb1c2d8eedbafa356138b159dd7bb4a7 100644
--- a/src/core/locale/de/LC_MESSAGES/django.po
+++ b/src/core/locale/de/LC_MESSAGES/django.po
@@ -29,9 +29,6 @@ msgstr "Teilnehmende - es gibt ein Problem mit Benutzer*innen"
 msgid "abuse_report_category-tech"
 msgstr "Technisch - ein technisches Problem mit der Website"
 
-msgid "abuse_report_category-map"
-msgstr "Karte - ein Problem mit der 2D Welt"
-
 msgid "abuse_report_category-misc"
 msgstr "Verschiedenes - Alles andere"
 
@@ -170,9 +167,6 @@ msgstr "Anfrage fehlgeschlagen"
 msgid "Invalid Response"
 msgstr "Fehlerhafte Antwort"
 
-msgid "Room-workadventure_linter-"
-msgstr ""
-
 msgid "ActivityLogEntry"
 msgstr "Logeintrag"
 
@@ -571,12 +565,6 @@ msgstr "Interne Zusatzinformation zum Token"
 msgid "comment"
 msgstr "Kommentar"
 
-msgid "BadgeToken__map_token__help"
-msgstr "Ein Map Redeem Token kann nur für Tiles in der 2D-Welt benutzt werden."
-
-msgid "BadgeToken__map_token"
-msgstr "Map Redeem Token"
-
 msgid "BadgeToken__redeemable_count__help"
 msgstr "Ein Limited Redeem Token kann X (Anzahl) mal eingelöst werden. Wenn 0 gewählt wird gibt es keine Einschränkung."
 
@@ -652,9 +640,6 @@ msgstr "Voucher in der Konferenz verwalten"
 msgid "ConferenceMember__permission-scheduleadmin"
 msgstr "alle Schedule-Imports verwalten/debuggen"
 
-msgid "ConferenceMember__permission-workadventure_admin"
-msgstr "alle WorkAdventure-Räume verwalten/debuggen"
-
 msgid "Conference"
 msgstr "Konferenz"
 
@@ -1660,9 +1645,6 @@ msgstr "Projekt"
 msgid "Room__type-bbb"
 msgstr "BigBlueButton"
 
-msgid "Room__type-workadventure"
-msgstr "WorkAdventure"
-
 msgid "Room__type-hangar"
 msgstr "Hangar"
 
@@ -2051,12 +2033,6 @@ msgstr "URL zum Avatar-Bild"
 msgid "PlatformUser__avatar_url"
 msgstr "Avatar-URL"
 
-msgid "PlatformUser__avatar_config__help"
-msgstr "JSON-Konfiguration des Avatars (z.B. für 2D Map)"
-
-msgid "PlatformUser__avatar_config"
-msgstr "Avatar-Config"
-
 msgid "PlatformUser__pronouns__help"
 msgstr "Pronomen für die Anrede"
 
@@ -2165,30 +2141,6 @@ msgstr "benutzerspezifische Konfiguration des Menüs (JSON)"
 msgid "PlatformUser__menu"
 msgstr "Menü-Konfiguration"
 
-msgid "PlatformUser__wa_block_external_content__help"
-msgstr "Tabs, Split-Screens und eingebettete Webseiten wie bspw. Videostreams"
-
-msgid "PlatformUser__wa_block_external_content"
-msgstr "2D-World: Externe Inhalte blockieren"
-
-msgid "PlatformUser__wa_block_ambient_sounds__help"
-msgstr "Hat nur einen Effekt in der 2D-Welt"
-
-msgid "PlatformUser__wa_block_ambient_sounds"
-msgstr "Umgebungsgeräusche und Musik blockieren"
-
-msgid "PlatformUser__wa_ignore_follow_requests__help"
-msgstr "Anfragen anderen Usern zu folgen ignorieren"
-
-msgid "PlatformUser__wa_ignore_follow_requests"
-msgstr "2D-World: Folgen ignorieren"
-
-msgid "PlatformUser__wa_force_website_trigger__help"
-msgstr "Immer fragen bevor Webseiten und Jitsi-Meetingräume geöffnet werden"
-
-msgid "PlatformUser__wa_force_website_trigger"
-msgstr "2D-World: Externe Inhalte immer bestätigen"
-
 msgid "PlatformUser__allow_reset_non_primary__help"
 msgstr "Darf dein Passwort auch über nicht primäre Email Adressen zurücksetzen werden?"
 
@@ -2420,42 +2372,6 @@ msgstr "Es ist eine Zuordnung (Assembly/Channel/Nutzer) notwendig wenn ein Zeitp
 msgid "VoucherEntry__already_assigned"
 msgstr "Der Voucher-Eintrag wurde bereits zugeordnet."
 
-msgid "WorkadventureSession__user__help"
-msgstr "Der dieser WorkAdventure-Session zugeordnete Account."
-
-msgid "WorkadventureSession__user"
-msgstr "Benutzer"
-
-msgid "WorkadventureSession__token__help"
-msgstr "Register-Token für Hub-WA-Übergabe"
-
-msgid "WorkadventureSession__token"
-msgstr "Token"
-
-msgid "WorkadventureSession__token_expiry__help"
-msgstr "Zeitpunkt ab dem das Register-Token seine Gültigkeit verliert."
-
-msgid "WorkadventureSession__token_expiry"
-msgstr "Token-Ablauf"
-
-msgid "WorkadventureSession__room__help"
-msgstr "WorkAdventure-Raum in dem der virtuelle User ist."
-
-msgid "WorkadventureSession__room"
-msgstr "Raum"
-
-msgid "WorkadventureSession__messages__help"
-msgstr "System-Nachrichten für diesen User."
-
-msgid "WorkadventureSession__messages"
-msgstr "Nachrichten"
-
-msgid "WorkadventureSession__additional_data__help"
-msgstr "interne Verwendung"
-
-msgid "WorkadventureSession__additional_data"
-msgstr "Zusatzdaten"
-
 msgid "SSO__conf_attendee"
 msgstr "Du bist Teilnehmer:in von {name}."
 
@@ -2465,9 +2381,6 @@ msgstr "Backend-Services Engelsystem @ {slug}"
 msgid "SSO__svc_usermgmt"
 msgstr "Deinen {slug}-Benutzerstatus setzen."
 
-msgid "SSO__svc_workadventure"
-msgstr "Backend-Services WorkAdventure @ {slug}"
-
 msgid "SSO__authorize"
 msgstr "Authorisieren von"
 
diff --git a/src/core/locale/en/LC_MESSAGES/django.po b/src/core/locale/en/LC_MESSAGES/django.po
index 6d31f5173b9c198a8253e30b5b8043f0a8d26600..79449988d1c645b710b6bbc347e7a416acf7fce1 100644
--- a/src/core/locale/en/LC_MESSAGES/django.po
+++ b/src/core/locale/en/LC_MESSAGES/django.po
@@ -29,9 +29,6 @@ msgstr "Attendee - there is a problem with a user"
 msgid "abuse_report_category-tech"
 msgstr "Technical - a technical problem with the site"
 
-msgid "abuse_report_category-map"
-msgstr "Map - there is a problem with a 2D world map"
-
 msgid "abuse_report_category-misc"
 msgstr "Misc - something else"
 
@@ -170,9 +167,6 @@ msgstr "Request failed"
 msgid "Invalid Response"
 msgstr "Invalid Response"
 
-msgid "Room-workadventure_linter-"
-msgstr ""
-
 msgid "ActivityLogEntry"
 msgstr "activity log entry"
 
@@ -571,12 +565,6 @@ msgstr "Additional internal information about the token."
 msgid "comment"
 msgstr "Comment"
 
-msgid "BadgeToken__map_token__help"
-msgstr "A Map Redeem token can only be used for tiles in the 2D world."
-
-msgid "BadgeToken__map_token"
-msgstr "Map token"
-
 msgid "BadgeToken__redeemable_count__help"
 msgstr "How often can this token be used to get the badge?"
 
@@ -652,9 +640,6 @@ msgstr "manage vouchers"
 msgid "ConferenceMember__permission-scheduleadmin"
 msgstr "manage/debug schedule source imports"
 
-msgid "ConferenceMember__permission-workadventure_admin"
-msgstr "manage/debug WorkAdventure backend"
-
 msgid "Conference"
 msgstr "Conference"
 
@@ -1660,9 +1645,6 @@ msgstr "project"
 msgid "Room__type-bbb"
 msgstr "BigBlueButton"
 
-msgid "Room__type-workadventure"
-msgstr "WorkAdventure"
-
 msgid "Room__type-hangar"
 msgstr "hangar"
 
@@ -2049,12 +2031,6 @@ msgstr "URL to the avatar's image"
 msgid "PlatformUser__avatar_url"
 msgstr "avatar URL"
 
-msgid "PlatformUser__avatar_config__help"
-msgstr "JSON-configuration of the 2D map's avatar"
-
-msgid "PlatformUser__avatar_config"
-msgstr "avatar config"
-
 msgid "PlatformUser__pronouns__help"
 msgstr "Pronouns"
 
@@ -2163,30 +2139,6 @@ msgstr "menu configuration (JSON)"
 msgid "PlatformUser__menu"
 msgstr "menu"
 
-msgid "PlatformUser__wa_block_external_content__help"
-msgstr "tabs, split-screens and embedded websites such as video streams"
-
-msgid "PlatformUser__wa_block_external_content"
-msgstr "2d world: Block external content"
-
-msgid "PlatformUser__wa_block_ambient_sounds__help"
-msgstr "Only has an effect in the 2D world"
-
-msgid "PlatformUser__wa_block_ambient_sounds"
-msgstr "Block ambient sounds and music"
-
-msgid "PlatformUser__wa_ignore_follow_requests__help"
-msgstr "Only has an effect in the 2D world"
-
-msgid "PlatformUser__wa_ignore_follow_requests"
-msgstr "Ignore requests to follow other users"
-
-msgid "PlatformUser__wa_force_website_trigger__help"
-msgstr "Always ask before opening websites and Jitsi Meet rooms"
-
-msgid "PlatformUser__wa_force_website_trigger"
-msgstr "2d world: always confirm external content"
-
 msgid "PlatformUser__allow_reset_non_primary__help"
 msgstr "Can your password also be reset via non-primary email addresses?"
 
@@ -2418,42 +2370,6 @@ msgstr "Need an assigned target when setting an 'assigned' timestamp."
 msgid "VoucherEntry__already_assigned"
 msgstr "This voucher entry has already been assigned."
 
-msgid "WorkadventureSession__user__help"
-msgstr "The user account associated to this WorkAdventure session."
-
-msgid "WorkadventureSession__user"
-msgstr "User"
-
-msgid "WorkadventureSession__token__help"
-msgstr "register token for Hub-WA handover"
-
-msgid "WorkadventureSession__token"
-msgstr "Token"
-
-msgid "WorkadventureSession__token_expiry__help"
-msgstr "Point in time from which the token is not valid any more (session may continue)."
-
-msgid "WorkadventureSession__token_expiry"
-msgstr "token expiry"
-
-msgid "WorkadventureSession__room__help"
-msgstr "WorkAdventure room in which the user is."
-
-msgid "WorkadventureSession__room"
-msgstr "room"
-
-msgid "WorkadventureSession__messages__help"
-msgstr "system messages for this user"
-
-msgid "WorkadventureSession__messages"
-msgstr "messages"
-
-msgid "WorkadventureSession__additional_data__help"
-msgstr "internal use"
-
-msgid "WorkadventureSession__additional_data"
-msgstr "additional data"
-
 msgid "SSO__conf_attendee"
 msgstr "You are a participant of {name}."
 
@@ -2463,9 +2379,6 @@ msgstr "Engelsystem Backend service @ {slug}"
 msgid "SSO__svc_usermgmt"
 msgstr "Set your user status at {name}."
 
-msgid "SSO__svc_workadventure"
-msgstr "WorkAdventure Backend service @ {slug}"
-
 msgid "SSO__authorize"
 msgstr "Authorize"
 
diff --git a/src/core/management/commands/import_mapservice_resultfile.py b/src/core/management/commands/import_mapservice_resultfile.py
deleted file mode 100644
index 41d1953b27f3fd18c5fdf7e57b2920879f075218..0000000000000000000000000000000000000000
--- a/src/core/management/commands/import_mapservice_resultfile.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import argparse
-import json
-
-from django.core.management.base import BaseCommand
-
-from core.models.conference import Conference
-
-from api.views.workadventure import MapServiceView
-
-
-class Command(BaseCommand):
-    help = "import the mapservice's result file directly (as it would have been sent via the maps endpoint)"
-
-    def add_arguments(self, parser):
-        parser.add_argument('conference_slug', help='slug of the conference')
-        parser.add_argument('filename', type=argparse.FileType('r'), help='a JSON file')
-
-    def handle(self, *args, **options):
-        conference = Conference.objects.get(slug=options.get('conference_slug'))
-        data = json.load(options.get('filename'))
-
-        status_code, response = MapServiceView.handle_mapservice_push_request(conference, data)
-        print(f'RESPONSE ({status_code}):')
-        print(response)
diff --git a/src/core/management/commands/sanitize_database.py b/src/core/management/commands/sanitize_database.py
index 0c5006b095b3d401c6cdf9d00bd864d7c6b95717..1ad9984b8e7a305fcb654d37d4b9bd62b858377b 100644
--- a/src/core/management/commands/sanitize_database.py
+++ b/src/core/management/commands/sanitize_database.py
@@ -19,7 +19,6 @@ from core.models.schedules import ScheduleSource, ScheduleSourceImport
 from core.models.tags import ConferenceTag, TagItem
 from core.models.ticket import ConferenceMemberTicket
 from core.models.users import PlatformUser, UserCommunicationChannel
-from core.models.workadventure import WorkadventureSession
 
 
 class Command(BaseCommand):
@@ -102,9 +101,6 @@ class Command(BaseCommand):
         print('UserCommunicationChannel: ', end='', flush=True)
         print_delete_stat(UserCommunicationChannel.objects.all().delete())
 
-        print('WorkadventureSession: ', end='', flush=True)
-        print_delete_stat(WorkadventureSession.objects.all().delete())
-
         print('UserDereferrerAllowlist: ', end='', flush=True)
         print_delete_stat(UserDereferrerAllowlist.objects.all().delete())
 
diff --git a/src/core/migrations/0162_remove_workadventure.py b/src/core/migrations/0162_remove_workadventure.py
new file mode 100644
index 0000000000000000000000000000000000000000..6f873932d9f65e6537e48a8054207b8a05f344ab
--- /dev/null
+++ b/src/core/migrations/0162_remove_workadventure.py
@@ -0,0 +1,84 @@
+# Generated by Django 5.1.3 on 2024-11-28 22:37
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("core", "0161_remove_channels"),
+    ]
+
+    operations = [
+        migrations.DeleteModel(
+            name="WorkadventureSession",
+        ),
+        migrations.DeleteModel(
+            name="WorkadventureTexture",
+        ),
+        migrations.AlterModelOptions(
+            name="conferencemember",
+            options={
+                "permissions": [
+                    (
+                        "conference_admin",
+                        "ConferenceMember__permission-confernece_admin",
+                    ),
+                    ("assembly_team", "ConferenceMember__permission-assembly_team"),
+                    (
+                        "assembly_registration_admin",
+                        "ConferenceMember__permission-assembly_registration_admin",
+                    ),
+                    ("static_pages", "ConferenceMember__permission-static_pages"),
+                    ("map_edit", "ConferenceMember__permission-map_edit"),
+                    ("moderation", "Orga: Moderation"),
+                    ("voucher_admin", "ConferenceMember__permission-voucher_admin"),
+                    ("scheduleadmin", "ConferenceMember__permission-scheduleadmin"),
+                ]
+            },
+        ),
+        migrations.RemoveField(
+            model_name="badgetoken",
+            name="map_token",
+        ),
+        migrations.RemoveField(
+            model_name="platformuser",
+            name="avatar_config",
+        ),
+        migrations.RemoveField(
+            model_name="platformuser",
+            name="wa_block_ambient_sounds",
+        ),
+        migrations.RemoveField(
+            model_name="platformuser",
+            name="wa_block_external_content",
+        ),
+        migrations.RemoveField(
+            model_name="platformuser",
+            name="wa_force_website_trigger",
+        ),
+        migrations.RemoveField(
+            model_name="platformuser",
+            name="wa_ignore_follow_requests",
+        ),
+        migrations.AlterField(
+            model_name="room",
+            name="room_type",
+            field=models.CharField(
+                choices=[
+                    ("lecturehall", "Room__type-lecturehall"),
+                    ("stage", "Room__type-stage"),
+                    ("workshop", "Room__type-workshop"),
+                    ("outside", "Room__type-outside"),
+                    ("online", "Room__type-online"),
+                    ("project", "Room__type-project"),
+                    ("bbb", "Room__type-bbb"),
+                    ("hangar", "Room__type-hangar"),
+                    ("other", "Room__type-other"),
+                ],
+                help_text="Room__type__help",
+                max_length=20,
+                verbose_name="Room__type",
+            ),
+        ),
+    ]
diff --git a/src/core/models/__init__.py b/src/core/models/__init__.py
index 7b37267d429446682446dada2212d09872d8edc1..7a064b14cfccba59e12b85c6b39a9744697f57ea 100644
--- a/src/core/models/__init__.py
+++ b/src/core/models/__init__.py
@@ -24,7 +24,6 @@ from .tags import ConferenceTag, TagItem
 from .ticket import ConferenceMemberTicket
 from .users import PlatformUser, UserCommunicationChannel, UserContact
 from .voucher import Voucher, VoucherEntry
-from .workadventure import WorkadventureSession, WorkadventureTexture
 
 __all__ = [
     'ActivityLogChange',
@@ -77,6 +76,4 @@ __all__ = [
     'UserDereferrerAllowlist',
     'Voucher',
     'VoucherEntry',
-    'WorkadventureSession',
-    'WorkadventureTexture',
 ]
diff --git a/src/core/models/badges.py b/src/core/models/badges.py
index 2bfb38e2e545b493b1ddbffcc3eb058f6ff8faaf..1417a2d3a291a61ba4096f63a3cb73812c075261 100644
--- a/src/core/models/badges.py
+++ b/src/core/models/badges.py
@@ -245,11 +245,6 @@ class BadgeToken(models.Model):
         verbose_name=_('comment'),
     )
 
-    map_token = models.BooleanField(
-        default=False,
-        help_text=_('BadgeToken__map_token__help'),
-        verbose_name=_('BadgeToken__map_token'),
-    )
     redeemable_count = models.IntegerField(
         default=0,
         help_text=_('BadgeToken__redeemable_count__help'),
diff --git a/src/core/models/conference.py b/src/core/models/conference.py
index 6fefed32d9d44c67e13e20ceadba0219476275a8..250bb63eaf87b0ab21f474336b137c3c900b0596 100644
--- a/src/core/models/conference.py
+++ b/src/core/models/conference.py
@@ -94,8 +94,6 @@ class ConferenceMember(models.Model):
             # configure conference's vouchers
             ('scheduleadmin', _('ConferenceMember__permission-scheduleadmin')),
             # manage/support ScheduleSupports globally, i.e. without access to an individual assembly
-            ('workadventure_admin', _('ConferenceMember__permission-workadventure_admin')),
-            # manage/support all WA rooms and backend info
         ]
 
         constraints = [models.constraints.UniqueConstraint(fields=['user', 'conference'], name='conferencemember_user_conference_unique')]
diff --git a/src/core/models/rooms.py b/src/core/models/rooms.py
index e318242ebff80502f33ab4bc6f987825a01312b4..c0a870cd01c010b4f583b0e3305d968fb7e944e9 100644
--- a/src/core/models/rooms.py
+++ b/src/core/models/rooms.py
@@ -33,7 +33,6 @@ class RoomType(models.TextChoices):
     ONLINE = 'online', _('Room__type-online')
     PROJECT = 'project', _('Room__type-project')
     BIGBLUEBUTTON = 'bbb', _('Room__type-bbb')
-    WORKADVENTURE = 'workadventure', _('Room__type-workadventure')
     HANGAR = 'hangar', _('Room__type-hangar')
     OTHER = 'other', _('Room__type-other')
 
@@ -117,7 +116,7 @@ class Room(BackendMixin, models.Model):
         RECORDING_NOT_POSSIBLE = 'recording_not_possible', _('Room__recording_state-recording_not_possible')
         UNKNOWN = 'unknown', _('Room__recording_state-unknown')
 
-    BACKEND_ROOMTYPES = [RoomType.BIGBLUEBUTTON, RoomType.WORKADVENTURE, RoomType.HANGAR]
+    BACKEND_ROOMTYPES = [RoomType.BIGBLUEBUTTON, RoomType.HANGAR]
     TYPES_WITH_CAPACITY = [RoomType.LECTURE_HALL, RoomType.STAGE, RoomType.WORKSHOP, RoomType.BIGBLUEBUTTON]
     TYPES_WITH_LINKS = [RoomType.PROJECT, RoomType.LECTURE_HALL, RoomType.STAGE, RoomType.WORKSHOP, RoomType.OUTSIDE, RoomType.ONLINE, RoomType.OTHER]
     TYPES_ASSIGNABLE_TO_EVENTS = [
@@ -127,7 +126,6 @@ class Room(BackendMixin, models.Model):
         RoomType.OUTSIDE,
         RoomType.ONLINE,
         RoomType.BIGBLUEBUTTON,
-        RoomType.WORKADVENTURE,
     ]
 
     objects = RoomManager()
diff --git a/src/core/models/users.py b/src/core/models/users.py
index 717f9827668f360941c16dd742c1da1ae4b6b614..0000022f481fff3371cfeca0869a33016c8f5e97 100644
--- a/src/core/models/users.py
+++ b/src/core/models/users.py
@@ -127,7 +127,6 @@ class PlatformUser(AbstractUser):
         ],
     )
     avatar_url = models.URLField(blank=True, null=True, help_text=_('PlatformUser__avatar_url__help'), verbose_name=_('PlatformUser__avatar_url'))
-    avatar_config = models.JSONField(blank=True, null=True, help_text=_('PlatformUser__avatar_config__help'), verbose_name=_('PlatformUser__avatar_config'))
     pronouns = models.CharField(max_length=50, blank=True, default='', help_text=_('PlatformUser__pronouns__help'), verbose_name=_('PlatformUser__pronouns'))
 
     status = models.CharField(max_length=50, blank=True, null=True, help_text=_('PlatformUser__status__help'), verbose_name=_('PlatformUser__status'))
@@ -177,28 +176,6 @@ class PlatformUser(AbstractUser):
     # menu settings
     menu = models.JSONField(blank=True, default=dict, help_text=_('PlatformUser__menu__help'), verbose_name=_('PlatformUser__menu'))
 
-    # workadventure preferences
-    wa_block_external_content = models.BooleanField(
-        default=False,
-        help_text=_('PlatformUser__wa_block_external_content__help'),
-        verbose_name=_('PlatformUser__wa_block_external_content'),
-    )
-    wa_block_ambient_sounds = models.BooleanField(
-        default=False,
-        help_text=_('PlatformUser__wa_block_ambient_sounds__help'),
-        verbose_name=_('PlatformUser__wa_block_ambient_sounds'),
-    )
-    wa_ignore_follow_requests = models.BooleanField(
-        default=False,
-        help_text=_('PlatformUser__wa_ignore_follow_requests__help'),
-        verbose_name=_('PlatformUser__wa_ignore_follow_requests'),
-    )
-    wa_force_website_trigger = models.BooleanField(
-        default=False,
-        help_text=_('PlatformUser__wa_force_website_trigger__help'),
-        verbose_name=_('PlatformUser__wa_force_website_trigger'),
-    )
-
     # security settings
     allow_reset_non_primary = models.BooleanField(
         default=False, help_text=_('PlatformUser__allow_reset_non_primary__help'), verbose_name=_('PlatformUser__allow_reset_non_primary')
@@ -256,88 +233,6 @@ class PlatformUser(AbstractUser):
 
         return hub_absolute('plainui:user', user_slug=self.slug, i18n=settings.ARCHIVE_MODE)
 
-    def get_character_layers(self):
-        info = self.avatar_config or {}
-        return info.get('character_layers', [])
-
-    def set_character_layers(self, value):
-        # TODO: Replace both asserts with proper checks
-        assert isinstance(value, list), 'character layers must be an array'
-        # assert all(isinstance(x, int) for x in value), 'character layers must be an array of integers' # noqa: ERA001
-
-        info = self.avatar_config or {}
-        info['character_layers'] = value
-        self.avatar_config = info
-
-    def get_avatar_json(self, conference):
-        """Returns the avatar-related settings prepared for JSON."""
-        info = self.avatar_config or {}
-        return {
-            'index': info.get('index'),
-            'custom': info.get('custom', [0, 0, 0, 0, 0, 0]),
-            'receive_audio': self.receive_audio,
-            'receive_video': self.receive_video,
-            'volume': self.audio_volume,
-            'muted': self.audio_muted,
-            'color': self.get_avatar_color(conference),
-        }
-
-    def update_avatar_json(self, update_data):
-        """Counterpart to get_avatar_json() to update the settings."""
-
-        MIN_AVATAR_INDEX = -1
-        # The lowest allowed avatar index for WorkAdventure, probably -1 (custom avatar).
-
-        MAX_AVATAR_INDEX = 42
-        # The largest allowed avatar index for WorkAdventure.
-
-        CUSTOM_LENGTH = 6
-        # The length of the custom avatar array, these correspond to WorkAdventure's custom avatar selection window's row count.
-
-        MIN_CUSTOM_INDEX = 0
-        # The minimum value for each element in the custom avatar spec's array.
-
-        MAX_CUSTOM_INDEX = 100
-        # The maximum value for each element in the custom avatar spec's array.
-
-        info = self.avatar_config or {}
-        _UNSET = object()
-
-        if (avatar_index := update_data.get('index', _UNSET)) != _UNSET:
-            if avatar_index is not None:
-                assert MIN_AVATAR_INDEX <= avatar_index <= MAX_AVATAR_INDEX
-                info['index'] = avatar_index
-            else:
-                info['index'] = None
-
-        if (avatar_custom := update_data.get('custom', _UNSET)) != _UNSET:
-            if avatar_custom is not None:
-                assert (
-                    isinstance(avatar_custom, list)
-                    and len(avatar_custom) == CUSTOM_LENGTH
-                    and all(isinstance(x, int) and MIN_CUSTOM_INDEX <= x <= MAX_CUSTOM_INDEX for x in avatar_custom)
-                )
-
-            info['custom'] = avatar_custom
-
-        if (receive_audio := update_data.get('receive_audio', _UNSET)) != _UNSET:
-            self.receive_audio = bool(receive_audio)
-
-        if (receive_video := update_data.get('receive_video', _UNSET)) != _UNSET:
-            self.receive_video = bool(receive_video)
-
-        if (audio_volume := update_data.get('volume', _UNSET)) != _UNSET:
-            if audio_volume is not None:
-                assert 0.0 <= audio_volume <= 1.0
-                self.audio_volume = float(audio_volume)
-            else:
-                self.audio_volume = None
-
-        if (audio_muted := update_data.get('muted', _UNSET)) != _UNSET:
-            self.audio_muted = bool(audio_muted)
-
-        self.avatar_config = info
-
     def is_in_conference(self, conference):
         return conference.users.filter(user=self).exists()
 
diff --git a/src/core/models/workadventure.py b/src/core/models/workadventure.py
deleted file mode 100644
index 24c1ccdc1db70135c9c13096944f2d92358cb640..0000000000000000000000000000000000000000
--- a/src/core/models/workadventure.py
+++ /dev/null
@@ -1,260 +0,0 @@
-from datetime import timedelta
-from uuid import uuid4
-
-from django.conf import settings
-from django.contrib.auth.models import Group
-from django.contrib.postgres.fields import ArrayField
-from django.core.exceptions import ValidationError
-from django.db import models
-from django.db.models import Q
-from django.utils import timezone
-from django.utils.translation import gettext_lazy as _
-
-from core.fields import ConferenceReference
-from core.models.assemblies import Assembly
-from core.models.conference import Conference, ConferenceMember, PlatformUser
-from core.models.rooms import Room
-from core.utils import generate_token
-
-
-class WorkadventureSession(models.Model):
-    id = models.UUIDField(primary_key=True, editable=False, default=uuid4)
-
-    conference = ConferenceReference(related_name='workadventure_sessions')
-
-    user = models.ForeignKey(
-        settings.AUTH_USER_MODEL,
-        on_delete=models.CASCADE,
-        related_name='workadventure_sessions',
-        help_text=_('WorkadventureSession__user__help'),
-        verbose_name=_('WorkadventureSession__user'),
-    )
-
-    token = models.CharField(
-        blank=True,
-        null=True,
-        max_length=100,
-        help_text=_('WorkadventureSession__token__help'),
-        verbose_name=_('WorkadventureSession__token'),
-    )
-    token_expiry = models.DateTimeField(
-        blank=True,
-        null=True,
-        help_text=_('WorkadventureSession__token_expiry__help'),
-        verbose_name=_('WorkadventureSession__token_expiry'),
-    )
-
-    room = models.ForeignKey(
-        Room,
-        on_delete=models.SET_NULL,
-        blank=True,
-        null=True,
-        related_name='+',
-        help_text=_('WorkadventureSession__room__help'),
-        verbose_name=_('WorkadventureSession__room'),
-    )
-
-    messages = ArrayField(
-        models.CharField(max_length=250),
-        help_text=_('WorkadventureSession__messages__help'),
-        verbose_name=_('WorkadventureSession__messages'),
-        default=list,
-    )
-    additional_data = models.JSONField(
-        blank=True,
-        null=True,
-        help_text=_('WorkadventureSession__additional_data__help'),
-        verbose_name=_('WorkadventureSession__additional_data'),
-    )
-
-    def clean(self):
-        if self.room is not None:
-            if self.room.room_type != Room.RoomType.WORKADVENTURE:
-                raise ValidationError('Room must be a WorkAdventure room, if set.')
-
-    def get_token_url(self):
-        token = (self.token or '').strip()
-        assert token != ''
-
-        register_url = settings.WORKADVENTURE_URL_SCHEME_REGISTER
-        return register_url.replace('{token}', token)
-
-    @property
-    def active(self):
-        return self.token is None
-
-    def get_nickname_color(self, is_admin=False, is_angel=False, override=None):
-        color = '#ffffff'
-
-        if is_angel:
-            color = '#ffff00'
-
-        if is_admin:
-            color = '#ccccff'
-
-        if override is not None:
-            color = override
-
-        return color
-
-    def export_userdata(self, conference_member: ConferenceMember = None, clear_messages=False):
-        data = self.additional_data or {}
-
-        if not conference_member:
-            # if this fails the user is no conference member and shall not be able to use the WA anyway
-            conference_member = ConferenceMember.objects.get(conference_id=self.conference_id, user_id=self.user_id)
-
-        is_admin = conference_member.is_staff and conference_member.has_perms('core.workadventure_admin')
-        is_angel = conference_member.active_angel
-
-        user_tags = set(data.get('tags', []))
-        if is_admin:
-            user_tags.add('admin')
-        if is_angel:
-            user_tags.add('angel')
-        for slug in Assembly.objects.associated_to_user(self.user, self.conference).filter(state__in=Assembly.PUBLIC_STATES).values_list('slug', flat=True):
-            user_tags.add('assembly_' + slug)
-
-        result = {
-            'organizationSlug': self.conference.slug,
-            'worldSlug': self.room.assembly.slug if self.room is not None else None,
-            'roomSlug': data.get('room_slug', 'main.json'),
-            'userUuid': str(self.id),  # the WA user id is the hub's session id
-            'nickname': data.get('alias', self.user.display_name),
-            'color': self.get_nickname_color(is_admin=is_admin, is_angel=is_angel, override=data.get('color')),
-            'oldUuids': data.get('previous', []),
-            'messages': self.messages,
-            'tags': list(user_tags),
-            'textures': [t.export() for t in WorkadventureTexture.objects.for_conference_user(self.conference, self.user)],
-            'characterLayers': self.user.get_character_layers(),
-            'wa_userconfig': {
-                'disableCamera': not self.user.receive_video,
-                'noAnimations': self.user.no_animations,
-                'blockExternalContent': self.user.wa_block_external_content,
-                'blockAmbientSounds': self.user.wa_block_ambient_sounds,
-                'ignoreFollowRequests': self.user.wa_ignore_follow_requests,
-                'silentMode': not self.user.receive_audio,
-                'forceWebsiteTrigger': self.user.wa_force_website_trigger,
-            },
-        }
-
-        if clear_messages:
-            self.messages = []
-            self.save(update_fields=['messages'])
-
-        # TODO: fehlt hier nicht ein "banned" flag? was ist mit den restlichen Flags?
-        # TODO: expand textures and character layers
-        # TODO: bei check-user tauchen folgende Zusatzfelder auf:
-        #         mapUrlStart: string; # noqa: ERA001
-        #         tags: string[];
-        #         policy_type: number; # noqa: ERA001
-        return result
-
-    def update_userdata(self, data):
-        assert isinstance(data, dict)
-
-        self.additional_data = self.additional_data or {}
-        if (world_slug := data.get('worldSlug')) is not None and (room_slug := data.get('roomSlug')) is not None:
-            self.additional_data['world_slug'] = world_slug
-            self.additional_data['room_slug'] = room_slug
-            try:
-                r = Room.objects.get(conference=self.conference, assembly__slug=world_slug, room_type=Room.RoomType.WORKADVENTURE)
-                self.room = r
-            except Room.DoesNotExist:
-                pass
-
-        if (cl := data.get('characterLayers')) is not None:
-            self.user.set_character_layers(cl)
-
-        wa_data = data.get('wa_userconfig', {})
-
-        if (val := wa_data.get('noAnimations')) is not None:
-            self.user.no_animations = val
-
-        if (val := wa_data.get('disableCamera')) is not None:
-            self.user.receive_video = not val
-
-        if (val := wa_data.get('blockExternalContent')) is not None:
-            self.user.wa_block_external_content = val
-
-        if (val := wa_data.get('blockAmbientSounds')) is not None:
-            self.user.wa_block_ambient_sounds = val
-
-        if (val := wa_data.get('ignoreFollowRequests')) is not None:
-            self.user.wa_ignore_follow_requests = val
-
-        if (val := wa_data.get('silentMode')) is not None:
-            self.user.receive_audio = not val
-
-        if (val := wa_data.get('forceWebsiteTrigger')) is not None:
-            self.user.wa_force_website_trigger = val
-
-        self.user.save()
-        self.save()
-
-    @classmethod
-    def create_for_conference_user(cls, conference: Conference, user: PlatformUser, room: Room):
-        sess = conference.workadventure_sessions.create(
-            user=user,
-            room=room,
-            token=generate_token(),
-            token_expiry=timezone.now() + timedelta(hours=1),
-        )
-        return sess
-
-
-class WorkadventureTextureManager(models.Manager):
-    def for_conference_user(self, conference: Conference, user: PlatformUser):
-        qs = self.get_queryset()
-
-        qs_direct = Q(assigned_conference_members__conference=conference, assigned_conference_members__user=user)
-        qs_assembly = Q(assigned_assemblies__pk__in=Assembly.objects.associated_to_user(user, conference))
-        # TODO: qs_group = qs.filter(assigned_groups__user.groups)
-        return qs.filter(qs_direct | qs_assembly)
-
-
-class WorkadventureTexture(models.Model):
-    class Meta:
-        ordering = ['number']
-        unique_together = [['conference', 'number']]
-
-    objects = WorkadventureTextureManager()
-
-    id = models.UUIDField(primary_key=True, editable=False, default=uuid4)
-
-    conference = ConferenceReference(related_name='workadventure_textures')
-
-    name = models.CharField(max_length=100)
-
-    number = models.IntegerField()
-    level = models.IntegerField()
-    url = models.URLField(blank=True)
-    rights = models.CharField(blank=True, max_length=200)
-
-    additional_fields = models.JSONField(blank=True, null=True)
-
-    assigned_conference_members = models.ManyToManyField(ConferenceMember, blank=True, related_name='wa_textures')
-
-    assigned_assemblies = models.ManyToManyField(Assembly, blank=True, related_name='+')
-    assigned_groups = models.ManyToManyField(Group, blank=True, related_name='+')
-
-    def clean(self):
-        x = self.conference.workadventure_textures.filter(number=self.number).exclude(pk=self.pk).first()
-        if x:
-            raise ValidationError({'number': f'Nummer {self.number} schon vergeben: {x.name}'})
-
-    def export(self):
-        data = {
-            'number': self.number,
-            'level': self.level,
-            'url': self.url,
-            'rights': self.rights,
-        }
-
-        # update prepared dict with additional_fields
-        # TODO: we are able to overwrite the DB values here, this is temporarily intended:
-        #       this is meant as a debugging aid and should be reversed after rC3 2021
-        if self.additional_fields:
-            data.update(self.additional_fields)
-
-        return data
diff --git a/src/core/sso.py b/src/core/sso.py
index e723ab7326160595a2853f5ac6bf4efb1b5ca477..75f7e33ee92f567a9070f6fb5fb510a8d751f9e6 100644
--- a/src/core/sso.py
+++ b/src/core/sso.py
@@ -57,7 +57,6 @@ class OAuth2Scopes(BaseScopes):
             scopes[c['slug'] + '_attendee'] = format_lazy(_('SSO__conf_attendee'), **c)
             scopes[c['slug'] + '_service_angels'] = format_lazy(_('SSO__svc_angels'), **c)
             scopes[c['slug'] + '_service_usermgmt'] = format_lazy(_('SSO__svc_usermgmt'), **c)
-            scopes[c['slug'] + '_service_wa'] = format_lazy(_('SSO__svc_workadventure'), **c)
 
         return scopes
 
diff --git a/src/core/tests/__init__.py b/src/core/tests/__init__.py
index cfd9aea2c8b872eee20bb9ecf54598886c73a040..c3ab01f833e0f19f3ffa875bae9e57ae6097f9ca 100644
--- a/src/core/tests/__init__.py
+++ b/src/core/tests/__init__.py
@@ -13,6 +13,5 @@ from .tickets import *  # noqa: F401, F403
 from .users import *  # noqa: F401, F403
 from .utils import *  # noqa: F401, F403
 from .validators import *  # noqa: F401, F403
-from .workadventure import *  # noqa: F401, F403
 
 __all__ = ('*',)  # noqa: F405
diff --git a/src/core/tests/workadventure.py b/src/core/tests/workadventure.py
deleted file mode 100644
index 6d6b8ab9339433c27856d6c9ddad4d922ab0b93d..0000000000000000000000000000000000000000
--- a/src/core/tests/workadventure.py
+++ /dev/null
@@ -1,81 +0,0 @@
-from django.test import TestCase
-
-from core.models import Assembly, Room, WorkadventureSession
-from core.models.conference import Conference, ConferenceMember
-from core.models.users import PlatformUser
-
-
-class WorkadventureSessionTests(TestCase):
-    def setUp(self):
-        self.conference = Conference(slug='test', name='Test Conference')
-        self.conference.save()
-        self.assembly = self.conference.assemblies.create(slug='fnord', state=Assembly.State.ACCEPTED)
-        self.room = self.assembly.rooms.create(conference=self.conference, room_type=Room.RoomType.WORKADVENTURE, slug='fnord')
-        self.user = PlatformUser(username='bernd')
-        self.user.save()
-        self.cm = ConferenceMember(conference=self.conference, user=self.user, active_angel=True)
-        self.cm.save()
-
-    def test_export_userdata(self):
-        session = WorkadventureSession.create_for_conference_user(conference=self.conference, user=self.user, room=self.room)
-
-        # verify a token has been generated
-        self.assertIsNotNone(session.token)
-        self.assertNotEqual(session.token, '')
-
-        # check flags are exported
-        data = session.export_userdata(conference_member=self.cm)
-        self.assertEqual(data['organizationSlug'], self.conference.slug)
-        self.assertEqual(data['userUuid'], str(session.pk))
-        self.assertEqual(data['nickname'], self.user.display_name)
-        wa_config = data.get('wa_userconfig')
-        self.assertIsNotNone(wa_config)
-        self.assertEqual(False, wa_config.get('noAnimations'))
-        self.assertIn('angel', data.get('tags'))
-
-        # check modified flags
-        self.user.no_animations = True
-        self.user.save()
-        data = session.export_userdata(conference_member=self.cm)
-        wa_config = data.get('wa_userconfig')
-        self.assertIsNotNone(wa_config)
-        self.assertEqual(True, wa_config.get('noAnimations'))
-
-    def test_update_userdata(self):
-        session = WorkadventureSession.create_for_conference_user(conference=self.conference, user=self.user, room=self.room)
-        self.user.receive_audio = True
-        self.user.receive_video = False
-        self.user.no_animations = False
-        self.user.wa_block_external_content = False
-        self.user.wa_block_ambient_sounds = False
-        self.user.wa_ignore_follow_requests = False
-        self.user.wa_force_website_trigger = False
-
-        self.user.save()
-        # send an update
-
-        session.update_userdata({'wa_userconfig': {'silentMode': True}})
-        self.user.refresh_from_db()
-        self.assertFalse(self.user.receive_audio)
-
-        session.update_userdata(
-            {
-                'wa_userconfig': {
-                    'silentMode': False,
-                    'disableCamera': False,
-                    'noAnimations': True,
-                    'blockExternalContent': True,
-                    'blockAmbientSounds': True,
-                    'ignoreFollowRequests': True,
-                    'forceWebsiteTrigger': True,
-                }
-            }
-        )
-        self.user.refresh_from_db()
-        self.assertTrue(self.user.receive_audio)
-        self.assertTrue(self.user.receive_video)
-        self.assertTrue(self.user.no_animations)
-        self.assertTrue(self.user.wa_block_external_content)
-        self.assertTrue(self.user.wa_block_ambient_sounds)
-        self.assertTrue(self.user.wa_ignore_follow_requests)
-        self.assertTrue(self.user.wa_force_website_trigger)
diff --git a/src/core/views/sso.py b/src/core/views/sso.py
index 8b3732d5dcfe2cd1f983a22a4ecd947da5654cbc..c9d1f4023abf51637971f9fef65dbc5ed6f20ffc 100644
--- a/src/core/views/sso.py
+++ b/src/core/views/sso.py
@@ -72,9 +72,6 @@ class IntrospectTokenView(ClientProtectedScopedResourceView):
             'exp': int(calendar.timegm(token.expires.timetuple())),
         }
 
-        # prepare user details and preferences
-        data = {**token.user.get_avatar_json(), **data}
-
         # send response as JSON
         return HttpResponse(content=json.dumps(data), status=200, content_type='application/json')
 
diff --git a/src/hub/settings/base.py b/src/hub/settings/base.py
index d32ac92f72b99957f2976cc8be3ce880d2e2cd7f..edfd10e2b2705e9be4fe4d3ebf12fe7d87044826 100644
--- a/src/hub/settings/base.py
+++ b/src/hub/settings/base.py
@@ -72,30 +72,6 @@ env = environ.FileAwareEnv(
     BIGBLUEBUTTON_INITIAL_PRESENTATION_URL=(str, None),
     HANGAR=(bool, False),
     HANGAR_URL=(str, None),
-    WORKADVENTURE=(bool, False),
-    WORKADVENTURE_URL_SCHEME_GENERAL=(str, 'http://visit.at.localhost:8080/'),
-    WORKADVENTURE_URL_SCHEME_ASSEMBLY=(
-        str,
-        'http://visit.at.localhost:8080/as/{assembly_slug}',
-    ),
-    WORKADVENTURE_URL_SCHEME_REGISTER=(
-        str,
-        'http://visit.at.localhost:8080/register/{token}',
-    ),
-    WORKADVENTURE_CORS_ORIGIN=(str, 'https://visit.at.localhost'),
-    WORKADVENTURE_BACKEND_MAP_PUSH_URL=(str, None),
-    WORKADVENTURE_BACKEND_MAP_PUSH_AUTHORIZATION=(str, None),
-    WORKADVENTURE_BACKEND_USERINFO_PUSH_URL=(str, None),
-    WORKADVENTURE_BACKEND_USERINFO_PUSH_AUTHORIZATION=(str, None),
-    WORKADVENTURE_MAPSERVICE_SYNC_URL=(str, None),
-    WORKADVENTURE_MAPSERVICE_SYNC_AUTHORIZATION=(str, None),
-    WORKADVENTURE_MAPSERVICE_SYNC_NOVERIFY=(bool, True),
-    WORKADVENTURE_MAPSERVICE_SYNCROOM_URL=(str, None),
-    WORKADVENTURE_MAPSERVICE_SYNCROOM_AUTHORIZATION=(str, None),
-    WORKADVENTURE_MAPSERVICE_SYNCROOM_NOVERIFY=(bool, True),
-    WORKADVENTURE_MAPSERVICE_LOGLEVEL_URL=(str, None),
-    WORKADVENTURE_MAPSERVICE_LOGLEVEL_AUTHORIZATION=(str, None),
-    WORKADVENTURE_MAPSERVICE_LOGLEVEL_NOVERIFY=(bool, True),
     ADMIN_BASE_URL=(str, '/c3admin'),
     API_BASE_URL=(str, '/api'),
     BACKOFFICE_BASE_URL=(str, '/backoffice'),
@@ -105,7 +81,6 @@ env = environ.FileAwareEnv(
     PLAINUI_DEREFERER_ALLOWLIST=(list, []),
     PLAINUI_DEREFERER_COUNTLIST=(list, []),
     PLAINUI_THEME_SUPPORT=(bool, False),
-    SHIBBOLEET_WA_ROOM_ID=('str', None),
     ASSEMBLY_BANNER_FILE_SIZE_LIMIT=(int, 2),
     ASSEMBLY_BANNER_WIDTH_MINIMUM=(int, 100),
     ASSEMBLY_BANNER_HEIGHT_MINIMUM=(int, 100),
@@ -589,41 +564,6 @@ BIGBLUEBUTTON_INITIAL_PRESENTATION_URL = env('BIGBLUEBUTTON_INITIAL_PRESENTATION
 INTEGRATIONS_HANGAR = env('HANGAR')
 HANGAR_URL = env('HANGAR_URL')
 
-# Workadventure
-INTEGRATIONS_WORKADVENTURE = env('WORKADVENTURE')
-WORKADVENTURE_URL_SCHEME_GENERAL = env('WORKADVENTURE_URL_SCHEME_GENERAL')
-WORKADVENTURE_URL_SCHEME_ASSEMBLY = env('WORKADVENTURE_URL_SCHEME_ASSEMBLY')
-WORKADVENTURE_URL_SCHEME_REGISTER = env('WORKADVENTURE_URL_SCHEME_REGISTER')
-WORKADVENTURE_CORS_ORIGIN = env('WORKADVENTURE_CORS_ORIGIN')
-
-WORKADVENTURE_TERMINATE_OLD_SESSIONS_ON_REGISTER = False
-
-# URL (and optional Authorization-Header value) for pushing maps to exneuland, accepts "%CONFSLUG% variable
-WORKADVENTURE_BACKEND_MAP_PUSH_URL = env('WORKADVENTURE_BACKEND_MAP_PUSH_URL')
-WORKADVENTURE_BACKEND_MAP_PUSH_AUTHORIZATION = env('WORKADVENTURE_BACKEND_MAP_PUSH_AUTHORIZATION')
-
-# URL (and optional Authorization-Header value) for pushing userinfo to exneuland, accepts "%CONFSLUG% and %USERID% variables
-WORKADVENTURE_BACKEND_USERINFO_PUSH_URL = env('WORKADVENTURE_BACKEND_USERINFO_PUSH_URL')
-WORKADVENTURE_BACKEND_USERINFO_PUSH_AUTHORIZATION = env('WORKADVENTURE_BACKEND_USERINFO_PUSH_AUTHORIZATION')
-
-# URL (and optional Authorization-Header value) for requesting mapservice sync, accepts "%CONFSLUG% variable
-WORKADVENTURE_MAPSERVICE_SYNC_URL = env('WORKADVENTURE_MAPSERVICE_SYNC_URL')
-WORKADVENTURE_MAPSERVICE_SYNC_AUTHORIZATION = env('WORKADVENTURE_MAPSERVICE_SYNC_AUTHORIZATION')
-WORKADVENTURE_MAPSERVICE_SYNC_NOVERIFY = env('WORKADVENTURE_MAPSERVICE_SYNC_NOVERIFY')
-
-# URL (and optional Authorization-Header value) for requesting mapservice sync of a single room, accepts "%CONFSLUG% and %ROOMID% variable
-WORKADVENTURE_MAPSERVICE_SYNCROOM_URL = env('WORKADVENTURE_MAPSERVICE_SYNCROOM_URL')
-WORKADVENTURE_MAPSERVICE_SYNCROOM_AUTHORIZATION = env('WORKADVENTURE_MAPSERVICE_SYNCROOM_AUTHORIZATION')
-WORKADVENTURE_MAPSERVICE_SYNCROOM_NOVERIFY = env('WORKADVENTURE_MAPSERVICE_SYNCROOM_NOVERIFY')
-
-# URL (and optional Authorization-Header value) for setting mapservice's loglevel, accepts "%CONFSLUG% variable
-WORKADVENTURE_MAPSERVICE_LOGLEVEL_URL = env('WORKADVENTURE_MAPSERVICE_LOGLEVEL_URL')
-WORKADVENTURE_MAPSERVICE_LOGLEVEL_AUTHORIZATION = env('WORKADVENTURE_MAPSERVICE_LOGLEVEL_AUTHORIZATION')
-WORKADVENTURE_MAPSERVICE_LOGLEVEL_NOVERIFY = env('WORKADVENTURE_MAPSERVICE_LOGLEVEL_NOVERIFY')
-
-# push maps to backend upon new data from mapservice?
-WORKADVENTURE_BACKEND_PUSH_ON_MAPSERVICE_DATA = True
-
 # ----------------------------------
 # Base URL Configurations
 # ----------------------------------
@@ -662,14 +602,6 @@ _handle_hostpattern_list(DEREFERRER_GLOBAL_ALLOWLIST, env('PLAINUI_DEREFERER_ALL
 DEREFERRER_COUNT_ACCESS = []
 _handle_hostpattern_list(DEREFERRER_COUNT_ACCESS, env('PLAINUI_DEREFERER_COUNTLIST'))
 
-# Shibboleet Mode: an entrypoint /shibboleet which adds the registered user to the conference and redirects to a new WA session
-# ID of the WorkAdventure room which shall be used as the entrypoint in the new WA session
-SHIBBOLEET_WA_ROOM_ID = env('SHIBBOLEET_WA_ROOM_ID')
-
-
-# Slug of the Lobby Room. Default Room to join in the Workadventure
-WORKADVENTURE_LOBBY_ROOM_SLUG = 'lobby'
-
 # flag if newly created pages are localized by default (or not)
 STATIC_PAGE_LOCALIZED_BY_DEFAULT = env.bool('STATICPAGES_LOCALIZED_BY_DEFAULT', False)
 # Time after which a non-refreshed static page lock will expire (in seconds)
diff --git a/src/hub/settings/default.py b/src/hub/settings/default.py
index 086f23d434f2fbd5ce55c3f4b7c17807b4619b62..dd4a524415f982b898af4bb8ff30652e94167d19 100644
--- a/src/hub/settings/default.py
+++ b/src/hub/settings/default.py
@@ -114,10 +114,10 @@ if IS_API or IS_BACKOFFICE:
 
     # CORS spec
     CORS_ALLOWED_ORIGINS = [
-        'https://visit.at.rc3.world',
+        # TODO: make this an env var
     ]
     CORS_ALLOWED_ORIGIN_REGEXES = [
-        r'^https:\/\/([\w\d-]+\.)*rc3\.world$',
+        # TODO: make this an env var
     ]
     CORS_URLS_REGEX = r'^/api/.*$'
 
diff --git a/src/hub/settings/test.py b/src/hub/settings/test.py
index b2db9cf16393674bde51b52fb720a21d815c38c9..f2333e6282e79745e14c91decd10497ddc97672d 100644
--- a/src/hub/settings/test.py
+++ b/src/hub/settings/test.py
@@ -4,7 +4,6 @@ os.environ.setdefault('DJANGO_SECRET_KEY', 'Testing101')
 
 from .default import *  # noqa: F401, E402, F403 # pylint: disable=wildcard-import,unused-wildcard-import
 
-INTEGRATIONS_WORKADVENTURE = True
 INTEGRATIONS_BBB = True
 
 BADGE_RATE_LIMIT = '1/h'
diff --git a/src/plainui/forms.py b/src/plainui/forms.py
index 9444cef763028b621049dfb2c33561f1c68a679d..6770a50cd0ebca5ee9532a15c100ee40021397bd 100644
--- a/src/plainui/forms.py
+++ b/src/plainui/forms.py
@@ -176,39 +176,16 @@ class RedeemTokenAddToUserForm(auth_forms.AuthenticationForm):
         return super().clean()
 
 
-class WorkadventureCompatibleUsernameField(auth_forms.UsernameField):
-    """
-    WorkAdventure does not support usernames that are longer than 20 characters.
-    Django on the otherhand has a default of max_length=150 for usernames.
-    (see https://git.cccv.de/hub/hub/-/issues/228)
-    """
-
-    def __init__(self, *args, **kwargs):
-        # overwrite or set the maximum length
-        kwargs['max_length'] = 20
-        super().__init__(*args, **kwargs)
-
-
 class RedeemTokenUserCreateForm(auth_forms.UserCreationForm):
     class Meta:
         model = PlatformUser
         fields = ('username',)
-        # Overwrite the auth_forms.UsernameField with its extended version that
-        # enforces usernames with less than 20 characters.
-        field_classes = {'username': WorkadventureCompatibleUsernameField}
 
     token = forms.CharField(max_length=None, widget=forms.HiddenInput())
 
     def __init__(self, conf, *args, **kwargs):
         super().__init__(*args, **kwargs)
         self.conf = conf
-        self['username'].help_text = (
-            gettext('Required. 20 characters or fewer. Letters, digits and @/./+/-/_ only.')
-            + '<br><b>'
-            + gettext('Your username is visible to others and cannot be changed later.')
-            + '</b><br>'
-            + gettext('The username will also be displayed next to your avatar inside the 2D world.')
-        )
 
     def clean(self):
         if self.conf.end <= now():
diff --git a/src/plainui/jinja2/plainui/components/avatar.html.j2 b/src/plainui/jinja2/plainui/components/avatar.html.j2
index 1ac2868a30d4b406713a6ce9d86d1f75b9486bdf..48ef14e11203024c2b7d03987e9b084906140c69 100644
--- a/src/plainui/jinja2/plainui/components/avatar.html.j2
+++ b/src/plainui/jinja2/plainui/components/avatar.html.j2
@@ -1,9 +1,6 @@
 {% macro avatar(user, scope="plattform") -%}
   <figure class="col hub-avatar">
-    {% if user and user.avatar_config %}
-      {{ wa(user.avatar_config) }}
-      {# {% elif user.avatar_url != None %} TODO: personal avatar if ever implemented #}
-    {% elif user and user.avatar %}
+    {% if user and user.avatar %}
       <img class="hub-avatar__img"
            src="{{ user.avatar.url }}"
            alt="{{ _('Avatar of %(name)s', name=user.get_display_name() ) }}">
@@ -18,1276 +15,3 @@
        src="{{ static('plainui/img/hub-no-avatar-%s-active.png' % (scope,) ) }}"
        alt="{{ _('Avatar image') }}">
 {%- endmacro %}
-
-{% macro wa(avatar_config) %}
-
-  {% if avatar_config and avatar_config.custom and avatar_config.index and avatar_config.index < 0 %}
-    <div class="hub-avatar__wa-stacked">
-      {% set color_resources = [
-        {
-          "name": "color_1",
-          "img": "img/wa-avatar/customisation/character_color/character_color0.png"
-        },
-        {
-          "name": "color_2",
-          "img": "img/wa-avatar/customisation/character_color/character_color1.png"
-        },
-        {
-          "name": "color_3",
-          "img": "img/wa-avatar/customisation/character_color/character_color2.png"
-        },
-        {
-          "name": "color_4",
-          "img": "img/wa-avatar/customisation/character_color/character_color3.png"
-        },
-        {
-          "name": "color_5",
-          "img": "img/wa-avatar/customisation/character_color/character_color4.png"
-        },
-        {
-          "name": "color_6",
-          "img": "img/wa-avatar/customisation/character_color/character_color5.png"
-        },
-        {
-          "name": "color_7",
-          "img": "img/wa-avatar/customisation/character_color/character_color6.png"
-        },
-        {
-          "name": "color_8",
-          "img": "img/wa-avatar/customisation/character_color/character_color7.png"
-        },
-        {
-          "name": "color_9",
-          "img": "img/wa-avatar/customisation/character_color/character_color8.png"
-        },
-        {
-          "name": "color_10",
-          "img": "img/wa-avatar/customisation/character_color/character_color9.png"
-        },
-        {
-          "name": "color_11",
-          "img": "img/wa-avatar/customisation/character_color/character_color10.png"
-        },
-        {
-          "name": "color_12",
-          "img": "img/wa-avatar/customisation/character_color/character_color11.png"
-        },
-        {
-          "name": "color_13",
-          "img": "img/wa-avatar/customisation/character_color/character_color12.png"
-        },
-        {
-          "name": "color_14",
-          "img": "img/wa-avatar/customisation/character_color/character_color13.png"
-        },
-        {
-          "name": "color_15",
-          "img": "img/wa-avatar/customisation/character_color/character_color14.png"
-        },
-        {
-          "name": "color_16",
-          "img": "img/wa-avatar/customisation/character_color/character_color15.png"
-        },
-        {
-          "name": "color_17",
-          "img": "img/wa-avatar/customisation/character_color/character_color16.png"
-        },
-        {
-          "name": "color_18",
-          "img": "img/wa-avatar/customisation/character_color/character_color17.png"
-        },
-        {
-          "name": "color_19",
-          "img": "img/wa-avatar/customisation/character_color/character_color18.png"
-        },
-        {
-          "name": "color_20",
-          "img": "img/wa-avatar/customisation/character_color/character_color19.png"
-        },
-        {
-          "name": "color_21",
-          "img": "img/wa-avatar/customisation/character_color/character_color20.png"
-        },
-        {
-          "name": "color_22",
-          "img": "img/wa-avatar/customisation/character_color/character_color21.png"
-        },
-        {
-          "name": "color_23",
-          "img": "img/wa-avatar/customisation/character_color/character_color22.png"
-        },
-        {
-          "name": "color_24",
-          "img": "img/wa-avatar/customisation/character_color/character_color23.png"
-        },
-        {
-          "name": "color_25",
-          "img": "img/wa-avatar/customisation/character_color/character_color24.png"
-        },
-        {
-          "name": "color_26",
-          "img": "img/wa-avatar/customisation/character_color/character_color25.png"
-        },
-        {
-          "name": "color_27",
-          "img": "img/wa-avatar/customisation/character_color/character_color26.png"
-        },
-        {
-          "name": "color_28",
-          "img": "img/wa-avatar/customisation/character_color/character_color27.png"
-        },
-        {
-          "name": "color_29",
-          "img": "img/wa-avatar/customisation/character_color/character_color28.png"
-        },
-        {
-          "name": "color_30",
-          "img": "img/wa-avatar/customisation/character_color/character_color29.png"
-        },
-        {
-          "name": "color_31",
-          "img": "img/wa-avatar/customisation/character_color/character_color30.png"
-        },
-        {
-          "name": "color_32",
-          "img": "img/wa-avatar/customisation/character_color/character_color31.png"
-        },
-        {
-          "name": "color_33",
-          "img": "img/wa-avatar/customisation/character_color/character_color32.png"
-        },
-        {
-          "name": "bodies_001",
-          "img": "img/wa-avatar/customisation/character_color/bodies_001.png"
-        },
-        {
-          "name": "bodies_002",
-          "img": "img/wa-avatar/customisation/character_color/bodies_002.png"
-        },
-        {
-          "name": "bodies_003",
-          "img": "img/wa-avatar/customisation/character_color/bodies_003.png"
-        },
-        {
-          "name": "bodies_004",
-          "img": "img/wa-avatar/customisation/character_color/bodies_004.png"
-        },
-        {
-          "name": "bodies_005",
-          "img": "img/wa-avatar/customisation/character_color/bodies_005.png"
-        },
-        {
-          "name": "bodies_006",
-          "img": "img/wa-avatar/customisation/character_color/bodies_006.png"
-        },
-        {
-          "name": "bodies_007",
-          "img": "img/wa-avatar/customisation/character_color/bodies_007.png"
-        },
-        {
-          "name": "bodies_008",
-          "img": "img/wa-avatar/customisation/character_color/bodies_008.png"
-        },
-        {
-          "name": "bodies_009",
-          "img": "img/wa-avatar/customisation/character_color/bodies_009.png"
-        },
-        {
-          "name": "bodies_010",
-          "img": "img/wa-avatar/customisation/character_color/bodies_010.png"
-        },
-        {
-          "name": "bodies_011",
-          "img": "img/wa-avatar/customisation/character_color/bodies_011.png"
-        },
-        {
-          "name": "bodies_012",
-          "img": "img/wa-avatar/customisation/character_color/bodies_012.png"
-        },
-        {
-          "name": "bodies_013",
-          "img": "img/wa-avatar/customisation/character_color/bodies_013.png"
-        },
-        {
-          "name": "bodies_014",
-          "img": "img/wa-avatar/customisation/character_color/bodies_014.png"
-        },
-        {
-          "name": "bodies_015",
-          "img": "img/wa-avatar/customisation/character_color/bodies_015.png"
-        },
-        {
-          "name": "bodies_016",
-          "img": "img/wa-avatar/customisation/character_color/bodies_016.png"
-        },
-        {
-          "name": "bodies_017",
-          "img": "img/wa-avatar/customisation/character_color/bodies_017.png"
-        },
-        {
-          "name": "old_01",
-          "img": "img/wa-avatar/customisation/character_color/old_01.png"
-        },
-        {
-          "name": "old_02",
-          "img": "img/wa-avatar/customisation/character_color/old_02.png"
-        },
-        {
-          "name": "old_03",
-          "img": "img/wa-avatar/customisation/character_color/old_03.png"
-        },
-        {
-          "name": "old_04",
-          "img": "img/wa-avatar/customisation/character_color/old_04.png"
-        },
-        {
-          "name": "old_05",
-          "img": "img/wa-avatar/customisation/character_color/old_05.png"
-        }
-      ] %}
-
-      {% set eyes_resources = [
-        {
-          "name": "eyes_1",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes1.png"
-        },
-        {
-          "name": "eyes_2",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes2.png"
-        },
-        {
-          "name": "eyes_3",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes3.png"
-        },
-        {
-          "name": "eyes_4",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes4.png"
-        },
-        {
-          "name": "eyes_5",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes5.png"
-        },
-        {
-          "name": "eyes_6",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes6.png"
-        },
-        {
-          "name": "eyes_7",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes7.png"
-        },
-        {
-          "name": "eyes_8",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes8.png"
-        },
-        {
-          "name": "eyes_9",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes9.png"
-        },
-        {
-          "name": "eyes_10",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes10.png"
-        },
-        {
-          "name": "eyes_11",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes11.png"
-        },
-        {
-          "name": "eyes_12",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes12.png"
-        },
-        {
-          "name": "eyes_13",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes13.png"
-        },
-        {
-          "name": "eyes_14",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes14.png"
-        },
-        {
-          "name": "eyes_15",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes15.png"
-        },
-        {
-          "name": "eyes_16",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes16.png"
-        },
-        {
-          "name": "eyes_17",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes17.png"
-        },
-        {
-          "name": "eyes_18",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes18.png"
-        },
-        {
-          "name": "eyes_19",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes19.png"
-        },
-        {
-          "name": "eyes_20",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes20.png"
-        },
-        {
-          "name": "eyes_21",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes21.png"
-        },
-        {
-          "name": "eyes_22",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes22.png"
-        },
-        {
-          "name": "eyes_23",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes23.png"
-        },
-        {
-          "name": "eyes_24",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes24.png"
-        },
-        {
-          "name": "eyes_25",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes25.png"
-        },
-        {
-          "name": "eyes_26",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes26.png"
-        },
-        {
-          "name": "eyes_27",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes27.png"
-        },
-        {
-          "name": "eyes_28",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes28.png"
-        },
-        {
-          "name": "eyes_29",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes29.png"
-        },
-        {
-          "name": "eyes_30",
-          "img": "img/wa-avatar/customisation/character_eyes/character_eyes30.png"
-        }
-      ] %}
-
-      {% set hair_resources = [
-        {
-          "name": "hair_1",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs0.png"
-        },
-        {
-          "name": "hair_2",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs1.png"
-        },
-        {
-          "name": "hair_3",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs2.png"
-        },
-        {
-          "name": "hair_4",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs3.png"
-        },
-        {
-          "name": "hair_5",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs4.png"
-        },
-        {
-          "name": "hair_6",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs5.png"
-        },
-        {
-          "name": "hair_7",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs6.png"
-        },
-        {
-          "name": "hair_8",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs7.png"
-        },
-        {
-          "name": "hair_9",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs8.png"
-        },
-        {
-          "name": "hair_10",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs9.png"
-        },
-        {
-          "name": "hair_11",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs10.png"
-        },
-        {
-          "name": "hair_12",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs11.png"
-        },
-        {
-          "name": "hair_13",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs12.png"
-        },
-        {
-          "name": "hair_14",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs13.png"
-        },
-        {
-          "name": "hair_15",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs14.png"
-        },
-        {
-          "name": "hair_16",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs15.png"
-        },
-        {
-          "name": "hair_17",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs16.png"
-        },
-        {
-          "name": "hair_18",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs17.png"
-        },
-        {
-          "name": "hair_19",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs18.png"
-        },
-        {
-          "name": "hair_20",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs19.png"
-        },
-        {
-          "name": "hair_21",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs20.png"
-        },
-        {
-          "name": "hair_22",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs21.png"
-        },
-        {
-          "name": "hair_23",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs22.png"
-        },
-        {
-          "name": "hair_24",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs23.png"
-        },
-        {
-          "name": "hair_25",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs24.png"
-        },
-        {
-          "name": "hair_26",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs25.png"
-        },
-        {
-          "name": "hair_27",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs26.png"
-        },
-        {
-          "name": "hair_28",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs27.png"
-        },
-        {
-          "name": "hair_29",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs28.png"
-        },
-        {
-          "name": "hair_30",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs29.png"
-        },
-        {
-          "name": "hair_31",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs30.png"
-        },
-        {
-          "name": "hair_32",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs31.png"
-        },
-        {
-          "name": "hair_33",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs32.png"
-        },
-        {
-          "name": "hair_34",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs33.png"
-        },
-        {
-          "name": "hair_35",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs34.png"
-        },
-        {
-          "name": "hair_36",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs35.png"
-        },
-        {
-          "name": "hair_37",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs36.png"
-        },
-        {
-          "name": "hair_38",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs37.png"
-        },
-        {
-          "name": "hair_39",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs38.png"
-        },
-        {
-          "name": "hair_40",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs39.png"
-        },
-        {
-          "name": "hair_41",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs40.png"
-        },
-        {
-          "name": "hair_42",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs41.png"
-        },
-        {
-          "name": "hair_43",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs42.png"
-        },
-        {
-          "name": "hair_44",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs43.png"
-        },
-        {
-          "name": "hair_45",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs44.png"
-        },
-        {
-          "name": "hair_46",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs45.png"
-        },
-        {
-          "name": "hair_47",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs46.png"
-        },
-        {
-          "name": "hair_48",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs47.png"
-        },
-        {
-          "name": "hair_49",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs48.png"
-        },
-        {
-          "name": "hair_50",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs49.png"
-        },
-        {
-          "name": "hair_51",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs50.png"
-        },
-        {
-          "name": "hair_52",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs51.png"
-        },
-        {
-          "name": "hair_53",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs52.png"
-        },
-        {
-          "name": "hair_54",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs53.png"
-        },
-        {
-          "name": "hair_55",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs54.png"
-        },
-        {
-          "name": "hair_56",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs55.png"
-        },
-        {
-          "name": "hair_57",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs56.png"
-        },
-        {
-          "name": "hair_58",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs57.png"
-        },
-        {
-          "name": "hair_59",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs58.png"
-        },
-        {
-          "name": "hair_60",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs59.png"
-        },
-        {
-          "name": "hair_61",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs60.png"
-        },
-        {
-          "name": "hair_62",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs61.png"
-        },
-        {
-          "name": "hair_63",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs62.png"
-        },
-        {
-          "name": "hair_64",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs63.png"
-        },
-        {
-          "name": "hair_65",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs64.png"
-        },
-        {
-          "name": "hair_66",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs65.png"
-        },
-        {
-          "name": "hair_67",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs66.png"
-        },
-        {
-          "name": "hair_68",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs67.png"
-        },
-        {
-          "name": "hair_69",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs68.png"
-        },
-        {
-          "name": "hair_70",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs69.png"
-        },
-        {
-          "name": "hair_71",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs70.png"
-        },
-        {
-          "name": "hair_72",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs71.png"
-        },
-        {
-          "name": "hair_73",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs72.png"
-        },
-        {
-          "name": "hair_74",
-          "img": "img/wa-avatar/customisation/character_hairs/character_hairs73.png"
-        }
-      ] %}
-
-      {% set clothes_resources = [
-        {
-          "name": "clothes_1",
-          "img": "img/wa-avatar/customisation/character_clothes/naked.png"
-        },
-        {
-          "name": "clothes_1",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes0.png"
-        },
-        {
-          "name": "clothes_2",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes1.png"
-        },
-        {
-          "name": "clothes_3",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes2.png"
-        },
-        {
-          "name": "clothes_4",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes3.png"
-        },
-        {
-          "name": "clothes_5",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes4.png"
-        },
-        {
-          "name": "clothes_6",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes5.png"
-        },
-        {
-          "name": "clothes_7",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes6.png"
-        },
-        {
-          "name": "clothes_8",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes7.png"
-        },
-        {
-          "name": "clothes_9",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes8.png"
-        },
-        {
-          "name": "clothes_10",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes9.png"
-        },
-        {
-          "name": "clothes_11",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes10.png"
-        },
-        {
-          "name": "clothes_12",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes11.png"
-        },
-        {
-          "name": "clothes_13",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes12.png"
-        },
-        {
-          "name": "clothes_14",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes13.png"
-        },
-        {
-          "name": "clothes_15",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes14.png"
-        },
-        {
-          "name": "clothes_16",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes15.png"
-        },
-        {
-          "name": "clothes_17",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes16.png"
-        },
-        {
-          "name": "clothes_18",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes17.png"
-        },
-        {
-          "name": "clothes_19",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes18.png"
-        },
-        {
-          "name": "clothes_20",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes19.png"
-        },
-        {
-          "name": "clothes_21",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes20.png"
-        },
-        {
-          "name": "clothes_22",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes21.png"
-        },
-        {
-          "name": "clothes_23",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes22.png"
-        },
-        {
-          "name": "clothes_24",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes23.png"
-        },
-        {
-          "name": "clothes_25",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes24.png"
-        },
-        {
-          "name": "clothes_26",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes25.png"
-        },
-        {
-          "name": "clothes_27",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes26.png"
-        },
-        {
-          "name": "clothes_28",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes27.png"
-        },
-        {
-          "name": "clothes_29",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes28.png"
-        },
-        {
-          "name": "clothes_30",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes29.png"
-        },
-        {
-          "name": "clothes_31",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes30.png"
-        },
-        {
-          "name": "clothes_32",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes31.png"
-        },
-        {
-          "name": "clothes_33",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes32.png"
-        },
-        {
-          "name": "clothes_34",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes33.png"
-        },
-        {
-          "name": "clothes_35",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes34.png"
-        },
-        {
-          "name": "clothes_36",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes35.png"
-        },
-        {
-          "name": "clothes_37",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes36.png"
-        },
-        {
-          "name": "clothes_38",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes37.png"
-        },
-        {
-          "name": "clothes_39",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes38.png"
-        },
-        {
-          "name": "clothes_40",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes39.png"
-        },
-        {
-          "name": "clothes_41",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes40.png"
-        },
-        {
-          "name": "clothes_42",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes41.png"
-        },
-        {
-          "name": "clothes_43",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes42.png"
-        },
-        {
-          "name": "clothes_44",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes43.png"
-        },
-        {
-          "name": "clothes_45",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes44.png"
-        },
-        {
-          "name": "clothes_46",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes45.png"
-        },
-        {
-          "name": "clothes_47",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes46.png"
-        },
-        {
-          "name": "clothes_48",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes47.png"
-        },
-        {
-          "name": "clothes_49",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes48.png"
-        },
-        {
-          "name": "clothes_50",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes49.png"
-        },
-        {
-          "name": "clothes_51",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes50.png"
-        },
-        {
-          "name": "clothes_52",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes51.png"
-        },
-        {
-          "name": "clothes_53",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes52.png"
-        },
-        {
-          "name": "clothes_54",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes53.png"
-        },
-        {
-          "name": "clothes_55",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes54.png"
-        },
-        {
-          "name": "clothes_56",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes55.png"
-        },
-        {
-          "name": "clothes_57",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes56.png"
-        },
-        {
-          "name": "clothes_58",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes57.png"
-        },
-        {
-          "name": "clothes_59",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes58.png"
-        },
-        {
-          "name": "clothes_60",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes59.png"
-        },
-        {
-          "name": "clothes_61",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes60.png"
-        },
-        {
-          "name": "clothes_62",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes61.png"
-        },
-        {
-          "name": "clothes_63",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes62.png"
-        },
-        {
-          "name": "clothes_64",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes63.png"
-        },
-        {
-          "name": "clothes_65",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes64.png"
-        },
-        {
-          "name": "clothes_66",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes65.png"
-        },
-        {
-          "name": "clothes_67",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes66.png"
-        },
-        {
-          "name": "clothes_68",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes67.png"
-        },
-        {
-          "name": "clothes_69",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes68.png"
-        },
-        {
-          "name": "clothes_70",
-          "img": "img/wa-avatar/customisation/character_clothes/character_clothes69.png"
-        },
-        {
-          "name": "red_stripes",
-          "img": "img/wa-avatar/customisation/character_clothes/red_stripes.png"
-        },
-        {
-          "name": "clothes_pride_shirt",
-          "img": "img/wa-avatar/customisation/character_clothes/pride_shirt.png"
-        },
-        {
-          "name": "clothes_black_hoodie",
-          "img": "img/wa-avatar/customisation/character_clothes/black_hoodie.png"
-        },
-        {
-          "name": "clothes_white_hoodie",
-          "img": "img/wa-avatar/customisation/character_clothes/white_hoodie.png"
-        },
-        {
-          "name": "clothes_engelbert",
-          "img": "img/wa-avatar/customisation/character_clothes/engelbert.png"
-        },
-        {
-          "name": "vest_yellow",
-          "img": "img/wa-avatar/customisation/character_clothes/vest_yellow.png"
-        },
-        {
-          "name": "vest_orange",
-          "img": "img/wa-avatar/customisation/character_clothes/vest_orange.png"
-        },
-        {
-          "name": "vest_red",
-          "img": "img/wa-avatar/customisation/character_clothes/vest_red.png"
-        },
-        {
-          "name": "vest_purple",
-          "img": "img/wa-avatar/customisation/character_clothes/vest_purple.png"
-        },
-        {
-          "name": "vest_blue",
-          "img": "img/wa-avatar/customisation/character_clothes/vest_blue.png"
-        },
-        {
-          "name": "vest_green",
-          "img": "img/wa-avatar/customisation/character_clothes/vest_green.png"
-        }
-      ] %}
-
-      {% set hats_resources = [
-        {
-          "name": "hats_1",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats1.png"
-        },
-        {
-          "name": "hats_2",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats2.png"
-        },
-        {
-          "name": "hats_3",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats3.png"
-        },
-        {
-          "name": "hats_4",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats4.png"
-        },
-        {
-          "name": "hats_5",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats5.png"
-        },
-        {
-          "name": "hats_6",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats6.png"
-        },
-        {
-          "name": "hats_7",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats7.png"
-        },
-        {
-          "name": "hats_8",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats8.png"
-        },
-        {
-          "name": "hats_9",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats9.png"
-        },
-        {
-          "name": "hats_10",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats10.png"
-        },
-        {
-          "name": "hats_11",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats11.png"
-        },
-        {
-          "name": "hats_12",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats12.png"
-        },
-        {
-          "name": "hats_13",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats13.png"
-        },
-        {
-          "name": "hats_14",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats14.png"
-        },
-        {
-          "name": "hats_15",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats15.png"
-        },
-        {
-          "name": "hats_16",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats16.png"
-        },
-        {
-          "name": "hats_17",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats17.png"
-        },
-        {
-          "name": "hats_18",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats18.png"
-        },
-        {
-          "name": "hats_19",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats19.png"
-        },
-        {
-          "name": "hats_20",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats20.png"
-        },
-        {
-          "name": "hats_21",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats21.png"
-        },
-        {
-          "name": "hats_22",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats22.png"
-        },
-        {
-          "name": "hats_23",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats23.png"
-        },
-        {
-          "name": "hats_24",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats24.png"
-        },
-        {
-          "name": "hats_25",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats25.png"
-        },
-        {
-          "name": "hats_26",
-          "img": "img/wa-avatar/customisation/character_hats/character_hats26.png"
-        },
-        {
-          "name": "tinfoil_hat1",
-          "img": "img/wa-avatar/customisation/character_hats/tinfoil_hat1.png"
-        },
-        {
-          "name": "purple_hat",
-          "img": "img/wa-avatar/customisation/character_hats/purple_hat.png"
-        },
-        {
-          "name": "diving_mask1",
-          "img": "img/wa-avatar/customisation/character_hats/diving_mask1.png"
-        },
-        {
-          "name": "accessory_mask",
-          "img": "img/wa-avatar/customisation/character_accessories/mask.png"
-        },
-        {
-          "name": "sign-dont-talk",
-          "img": "img/wa-avatar/customisation/character_accessories/sign-dont-talk.png"
-        },
-        {
-          "name": "sign-talk",
-          "img": "img/wa-avatar/customisation/character_accessories/sign-talk.png"
-        }
-      ] %}
-
-      {% set accessories_resources = [
-        {
-          "name": "accessory_1",
-          "img": "img/wa-avatar/customisation/character_accessories/character_accessories1.png"
-        },
-        {
-          "name": "accessory_22",
-          "img": "img/wa-avatar/customisation/character_accessories/character_accessories22.png"
-        },
-        {
-          "name": "accessory_23",
-          "img": "img/wa-avatar/customisation/character_accessories/character_accessories23.png"
-        },
-        {
-          "name": "accessory_24",
-          "img": "img/wa-avatar/customisation/character_accessories/character_accessories24.png"
-        },
-        {
-          "name": "accessory_25",
-          "img": "img/wa-avatar/customisation/character_accessories/character_accessories25.png"
-        },
-        {
-          "name": "accessory_26",
-          "img": "img/wa-avatar/customisation/character_accessories/character_accessories26.png"
-        },
-        {
-          "name": "accessory_27",
-          "img": "img/wa-avatar/customisation/character_accessories/character_accessories27.png"
-        },
-        {
-          "name": "accessory_28",
-          "img": "img/wa-avatar/customisation/character_accessories/character_accessories28.png"
-        },
-        {
-          "name": "accessory_mate_bottle",
-          "img": "img/wa-avatar/customisation/character_accessories/mate_bottle1.png"
-        },
-        {
-          "name": "accessory_mask",
-          "img": "img/wa-avatar/customisation/character_accessories/mask.png"
-        },
-        {
-          "name": "wings_01",
-          "img": "img/wa-avatar/customisation/character_accessories/wings_01.png"
-        },
-        {
-          "name": "wings_02",
-          "img": "img/wa-avatar/customisation/character_accessories/wings_02.png"
-        },
-        {
-          "name": "wheelchair",
-          "img": "img/wa-avatar/customisation/character_accessories/wheelchair.png"
-        },
-        {
-          "name": "backpack",
-          "img": "img/wa-avatar/customisation/character_accessories/backpack.png"
-        },
-        {
-          "name": "ring",
-          "img": "img/wa-avatar/customisation/character_accessories/ring.png"
-        },
-        {
-          "name": "sign-dont-talk",
-          "img": "img/wa-avatar/customisation/character_accessories/sign-dont-talk.png"
-        },
-        {
-          "name": "sign-talk",
-          "img": "img/wa-avatar/customisation/character_accessories/sign-talk.png"
-        }
-      ] %}
-
-      {% set body = [color_resources, eyes_resources, hair_resources, clothes_resources, hats_resources, accessories_resources, [], []] %}
-
-      {% for part in avatar_config.custom %}
-        {% if body[loop.index0][part] %}
-          <figure class="hub-avatar__wa-multi"
-                  style="background: url({{ static('plainui/' ~ body[loop.index0][part].img) }})"
-                  alt="{{ _('Avatar image') }}">
-          </figure>
-        {% endif %}
-      {% endfor %}
-    </div>
-  {% else %}
-
-    {% set av_std = [
-      {
-        "name": "male1",
-        "img": "img/wa-avatar/characters/pipoya/Male 01-1.png"
-      },
-      {
-        "name": "male2",
-        "img": "img/wa-avatar/characters/pipoya/Male 02-2.png"
-      },
-      {
-        "name": "male3",
-        "img": "img/wa-avatar/characters/pipoya/Male 03-4.png"
-      },
-      {
-        "name": "male4",
-        "img": "img/wa-avatar/characters/pipoya/Male 09-1.png"
-      },
-      {
-        "name": "male5",
-        "img": "img/wa-avatar/characters/pipoya/Male 10-3.png"
-      },
-      {
-        "name": "male6",
-        "img": "img/wa-avatar/characters/pipoya/Male 17-2.png"
-      },
-      {
-        "name": "male7",
-        "img": "img/wa-avatar/characters/pipoya/Male 18-1.png"
-      },
-      {
-        "name": "male8",
-        "img": "img/wa-avatar/characters/pipoya/Male 16-4.png"
-      },
-      {
-        "name": "Female1",
-        "img": "img/wa-avatar/characters/pipoya/Female 01-1.png"
-      },
-      {
-        "name": "Female2",
-        "img": "img/wa-avatar/characters/pipoya/Female 02-2.png"
-      },
-      {
-        "name": "Female3",
-        "img": "img/wa-avatar/characters/pipoya/Female 03-4.png"
-      },
-      {
-        "name": "Female4",
-        "img": "img/wa-avatar/characters/pipoya/Female 09-1.png"
-      },
-      {
-        "name": "Female5",
-        "img": "img/wa-avatar/characters/pipoya/Female 10-3.png"
-      },
-      {
-        "name": "Female6",
-        "img": "img/wa-avatar/characters/pipoya/Female 17-2.png"
-      },
-      {
-        "name": "Female7",
-        "img": "img/wa-avatar/characters/pipoya/Female 18-1.png"
-      },
-      {
-        "name": "Female8",
-        "img": "img/wa-avatar/characters/pipoya/Female 16-4.png"
-      }
-    ] %}
-    {% if av_std[avatar_config.index] %}
-      <figure class="hub-avatar__wa-std"
-              style="background: url({{ static('plainui/' ~ av_std[avatar_config.index].img) }})"
-              alt="{{ _('Avatar image') }}">
-      </figure>
-    {% else %}
-      {{ no_avatar() }}
-    {% endif %}
-  {% endif %}
-
-{%- endmacro %}
diff --git a/src/plainui/jinja2/plainui/components/list_rooms.html.j2 b/src/plainui/jinja2/plainui/components/list_rooms.html.j2
index 79f50fe6ed60b364316b8ae3391fa945058a6d9a..0acb698bc1efec59b9267ce4f0d2dfc273153a8a 100644
--- a/src/plainui/jinja2/plainui/components/list_rooms.html.j2
+++ b/src/plainui/jinja2/plainui/components/list_rooms.html.j2
@@ -25,10 +25,7 @@
     <div class="hub-grid-title">
       <span class="me-3 btn-icon-big"
             title="{{ _("roomtype") ~ ': ' ~ _(room.room_type) }}">{{ icon(room.room_type) }}</span>
-      <a href="{{ link }}"
-         title="{{ room.name }}"
-         {% if room.room_type == 'workadventure' %}target="_blank"{% endif %}
-         class="flex-grow-1">{{ room.name }}</a>
+      <a href="{{ link }}" title="{{ room.name }}" class="flex-grow-1">{{ room.name }}</a>
     </div>
     <div class="hub-grid-buttons">
       {% if room.capacity and room.capacity != None and room.capacity > 0 %}
@@ -84,15 +81,6 @@
       <path d="M9.812 1.952a.5.5 0 0 1-.312.89c-1.671 0-2.852.596-3.616 1.185L4.857 5.073V6.21a.5.5 0 0 1-.146.354L3.425 7.853a.5.5 0 0 1-.708 0L.146 5.274a.5.5 0 0 1 0-.706l1.286-1.29a.5.5 0 0 1 .354-.146H2.84C4.505 1.228 6.216.862 7.557 1.04a5.009 5.009 0 0 1 2.077.782l.178.129z" />
       <path fill-rule="evenodd" d="M6.012 3.5a.5.5 0 0 1 .359.165l9.146 8.646A.5.5 0 0 1 15.5 13L14 14.5a.5.5 0 0 1-.756-.056L4.598 5.297a.5.5 0 0 1 .048-.65l1-1a.5.5 0 0 1 .366-.147z" />
     </svg>
-  {% elif type=="workadventure" %}
-    <svg xmlns="http://www.w3.org/2000/svg"
-         width="16"
-         height="16"
-         fill="currentColor"
-         class="bi bi-globe"
-         viewBox="0 0 16 16">
-      <path fill-rule="evenodd" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855A7.97 7.97 0 0 0 5.145 4H7.5V1.077zM4.09 4H2.255a7.025 7.025 0 0 1 3.072-2.472 6.7 6.7 0 0 0-.597.933c-.247.464-.462.98-.64 1.539zm-.582 3.5h-2.49c.062-.89.291-1.733.656-2.5H3.82a13.652 13.652 0 0 0-.312 2.5zM4.847 5H7.5v2.5H4.51A12.5 12.5 0 0 1 4.846 5zM8.5 5v2.5h2.99a12.495 12.495 0 0 0-.337-2.5H8.5zM4.51 8.5H7.5V11H4.847a12.5 12.5 0 0 1-.338-2.5zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5H8.5zM5.145 12H7.5v2.923c-.67-.204-1.335-.82-1.887-1.855A7.97 7.97 0 0 1 5.145 12zm.182 2.472a6.696 6.696 0 0 1-.597-.933A9.268 9.268 0 0 1 4.09 12H2.255a7.024 7.024 0 0 0 3.072 2.472zM3.82 11H1.674a6.958 6.958 0 0 1-.656-2.5h2.49c.03.877.138 1.718.312 2.5zm6.853 3.472A7.024 7.024 0 0 0 13.745 12H11.91a9.27 9.27 0 0 1-.64 1.539 6.688 6.688 0 0 1-.597.933zM8.5 12h2.355a7.967 7.967 0 0 1-.468 1.068c-.552 1.035-1.218 1.65-1.887 1.855V12zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.65 13.65 0 0 1-.312 2.5zm2.802-3.5h-2.49A13.65 13.65 0 0 0 12.18 5h2.146c.365.767.594 1.61.656 2.5zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7.024 7.024 0 0 0-3.072-2.472c.218.284.418.598.597.933zM10.855 4H8.5V1.077c.67.204 1.335.82 1.887 1.855.173.324.33.682.468 1.068z" />
-    </svg>
   {% elif type=="capacity" %}
     <svg xmlns="http://www.w3.org/2000/svg"
          width="16"
diff --git a/src/plainui/jinja2/plainui/landing.html.j2 b/src/plainui/jinja2/plainui/landing.html.j2
index 78a25b162e1deea4981b560fe4f120b3c98a5a73..ce86fdca011a7ae69f2236f25525b9657ced1a46 100644
--- a/src/plainui/jinja2/plainui/landing.html.j2
+++ b/src/plainui/jinja2/plainui/landing.html.j2
@@ -21,9 +21,6 @@
         <div class="collapse navbar-collapse" id="navbarResponsive">
           <ul class="navbar-nav ms-auto">
             {%- if request.user.is_authenticated %}
-              {# TODO: look if world exists
-                                <a href="{{ url('plainui:world') }}" title="{{ _("world") }}" class="hub-header-link nav-link">
-                        #}
               <a href="{{ url('plainui:index') }}"
                  title="{{ _('platform') }}"
                  class="hub-header-link nav-link">{{ _('platform') }}</a>
diff --git a/src/plainui/jinja2/plainui/redeem_token.html.j2 b/src/plainui/jinja2/plainui/redeem_token.html.j2
index 09c5db365bbb0b86a81079a2d08105145bd43e34..4f302082b9bae4ad47e96eb40342b6972a84fde2 100644
--- a/src/plainui/jinja2/plainui/redeem_token.html.j2
+++ b/src/plainui/jinja2/plainui/redeem_token.html.j2
@@ -105,6 +105,7 @@
   {%- endif %}
 
   {% call alert.info(class="my-8") %}
+    <!-- TODO: Make the site url dynamic -->
     {{ _("User accounts from maschinenraum.rc3.world can be used to login.") }}
   {% endcall %}
 {% endblock content %}
diff --git a/src/plainui/jinja2/plainui/wa_contact.html.j2 b/src/plainui/jinja2/plainui/wa_contact.html.j2
deleted file mode 100644
index eb9eb9167a3198624898487e1c07de634bf547c2..0000000000000000000000000000000000000000
--- a/src/plainui/jinja2/plainui/wa_contact.html.j2
+++ /dev/null
@@ -1,25 +0,0 @@
-{% import "plainui/components/title.html.j2" as titleMacro with context %}
-{% import "plainui/components/markdown.html.j2" as markdownMacro %}
-<!DOCTYPE html>
-<html lang="{{ get_language() }}" class="no-js">
-  <head>
-    <meta charset="utf-8">
-    <link rel="stylesheet"
-          href="{{ static('plainui/%s.css' % (css_scope() ,)) }}?v=202112231340">
-    <title>Contact</title>
-    <style>
-            body {
-                background-color: unset !important;
-            }
-            article {
-                background-color: unset !important;
-            }
-    </style>
-  </head>
-  <body class="free-nobg">
-    <article class="pb-11">
-      {{ titleMacro.title(title=page.title) }}
-      {{ markdownMacro.markdown(markdown=page.body_html | safe) }}
-    </article>
-  </body>
-</html>
diff --git a/src/plainui/jinja2/plainui/wa_dereferrer.html.j2 b/src/plainui/jinja2/plainui/wa_dereferrer.html.j2
deleted file mode 100644
index 637809279843de3e1a4751bf4fbb49d8df1103ce..0000000000000000000000000000000000000000
--- a/src/plainui/jinja2/plainui/wa_dereferrer.html.j2
+++ /dev/null
@@ -1,41 +0,0 @@
-{% extends "plainui/base.html.j2" %}
-{% block title %}
-  Dereferrer
-{% endblock title %}
-{% block body %}
-
-  <article class="d-flex justify-content-center align-items-center">
-    <section class="p-3 border text-center mw-810">
-      <h1>{{ _("Hey") }}</h1>
-
-      <p>
-        {{ _("You are leaving the »RC3-area«. For external sites, streams and applications the actual owners are completely and solely responsible regarding data protection, copyright, youth protection, etc.!") }}
-      </p>
-
-      <p>
-        Link Preview: <span style="font-weight: bold;">{{ plain_url }}</span>
-      </p>
-
-      <ul class="d-flex justify-content-center list-unstyled mb-0 mt-3">
-        <li class="mx-2 d-js-only">
-          <a onclick="javascript:history.back()"
-             class="btn btn-primary"
-             title="{{ _('Back') }}">{{ _('Back') }}</a>
-        </li>
-        <li class="mx-2">
-          <a href='{{ url("plainui:dereferrer_approved", signed_payload=signed_url) }}'
-             class="btn btn-primary "
-             rel="external,noreferrer">{{ _("Follow Link") }}</a>
-        </li>
-        {% if can_allow %}
-          <li class="col">
-            <a href="{{ url('plainui:dereferrer_save', signed_payload=signed_url) }}"
-               class="btn btn-xl btn-block btn-primary external"
-               rel="external,noreferrer">{{ _("Follow & Allow '%(domain)s' permanently", domain=domain) }}</a>
-          </li>
-        {% endif %}
-      </ul>
-    </section>
-  </article>
-
-{% endblock body %}
diff --git a/src/plainui/jinja2/plainui/wa_vcard.html.j2 b/src/plainui/jinja2/plainui/wa_vcard.html.j2
deleted file mode 100644
index b1984d0b48f85057a16b1babd1ce8df489dbc49c..0000000000000000000000000000000000000000
--- a/src/plainui/jinja2/plainui/wa_vcard.html.j2
+++ /dev/null
@@ -1,39 +0,0 @@
-{% import "plainui/components/title.html.j2" as titleMacro with context %}
-{% import "plainui/components/markdown.html.j2" as markdownMacro %}
-<!DOCTYPE html>
-<html lang="{{ get_language() }}" class="no-js">
-  <head>
-    <meta charset="utf-8">
-    <link rel="stylesheet"
-          href="{{ static('plainui/%s.css' % (css_scope() ,)) }}?v=202112231340">
-    <title>Contact Card</title>
-    <style>
-            body {
-                background-color: #000;
-            }
-    </style>
-  </head>
-  <body class="free-nobg">
-
-    <article>
-      <section class="p-3 border mw-810"
-               style="width: 500px;
-                      height: 250px;
-                      overflow-y: scroll">
-        {% if vcard_user %}
-          <h1>{{ vcard_user.display_name }}</h1>
-          {% if active_angel %}
-            <p style="font-style: italic">{{ _("Angel") }}</p>
-            ;
-          {% endif -%}
-
-          {{ markdownMacro.markdown(markdown=(vcard_user.description_html or '') | safe, border=False) }}
-        {% else %}
-          <h1>
-            USER: <span style="color: red;">404</span> ?!
-          </h1>
-        {% endif %}
-      </section>
-    </article>
-  </body>
-</html>
diff --git a/src/plainui/jinja2/plainui/world.html.j2 b/src/plainui/jinja2/plainui/world.html.j2
deleted file mode 100644
index 3ede9c87b4838aec1447a3c2f20c6e5f35515757..0000000000000000000000000000000000000000
--- a/src/plainui/jinja2/plainui/world.html.j2
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends "plainui/base.html.j2" %}
-{% import "plainui/components/markdown.html.j2" as markdownMacro %}
-{% import "plainui/components/image.html.j2" as imageMacro %}
-
-{% block title %}
-  {{ conf.name }} - {{ _("2D World") }}
-{% endblock title %}
-{% block content %}
-  <article>
-    <div class="w-100 text-center my-12">
-      <a href="{{ url('plainui:world_join') }}"
-         class="btn-transparent h1 px-4 d-inline-block"
-         target="_blank">Enter 2D World</a>
-    </div>
-
-    {{ markdownMacro.markdown(markdown=page.body_html|safe) }}
-  </article>
-
-  <hr class="hub-spacer">
-
-{% endblock content %}
diff --git a/src/plainui/locale/de/LC_MESSAGES/django.po b/src/plainui/locale/de/LC_MESSAGES/django.po
index 15e04eda7755b5e9a868301d0831d6c7faf978f9..68f0907af55bed3c82aaf23f61f2f91ff88a4b1a 100644
--- a/src/plainui/locale/de/LC_MESSAGES/django.po
+++ b/src/plainui/locale/de/LC_MESSAGES/django.po
@@ -54,15 +54,6 @@ msgstr ""
 msgid "The Conference is over!"
 msgstr "Die Konferenz ist vorbei!"
 
-msgid "Required. 20 characters or fewer. Letters, digits and @/./+/-/_ only."
-msgstr "Erforderlich. 20 Zeichen oder weniger. Nur Buchstaben, Ziffern und @/./+/-/_."
-
-msgid "Your username is visible to others and cannot be changed later."
-msgstr "Dein Benutzername wird für andere sichtbar sein und kann später nicht mehr geändert werden."
-
-msgid "The username will also be displayed next to your avatar inside the 2D world."
-msgstr "Der Benutzername wird außerdem neben deinem Avatar in der 2D-Welt angezeigt."
-
 msgid "Username"
 msgstr "Benutzername"
 
@@ -494,9 +485,6 @@ msgstr "Die Konferenz beginnt erst noch. Aktuell ist:"
 msgid "index__box-whatshappening__day"
 msgstr "Tag"
 
-msgid "world"
-msgstr "World"
-
 msgid "platform"
 msgstr "Plattform"
 
@@ -828,12 +816,6 @@ msgstr "An dieser Stelle entsteht gerade der Hub für den 38c3, bitte gedulde di
 msgid "Send PN"
 msgstr "DN senden"
 
-msgid "Angel"
-msgstr "Engel"
-
-msgid "2D World"
-msgstr "2D-Welt"
-
 msgid "Password changed successfully."
 msgstr "Passwort erfolgreich geändert"
 
@@ -878,13 +860,6 @@ msgstr "Bulletin Board Eintrag gelöscht."
 msgid "UserDereferrerAllowlist--deleted"
 msgstr "Eintrag aus den freigeschalteten Domains entfernt!"
 
-msgid "Unspecified error, room is probably full?"
-msgstr "Unbestimmter Fehler, der Raum ist vermutlich voll?"
-
-#, python-format
-msgid "Joining Failed: %s"
-msgstr "Beitreten Fehlgeschlagen: %s"
-
 msgid "Message sent."
 msgstr "Nachricht verschickt"
 
diff --git a/src/plainui/locale/en/LC_MESSAGES/django.po b/src/plainui/locale/en/LC_MESSAGES/django.po
index 718759fb820576b7595b62794ab9ae99cab4ecba..b4633e5c5ea92a7b0ef36bfd8f7265332b52afcc 100644
--- a/src/plainui/locale/en/LC_MESSAGES/django.po
+++ b/src/plainui/locale/en/LC_MESSAGES/django.po
@@ -54,15 +54,6 @@ msgstr ""
 msgid "The Conference is over!"
 msgstr ""
 
-msgid "Required. 20 characters or fewer. Letters, digits and @/./+/-/_ only."
-msgstr ""
-
-msgid "Your username is visible to others and cannot be changed later."
-msgstr ""
-
-msgid "The username will also be displayed next to your avatar inside the 2D world."
-msgstr ""
-
 msgid "Username"
 msgstr ""
 
@@ -494,9 +485,6 @@ msgstr "The conference has not started yet. Currently it is:"
 msgid "index__box-whatshappening__day"
 msgstr "day"
 
-msgid "world"
-msgstr ""
-
 msgid "platform"
 msgstr ""
 
@@ -828,12 +816,6 @@ msgstr "The hub for the 38c3 is currently being built here, please be patient."
 msgid "Send PN"
 msgstr "Send DN"
 
-msgid "Angel"
-msgstr "Angel"
-
-msgid "2D World"
-msgstr ""
-
 msgid "Password changed successfully."
 msgstr ""
 
@@ -878,13 +860,6 @@ msgstr ""
 msgid "UserDereferrerAllowlist--deleted"
 msgstr "allowlist entry removed"
 
-msgid "Unspecified error, room is probably full?"
-msgstr ""
-
-#, python-format
-msgid "Joining Failed: %s"
-msgstr ""
-
 msgid "Message sent."
 msgstr ""
 
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-1.png
deleted file mode 100644
index f4046cd4c0da0e8ed4013de3b9e2be76ba632110..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-2.png
deleted file mode 100644
index c4f6d365d55ebd2516750e92b1783de4d763547e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-3.png
deleted file mode 100644
index 4495723337684a644eecaaf23260d5a0cf104886..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Cat 01-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-1.png
deleted file mode 100644
index 784fcdd50d0ecf225a24f4dfbd029a87b9c134a1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-2.png
deleted file mode 100644
index 7f41ac13c0597a692faff55236823a166a38b84b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-3.png
deleted file mode 100644
index 98e1148a7bd204f6ede986d7cbea1ef46e1cf4a6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Dog 01-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-1.png
deleted file mode 100644
index 6faef1fddc4df92b6c531bd3113bbf51ccb6b3c9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-2.png
deleted file mode 100644
index ddc61ce2b830cefdc5464faa1601b75f70551f1f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-3.png
deleted file mode 100644
index f80ff5733fbc5f390cbe713eb0cdca99d40e82d5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-4.png
deleted file mode 100644
index c92d91ccda4030f3b5df14f237fabc98238369a6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 01-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-1.png
deleted file mode 100644
index 5227dc6b075b007a31ab86bb5683d12ae5f5e707..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-2.png
deleted file mode 100644
index 86420db9a9039bbabe6b5d808477bd2e3afa41be..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-3.png
deleted file mode 100644
index 72db93968c485f57561e22929ff1ab90aed4f27a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-4.png
deleted file mode 100644
index f85a5938d1fe02b3833483087bbeed4a2f7b2051..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 02-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-1.png
deleted file mode 100644
index 4bc592ca38cc42c30716bb5a10bd0a8345f4e242..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-2.png
deleted file mode 100644
index 570f8529ecbdce00bf631fecf35c5f26012c5720..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-3.png
deleted file mode 100644
index 7121dd39935c64e1aad8ed91476882c9bf31be19..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-4.png
deleted file mode 100644
index 3e5dcb5339131de9b75fe42e4c21d410395a40ac..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 03-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-1.png
deleted file mode 100644
index 4f979b0b558919a2ee4eb7394e316660503a8949..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-2.png
deleted file mode 100644
index 2a9b61f2471d0a182f38edd43d7ecdad29ed5aa2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-3.png
deleted file mode 100644
index 8c9bcbe7b67f40baa0bfb40103f67b2f5b948c7f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-4.png
deleted file mode 100644
index cdbd6a127f448558caa5c0f86b44970c56ddcfb3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 04-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-1.png
deleted file mode 100644
index 976b126eacaf87ecb3f4ac0bfc083086a63d587b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-2.png
deleted file mode 100644
index f3fa2ce7f5d015bd0af55871520303fbdfda1e99..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-3.png
deleted file mode 100644
index 41b4565334cab4411b9075d7a5dbcab6c4d32b2f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-4.png
deleted file mode 100644
index df2e871105374daa5157933436848ffe1c21d9c4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 05-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-1.png
deleted file mode 100644
index 48c1f2606effa058a8469fb14569c771c692871d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-2.png
deleted file mode 100644
index 67d84dfb338547551f85890abae5d1bdf3c75b3e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-3.png
deleted file mode 100644
index 8899e515d8fd287a2173d7cf3f96a5fbb49dca70..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-4.png
deleted file mode 100644
index 6b916cb2f0feeadfd031381d6b0610d14126dd30..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 06-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-1.png
deleted file mode 100644
index 3a1fbc12a0da8980fb8917c531b43f2085b11b04..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-2.png
deleted file mode 100644
index 63462e78ec1a15a463543c87bcea5bcc2b1f2341..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-3.png
deleted file mode 100644
index 188045fc3f77070946bb49943502a193998a29ae..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-4.png
deleted file mode 100644
index 92912db7c2fb19aae96f9076bb2662a36c43850d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 07-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-1.png
deleted file mode 100644
index 3b4c7e6bc44040e33a04d40a315a1691b888386c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-2.png
deleted file mode 100644
index c6dd4a15e0ed3d9112b40a7779f854fac866282c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-3.png
deleted file mode 100644
index b7d83e7e00059da4aeb913f2439fb22ba2ec47b8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-4.png
deleted file mode 100644
index 62a0a7a9cf0d51fd6576d94954adecd96a32a046..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 08-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-1.png
deleted file mode 100644
index a66ad7ebf99380bc4d7766baedc600036ce7ff06..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-2.png
deleted file mode 100644
index 139f2cdf37e452c46f485c3fdbf57e4c6766102b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-3.png
deleted file mode 100644
index 307b4d63a2948a42005ea386a6d6c6dc90d09977..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-4.png
deleted file mode 100644
index 5082be7abb222f16ca9398e91a076f4d1082d2c6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 09-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-1.png
deleted file mode 100644
index d9a2f0560b7fa16b388b20426cd5751e6054a3d4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-2.png
deleted file mode 100644
index 8d3b75df5b33cbd6a25986911881c850f86e970a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-3.png
deleted file mode 100644
index 3229ae111eb244cc2922af7895bb3cea69a1cdca..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-4.png
deleted file mode 100644
index d01d3a7999b7ecdca4eddd4709d33883bcc7a34a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 10-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-1.png
deleted file mode 100644
index 5a81dcd55856b3eae9606c37ddd06c9e7db47290..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-2.png
deleted file mode 100644
index b842a6d2d292d4668b5cd2114dd907db49ab3864..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-3.png
deleted file mode 100644
index 424b56806dfba299a976b5f7d276d2e784008e18..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-4.png
deleted file mode 100644
index 9aae74d739dd47445ac7d4f0ce1858ec3377987b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 11-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-1.png
deleted file mode 100644
index 7859cdd40945f3421588b958eebcb60fcffdcd65..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-2.png
deleted file mode 100644
index c8aef765a30f0e816733874e7b68dc1bc5bf86da..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-3.png
deleted file mode 100644
index c93f8e82c8b7453dcd4dcdb8d52cdb8f68c57d55..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-4.png
deleted file mode 100644
index 8f1402e36b2f07248fb2dc2fb866136859defdac..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 12-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-1.png
deleted file mode 100644
index 59199a62c221b30d9a9b7fb0f8be484f40f068a0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-2.png
deleted file mode 100644
index 7491ab2419f4dedf75c38e7037445caafde12ac4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-3.png
deleted file mode 100644
index 683ba463a1cc9e2447a5d38acb6319dba3966606..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-4.png
deleted file mode 100644
index 7c4ba177426e7a6fcc2b6f0ada208dd122a8fe76..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 13-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-1.png
deleted file mode 100644
index ad78a781c7978f661b5c5bf5bd7cb858b3a9be86..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-2.png
deleted file mode 100644
index 58638604302611514cb4e9519253185729329ef1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-3.png
deleted file mode 100644
index 204db73120a8cb9f971ee065295dd04be38c5fd3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-4.png
deleted file mode 100644
index 72f88927595566a0ac5e8fd97f2f767cc09af637..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 14-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-1.png
deleted file mode 100644
index d81c9be59e81075edbde9caf2adebf74fa7d1e48..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-2.png
deleted file mode 100644
index b0c1b3c41c6c690bb4ff80f0f03f77096d25e8be..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-3.png
deleted file mode 100644
index d1c8c4edcfa6954e2f17f2a1863d585b8fad0156..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-4.png
deleted file mode 100644
index b9f811cb9a51342250fa5d0ebf7c86f71745961e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 15-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-1.png
deleted file mode 100644
index d0205ea7e0f86a85044a861943ebe56e63f1f485..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-2.png
deleted file mode 100644
index 8d4033bda3fcf50a594abf69c302ce7060f746f3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-3.png
deleted file mode 100644
index 828e409136650d21bee31bcb94411d23939dc20f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-4.png
deleted file mode 100644
index ba9039bca3d6829d875bbbacc28eecbd7cf90e80..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 16-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-1.png
deleted file mode 100644
index 42c90d4704e7663cb2d976d49c04ed0781e4644c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-2.png
deleted file mode 100644
index 5c5f12b40d7a4bb2316f8afb43a81f5b865963fb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-3.png
deleted file mode 100644
index 0f18ef189b0d4ca7bd57748738240d35129cb1de..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-4.png
deleted file mode 100644
index 5e6436e866cf271e76cf6a58a83132777e5dec3e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 17-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-1.png
deleted file mode 100644
index a6f33c257aeabdd293909b9487eadfaf075f2ec1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-2.png
deleted file mode 100644
index 24bf7a27de65ca017f3e70b2ee4efce70a7999ef..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-3.png
deleted file mode 100644
index ff1aecde1cbabd68880ab73188e7cdd343ab8901..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-4.png
deleted file mode 100644
index 7c7adcf1906922c115c667060f83b32e6cdb6e1d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 18-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-1.png
deleted file mode 100644
index 42903660548c74d05e9cc3188e9033a8f571535e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-2.png
deleted file mode 100644
index b6dd602c3ed8d18f5f17b7ae39a9a40e2148462c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-3.png
deleted file mode 100644
index 586269922bdae79ae8adec55fa0903f82697ec50..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-4.png
deleted file mode 100644
index 8896fd61a69c2e73bb0a7665dd1c89aecc6f1521..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 19-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-1.png
deleted file mode 100644
index fd775bbdacbc00274839cc3d91efa2c55e2bbc4b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-2.png
deleted file mode 100644
index 5417531811f53ca2191d0f4a1d8f39902957bca9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-3.png
deleted file mode 100644
index 277fae82dbc3e17f4cb00d02b829075e32d8bb0f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-4.png
deleted file mode 100644
index cfd907c88286c37c92191dcf099303ca21c49bf8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 20-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-1.png
deleted file mode 100644
index 7c5e3449518811ddf096b2b048e11389d6b96f34..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-2.png
deleted file mode 100644
index c3461de14b3896bbb2bc1f9801dffde23dda3f94..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-3.png
deleted file mode 100644
index 04fde9cc217eec2e61ecaeaaea4e06160e8ab44c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-4.png
deleted file mode 100644
index 7f1a436c65944655022fc1ff22d0c5aec9044b30..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 21-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-1.png
deleted file mode 100644
index f6f1b3a715cdc8cbf0094c065216c0e48de559f8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-2.png
deleted file mode 100644
index 4a6146051a2d655c02dba3f6e637bbf41ce4eab9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-3.png
deleted file mode 100644
index ef5289e5baf8400407f4e30780a558f6b3985981..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-4.png
deleted file mode 100644
index 04d7ec1503c3c94f15d1f5c49787debbed90378f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 22-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 23-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 23-1.png
deleted file mode 100644
index 1914227790126a8daeb7ab4659c23bba98fb0277..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 23-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 24-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 24-1.png
deleted file mode 100644
index 02f8ea1274c75403fdfa8f8ca4fdf1494ab17ec3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 24-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 25-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 25-1.png
deleted file mode 100644
index f2f92726964388e4c5a7b97b613218d5a535c284..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Female 25-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Headmaster fmale.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Headmaster fmale.png
deleted file mode 100644
index f5553f6f7f7bfab439ce3df21395901685954bab..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Headmaster fmale.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Headmaster male.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Headmaster male.png
deleted file mode 100644
index 965537392a04b6226e0d45b034364bb9ddd738c4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Headmaster male.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-1.png
deleted file mode 100644
index d4c12b28e9b1821c5dbad942c1d951c950ea6707..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-2.png
deleted file mode 100644
index 6fd95806dd13a289355ad0089c6bfd6f6b8f1be6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-3.png
deleted file mode 100644
index 3c9adcb648f26b317dc90234631ed3baf1dfd3a1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-4.png
deleted file mode 100644
index fe93235e648de4a8500e5f5ad56f32885bf2d536..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 01-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-1.png
deleted file mode 100644
index 6944c151cc3a1e04152d675f889e643275a3d50e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-2.png
deleted file mode 100644
index 1d1f1ea0f779cd432d2f13c38021c2ec85865bc3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-3.png
deleted file mode 100644
index 5ceac8f7abdc3b2c1debcfc93519a5c8631e4e17..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-4.png
deleted file mode 100644
index 5403f974dcad61cbffb57db5ba80b2b9463fc886..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 02-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-1.png
deleted file mode 100644
index a3c2f3658b82577ca3bca4278f64ac5ede74bb28..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-2.png
deleted file mode 100644
index f0d88a7b4af7f252e898eb9715df2380c3fa7051..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-3.png
deleted file mode 100644
index c7d458ee7e41fd47362b07827a0436bece8d9d1d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-4.png
deleted file mode 100644
index 571c0af6a2d58d7e23985778214c1135e3e93b27..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 03-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-1.png
deleted file mode 100644
index 0fa5333db4cba35a6e8ad31fde5567f654b2ec9b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-2.png
deleted file mode 100644
index 436de7a5cdf39fa7d8a7ca030e05d30bd81d6aef..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-3.png
deleted file mode 100644
index a58eebc07827ee24a0b7f6706d083388a5f2240c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-4.png
deleted file mode 100644
index 746fbb5c8456cc702a6564040c414465739869d0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 04-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-1.png
deleted file mode 100644
index 05dcc5d0c2d2caa1588f4160fe0272bd24c00291..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-2.png
deleted file mode 100644
index 197ac245204d8f40a02d248aac9e77143a41e755..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-3.png
deleted file mode 100644
index 8b7c43f58f5ff8f03f743dae9076df65836a3089..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-4.png
deleted file mode 100644
index 9246b9bdd777e4e388ea3b9cf97bc13ba4ada234..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 05-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-1.png
deleted file mode 100644
index 85ae0ceebffff27dbea19ed09fc01998fd4a2d50..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-2.png
deleted file mode 100644
index b13f96eac9c9dd36e51495e1b0d3dc303766ddfe..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-3.png
deleted file mode 100644
index 42d3e8605bdd67c36a36e52bd27dffcc6a4283d4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-4.png
deleted file mode 100644
index 35f4aaef8833c92a5fc0111dd4f6a4d0a895c0ab..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 06-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-1.png
deleted file mode 100644
index a0e2722df92f98fe3f55816143da97fc158afda4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-2.png
deleted file mode 100644
index a3fdaa72889dd4679f8c89081f57489d75bd24b9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-3.png
deleted file mode 100644
index f6799023fcc2d7206c4e0ccea844b1c044b13edf..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-4.png
deleted file mode 100644
index 46c1f60b728496a7f7a57a473e5f02c9b192c004..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 07-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-1.png
deleted file mode 100644
index 55fbdee3e7c26333fae1a29cb6c5cd1d3108725a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-2.png
deleted file mode 100644
index 56941d826ed120dc5016d99a47652e5ae2dca221..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-3.png
deleted file mode 100644
index 873a8d50534441824f6089b9d2981e0d8b5c849f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-4.png
deleted file mode 100644
index 84601a0fdac8611803af78c545d36fc1d2a515dc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 08-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-1.png
deleted file mode 100644
index 6bdbdec024d4a2a741a5b21f5f7b6df1ad0ebdff..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-2.png
deleted file mode 100644
index f63a6bfb469a4070140e7adb316bc3309a3eb826..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-3.png
deleted file mode 100644
index 0570a14bfedcce2ba9c78381a246122b8053c6b7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-4.png
deleted file mode 100644
index de3fc208c5824685e4ea96ff7a25cf8c5487fd1d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 09-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-1.png
deleted file mode 100644
index d68066d8eb99d09d0d806383745ed6a9b25a0188..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-2.png
deleted file mode 100644
index c275dea15f7ddca4494ea9766e6d265e906228eb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-3.png
deleted file mode 100644
index 938f0a54c871740b7f19410529715851c3ad4fbb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-4.png
deleted file mode 100644
index 69ac1b5572a48ed985631d02ebb32ca96986e22e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 10-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-1.png
deleted file mode 100644
index 5376d9fd435cf3cb8ec8334c4a1956164e4d1e25..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-2.png
deleted file mode 100644
index dcd21130d384fcd8085825e23966e44e479af003..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-3.png
deleted file mode 100644
index 59fdb3b62f42ada1d6e94047d8ff70bc9b9d2a2c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-4.png
deleted file mode 100644
index 0658d8ebb7b90864e8e1d5792ff7b8c338aa8be3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 11-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-1.png
deleted file mode 100644
index caecd59472bcdaa4363034de9ee750998e6527e4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-2.png
deleted file mode 100644
index f34ba86e072351b584d722ac9c13402e277c4c90..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-3.png
deleted file mode 100644
index 22b1dded1ec76d630e204dc865df5d7827985129..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-4.png
deleted file mode 100644
index c21de1d725ad42c865da913202b69f32f65fe319..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 12-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-1.png
deleted file mode 100644
index 37251d0f611957a4ddef52c22ed5cd4ad242be93..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-2.png
deleted file mode 100644
index 12c0ed1761c643ed71f8c9e14ea5f680873acb57..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-3.png
deleted file mode 100644
index 14a4f12c7d1a5884ef6a9231dfd8833dff68096d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-4.png
deleted file mode 100644
index e7349b52040684ddcb89efc22e25f93a78684376..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 13-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-1.png
deleted file mode 100644
index 53e0e7829b9e6676e0d49150b0f89616148131f5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-2.png
deleted file mode 100644
index bdffce922e3e6b3055593a78ce58d807a6c55d04..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-3.png
deleted file mode 100644
index b89813753bb47ea38ee876783fd0bc6e9772f8e0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-4.png
deleted file mode 100644
index a8c07845cb853586c99ec9d93bd369745f68907b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 14-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-1.png
deleted file mode 100644
index 6a0cb824c81b27ba2278f703b3cc8be74c55134b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-2.png
deleted file mode 100644
index 2f861b598820827256263c6f742df6eee18461f6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-3.png
deleted file mode 100644
index 452fb0e01a9b52d4568dbec8c3cf09711db95961..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-4.png
deleted file mode 100644
index d038bce4ed0f2f0962508609735ccadb8d2e9463..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 15-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-1.png
deleted file mode 100644
index 7cfc919328dfca57a4d608dd453167fae245bad7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-2.png
deleted file mode 100644
index 6c50c3fe52749149341fef44029e6b6c3d0cd1ec..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-3.png
deleted file mode 100644
index 2e1872eb0c2e2fb443f7cf7d593d3d57e93278ce..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-4.png
deleted file mode 100644
index 2dd8f81b47701f458bafd74ef54b0ead2fca104b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 16-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-1.png
deleted file mode 100644
index 9f50a7e3f55d78a58f382954f80f8ca983c438a9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-2.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-2.png
deleted file mode 100644
index 46f679af322b25c71941de60266d1aad0d5f9c27..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-3.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-3.png
deleted file mode 100644
index 02c36a7b6bc42382fb3fcb45c2b0bac51ace7619..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-4.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-4.png
deleted file mode 100644
index 0ba79a783fb2bfb41423b899f443ba9895ab2a48..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 17-4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 18-1.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 18-1.png
deleted file mode 100644
index 09c3eb574cede0e7f1c9883ab77c09f8f2dec6c9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Male 18-1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 01.png
deleted file mode 100644
index 3d1a431241c8c58b461803595ca3de046a33c808..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 02.png
deleted file mode 100644
index 6b3c1712d2da6a704b19e3d500f8bc2f126846d8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 03.png
deleted file mode 100644
index 14c555206bc72e506e9abd3bcafabe39503c3e63..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 04.png
deleted file mode 100644
index 0c9d34dc66420b64d74cfe57af63faf47730d50b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher fmale 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 01.png
deleted file mode 100644
index 129b6a5169b884eb189394aedcb45d7b78bc7af1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 02.png
deleted file mode 100644
index 937f138a1213b4d5a7ae835bd83303f4545c49ae..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 03.png
deleted file mode 100644
index db010f0230f6429b5002ba6d5bd13f8da5586725..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 04.png
deleted file mode 100644
index 5cdb864ba16c25443ce9377625dd2de285f3779d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/Teacher male 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/about.txt b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/about.txt
deleted file mode 100644
index 973f2ad7f9255ff75192f0b60b589b35dbe5e9d1..0000000000000000000000000000000000000000
--- a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/about.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Files from Pipoya collection of sprites
-
-Downloadable at: https://pipoya.itch.io/pipoya-free-rpg-character-sprites-32x32
-
-Thanks! for the hard work!
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 01.png
deleted file mode 100644
index 9f6899ccb2f359357ed891bccd198ed27571857e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 02.png
deleted file mode 100644
index 3b2fc5ee5ab6006c550020e97c2a1b187bbadddb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 03.png
deleted file mode 100644
index 06fa60a5a30984dbf616438bd97be01b96bf01a7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 04.png
deleted file mode 100644
index 83ba3c2e621e3afea7dff67a82c8c6deb0c96b2e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 05.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 05.png
deleted file mode 100644
index 1d132b2ea5b107945e9cd3f8770642668dc19e02..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 06.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 06.png
deleted file mode 100644
index 17c6fe06ee2695ebd81724a9fda1b2b4b55d28b2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 06.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 07.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 07.png
deleted file mode 100644
index 889790a3f41102500f5e9f32b658df2f8e003374..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 07.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 08.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 08.png
deleted file mode 100644
index 0f23b4f251240e6c19f387057ce0ac1b61d9b481..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 08.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 09.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 09.png
deleted file mode 100644
index 7f72ab7b641313b3b35274e21d40acb92454dd1a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 09.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 10.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 10.png
deleted file mode 100644
index 762d564bc7b25acf0a347dd60d446ee5ed0a8f08..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 11.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 11.png
deleted file mode 100644
index 4963d527576e4cd54882c842cd571413fede4818..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 12.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 12.png
deleted file mode 100644
index 5eabe4b19bf36298dfa6b8bc6a539da976714308..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 13.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 13.png
deleted file mode 100644
index 8a6a560849243a6bee7f2f5a4b94fb077408f958..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 14.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 14.png
deleted file mode 100644
index fd0c475566f7d0c73a7079b7a56b6f012a1ce09a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 15.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 15.png
deleted file mode 100644
index c2041d167e37cce362f01818c57d2721ed7d27ea..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 16.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 16.png
deleted file mode 100644
index c88281466a1b7fb1e9b58ed873b607ce1e2b5726..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 17.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 17.png
deleted file mode 100644
index eb97e3cc24592b822367da7fbd16f20931ef079a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 18.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 18.png
deleted file mode 100644
index 9aa8bc9441f46464856719d980f6bed7975d82a4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student fmale 18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 01.png
deleted file mode 100644
index 2b42c84a51db3a8182508b15438b67c75f072c18..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 02.png
deleted file mode 100644
index 340442d441acba37e9f48df746435f215784d201..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 03.png
deleted file mode 100644
index f9f977ace853b4202262e1deccedac0a7eb8ce57..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 04.png
deleted file mode 100644
index 03d9c8b025ed34434702f3147f854ba54e3c17ca..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 05.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 05.png
deleted file mode 100644
index ee216cce9e3c7d997c5bba168adc186b99568f68..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 06.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 06.png
deleted file mode 100644
index c053def6fa6ddee270b78861fdfc5e758582b141..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 06.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 07.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 07.png
deleted file mode 100644
index 5109a8c20198e601a1a836c508335492a8b9c984..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 07.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 08.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 08.png
deleted file mode 100644
index 560af95b01d4dec54e11af89771805b15a743051..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 08.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 09.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 09.png
deleted file mode 100644
index 9ca88ef0e4a4c2b4ec1f540b392c4238204ce54e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 09.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 10.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 10.png
deleted file mode 100644
index f23adb74716a3d037a129c1af0bfb7c49e5a6ff5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 11.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 11.png
deleted file mode 100644
index 0571c6d3ddfda728f4b57fc7806cb05f4d6047a6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 12.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 12.png
deleted file mode 100644
index 52e9b5a4dc2cf3ad5b157951fb53a6a3378e7f10..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 13.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 13.png
deleted file mode 100644
index c8913d81d653c019c6d35721290c53e0cf39d146..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su1 Student male 13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 01.png
deleted file mode 100644
index a8f59d7650885742014cffc82f6f5e7b7fcdeca2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 02.png
deleted file mode 100644
index ec04ce1281e727321efca55a3c9c748f2881e423..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 03.png
deleted file mode 100644
index 78d6e1fa2786ad40cc1e661aa2e7cf155887bb5e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 04.png
deleted file mode 100644
index d22375d64f2b8ce7fce16cae8644772c23b7f9a2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 05.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 05.png
deleted file mode 100644
index 89e7bdf333d905464827f88ca11cc86dfa1808ea..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 06.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 06.png
deleted file mode 100644
index dd03cb9d1643330d7eab99464bc815666f9288b5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 06.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 07.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 07.png
deleted file mode 100644
index 68696f1442241cfe99a131edd808b25ffad1014f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 07.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 08.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 08.png
deleted file mode 100644
index 03fd246dfddd64d11e1952f6ae69fd54b73de799..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 08.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 09.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 09.png
deleted file mode 100644
index 75dc8c789efc0e27b7a2521ae3ba2351b958bd68..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 09.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 10.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 10.png
deleted file mode 100644
index f1cb90b89dc02a98d68dc2016c0ffc0f80d0aa6a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 11.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 11.png
deleted file mode 100644
index 5fe4ff2f428ba08682fdf84ca5228ff12447d3c8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 12.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 12.png
deleted file mode 100644
index 14c8e69df387c779f18f4da133470b60645378fd..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 13.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 13.png
deleted file mode 100644
index b63d67af272f347678093c6234d5cbe7c2740bcd..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 14.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 14.png
deleted file mode 100644
index 86d354255cb0b34ff8230699f4ea89cdd3cc22cb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 15.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 15.png
deleted file mode 100644
index 2254f4d20cc2eccf32d1b2380691c4251150c641..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 16.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 16.png
deleted file mode 100644
index 75499f75ff290137806bc990aeff8c0ac6db4133..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 17.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 17.png
deleted file mode 100644
index 9fb0d726a89539402491ac857244274464507daa..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 18.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 18.png
deleted file mode 100644
index 7cb33b80062180f7cab8b438ab51ae9688c3e8dc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student fmale 18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 01.png
deleted file mode 100644
index affccdce42ba01534f26f8ed229e48b7189e79b4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 02.png
deleted file mode 100644
index ad438fef4ee3797f5f647f61595cabd1e42704c2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 03.png
deleted file mode 100644
index 37a244078560cb97fc7a3137489279a379947d8f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 04.png
deleted file mode 100644
index 23eba90606e7d63d66c254f2679ba3735adfdfd6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 05.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 05.png
deleted file mode 100644
index 402251f2576b48ace3cf15760868a1ef502adc04..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 06.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 06.png
deleted file mode 100644
index 7191ec4e5e1d4cd0035a0ad022111bb1c5878815..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 06.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 07.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 07.png
deleted file mode 100644
index c6cf81442db984b9e52e34a2a9d2a344a6070c55..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 07.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 08.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 08.png
deleted file mode 100644
index a7cbbb31dea48fce330d9e14645db86e763c9421..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 08.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 09.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 09.png
deleted file mode 100644
index 62ef44349cff279be9c3182b1b2c37e685363af8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 09.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 10.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 10.png
deleted file mode 100644
index 75fb0587f34e13e88bd65dcba50c28efa5d587e1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 11.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 11.png
deleted file mode 100644
index 97c8df6eba84602d8ff00abbabd1b207fc8ac030..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 12.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 12.png
deleted file mode 100644
index 7ab5115e35d9368e6eac30f0a8034955f0415941..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 13.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 13.png
deleted file mode 100644
index d46f0c17ef6a39bda6cf382f4930f02d30209371..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su2 Student male 13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 01.png
deleted file mode 100644
index 06cf5191541054e549545823dcaa89dc663694cf..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 02.png
deleted file mode 100644
index 66d33c8b836c6aec53e5c009284db6ae50c14d23..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 03.png
deleted file mode 100644
index 8be348000f6cce55c949e4ea9765d5a06d7e8fe1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 04.png
deleted file mode 100644
index 368599515a7558fa5a4bd8eeda4d441133002e1d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 05.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 05.png
deleted file mode 100644
index bfa227498e2e7b1460bb1df2138520ca6a99562a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 06.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 06.png
deleted file mode 100644
index f5c97bb5442ec2a801eca98f621d00bed0205f89..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 06.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 07.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 07.png
deleted file mode 100644
index d872a04d34cced8376ca8244e859a50df8866eae..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 07.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 08.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 08.png
deleted file mode 100644
index 2144eb91c85c6517f8d591048bb03ed858bfca76..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 08.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 09.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 09.png
deleted file mode 100644
index caf16f08fa7c9ff677bb7f09fb52f874fc496ec8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 09.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 10.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 10.png
deleted file mode 100644
index 1cd10b568d8d505a716610020e274854adab25e6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 11.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 11.png
deleted file mode 100644
index 0d12d126b4b5a20be213c104841542e0fd60cefd..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 12.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 12.png
deleted file mode 100644
index de05d525eb3c7260f71110b2c2b2b3c346df9aa4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 13.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 13.png
deleted file mode 100644
index d43b9608d7d6eb2db4c694b9d9c55219c1899b01..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 14.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 14.png
deleted file mode 100644
index aa13fbed5a92a8abb67b29fcbff83b9fb06eb528..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 15.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 15.png
deleted file mode 100644
index 322f7fc46c3e672c01e61d96a935c5d88fd2f968..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 16.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 16.png
deleted file mode 100644
index 05126f74ac2025fa6ddf56d2bc505712e103210d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 17.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 17.png
deleted file mode 100644
index ec5a884eff068e0707d993aabe17371fe806e566..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 18.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 18.png
deleted file mode 100644
index f3ba841c73e8facde5313003e4028c0df57dc609..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student fmale 18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 01.png
deleted file mode 100644
index 50cd73bc4bd6d81d09fd342b5783b173e940c1ce..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 02.png
deleted file mode 100644
index abe8b5e67f3d27c1f044f91a016930caae5bc6ab..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 03.png
deleted file mode 100644
index 6a360181ee4929ceebc69c99a9c21631bea47ee3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 04.png
deleted file mode 100644
index 278f7269b3896de3e7a4844261df3fcabe6f8170..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 05.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 05.png
deleted file mode 100644
index bf3425678554c0a617c77bc8f888ecd123b21b32..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 06.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 06.png
deleted file mode 100644
index 04e91e71ba1d6dd99252f3b690375fa8a0a80859..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 06.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 07.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 07.png
deleted file mode 100644
index eab7f1ff69c9275bb95e95ae8d9c8c62a220f7ec..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 07.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 08.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 08.png
deleted file mode 100644
index 8f37bc01844bb6aad7187a5afcd6fe8de70635c0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 08.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 09.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 09.png
deleted file mode 100644
index d38c2fe2910af9408be6fceff1eb983c71bf33e7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 09.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 10.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 10.png
deleted file mode 100644
index 366c3e323ad2941e10a662442dd8de183fc11957..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 11.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 11.png
deleted file mode 100644
index 718463f1fd2e4185f9cdeaf5d9dedf036e7ca439..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 12.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 12.png
deleted file mode 100644
index f3476616c8d1ff021da14725141b74d29522a7bf..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 13.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 13.png
deleted file mode 100644
index 499cd7e60e8c2ccf9515b4a48af9aa0af4aaf1ff..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su3 Student male 13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 01.png
deleted file mode 100644
index 2d6d2c8e3ace94fdc744b2cc332ef7b0c27e3e3c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 02.png
deleted file mode 100644
index 983715bded20075a38f98532ff1a161f22c4fc6c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 03.png
deleted file mode 100644
index 7def32cde8029668d880b23762860e318fbb0a2e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 04.png
deleted file mode 100644
index dc276a8a55e12f32f2ff28ad5b7c646040a19052..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 05.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 05.png
deleted file mode 100644
index 5a33dab234859b89cd72a3f8e78a89dff77791df..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 06.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 06.png
deleted file mode 100644
index 25ee72c65311c398502bebc7c34d8676547a819d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 06.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 07.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 07.png
deleted file mode 100644
index 119c82d01f4d10eef9fea14a0106e387a4d26663..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 07.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 08.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 08.png
deleted file mode 100644
index ff1001f3be8254cee07462d4c4471bf2d2e507c5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 08.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 09.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 09.png
deleted file mode 100644
index 63f55b5026222c079a8070bda6adc842c5609216..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 09.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 10.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 10.png
deleted file mode 100644
index f5472191e96704add073e4e86fe012a7c1ff8cfe..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 11.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 11.png
deleted file mode 100644
index b203c5bde8c5b97fa5d70034e90bff7774c09a9c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 12.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 12.png
deleted file mode 100644
index 8fbd2588ca31bbff9014da50db5bf777d78f38bc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 13.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 13.png
deleted file mode 100644
index 1be067bd39317c88b5a251c635bbef088ed6e9bf..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 14.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 14.png
deleted file mode 100644
index 0f5b8d806df3e2884bd8d5489e2b3ad4e3417b1e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 15.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 15.png
deleted file mode 100644
index a1fa5d6ff767e275eeeba7a540d9db34506815e2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 16.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 16.png
deleted file mode 100644
index a0c5bf13148611ada1d23325bc022fa1440da4d1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 17.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 17.png
deleted file mode 100644
index 21e6a64e2fc9d820ed436663874909628e9f1021..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 18.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 18.png
deleted file mode 100644
index 51e287c5c81aed988c8d58f60410b937632f5102..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student fmale 18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 01.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 01.png
deleted file mode 100644
index 864af360fec451a3669dfebab32d4280293079d7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 02.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 02.png
deleted file mode 100644
index d47524bc2e0f1aef8c8f903c2241d59feb8a1de3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 03.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 03.png
deleted file mode 100644
index caa2f4662794075cc1608ce06325a40ac393651d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 04.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 04.png
deleted file mode 100644
index 5529aae12a3a9fa700e5ba8ee31636740016ed68..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 05.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 05.png
deleted file mode 100644
index ace563e3baf6908d09dc9d127ac2e2d521f330bb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 06.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 06.png
deleted file mode 100644
index 137248868c7dc26eb0dc83d1b414534f9ac85e47..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 06.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 07.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 07.png
deleted file mode 100644
index fbdb6958be8eb8a785a2f7430b038e311819e4ca..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 07.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 08.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 08.png
deleted file mode 100644
index 87d65b32999cfbd1b210be0c86759c154d4e802a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 08.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 09.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 09.png
deleted file mode 100644
index 41e6d161275c25d3a6fea72de4ee11dd59d2e49d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 09.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 10.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 10.png
deleted file mode 100644
index c6b099065e49e5d39b2701be72679f30ba42b5bf..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 11.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 11.png
deleted file mode 100644
index e8fd513d56d2a2ac9a2a623f2e77d0c4e18667f2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 12.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 12.png
deleted file mode 100644
index 1054f8ec79999243253821ebf8f3abac3b8220c5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 13.png b/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 13.png
deleted file mode 100644
index 19ee08d946dde9b0dd6c6122ec0c3e0c9353e083..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/characters/pipoya/su4 Student male 13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/backpack.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/backpack.png
deleted file mode 100644
index d37bff78220166fd7aab5006cf3b3d0b63347645..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/backpack.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories1.png
deleted file mode 100644
index fc15513be4e28ac08e83ac276674d48daa82a9f7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories10.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories10.png
deleted file mode 100644
index c6372bfbf5c9f1e26c6e4e6c69a24a25bb010e7b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories11.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories11.png
deleted file mode 100644
index 30f536055da3e031a1882be1832c221cfc22ede4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories12.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories12.png
deleted file mode 100644
index 33759db84bbd5e2822eb84bb6c39a4b5647bcad7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories13.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories13.png
deleted file mode 100644
index 14607d74e430ee4518c33a7203794a516db71719..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories14.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories14.png
deleted file mode 100644
index 5f617b867ceae7badf4a6691f4e3dfb058097fbe..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories15.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories15.png
deleted file mode 100644
index 161b4e77320f24c0b124fea0e6feadc96c8cf6b8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories16.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories16.png
deleted file mode 100644
index 5f01133716155985cba9909c73172e60f416fd79..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories17.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories17.png
deleted file mode 100644
index 7aad3d45d64511da9f4f47320336d360a16e323b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories18.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories18.png
deleted file mode 100644
index 71a7655d1c6bddceea4a43d63a1ee1f30c1a40b7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories19.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories19.png
deleted file mode 100644
index 022f402d1615a87322d8d593b410984b8b23fd9b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories19.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories2.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories2.png
deleted file mode 100644
index 030a6ae64c34cf2b8cea82ffdc80f13cc2bbf78b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories20.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories20.png
deleted file mode 100644
index 82d7c15ca9e7d8ed471cf0d3d895d65d77671653..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories20.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories21.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories21.png
deleted file mode 100644
index 3fd72ef03f8892cbe8ba1e0cf245a5a541b4cb3b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories21.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories22.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories22.png
deleted file mode 100644
index a824fc86ac472f5220c6bad21c0d1b91b7821948..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories22.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories23.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories23.png
deleted file mode 100644
index f91fee3b70afde4527f102a1c629b6dc5608a020..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories23.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories24.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories24.png
deleted file mode 100644
index b4890ee7e3daaec171ba8226f9811838f7efe55b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories24.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories25.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories25.png
deleted file mode 100644
index 3be60221f65b05b9f6579b94ecf384028bc5871a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories25.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories26.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories26.png
deleted file mode 100644
index d5485744508467610da65056ddaf103d57b27056..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories26.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories27.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories27.png
deleted file mode 100644
index 3d90a5261897f75f0317b6ae36a6bd5b4bb3971f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories27.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories28.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories28.png
deleted file mode 100644
index d653d302359537668d04a0cfb145938d4d7a510d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories28.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories29.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories29.png
deleted file mode 100644
index ac49af380a96b64a8c80f1cd6f5f36432472e2c6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories29.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories3.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories3.png
deleted file mode 100644
index 91127dc2353950df285914c7ad2f5cdef0c6ad7f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories30.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories30.png
deleted file mode 100644
index 07a7c00cead22163b4e7ec08b2da2d67bdced1e5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories30.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories31.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories31.png
deleted file mode 100644
index df282a6862e705fbb292476da66a82fad9dfcc5a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories31.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories32.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories32.png
deleted file mode 100644
index b8671332fadddf689ff59494964677fe2a685d6e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories32.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories4.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories4.png
deleted file mode 100644
index 842df71e9ba6d5eef75b4836fd561ef69ccb9cf5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories5.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories5.png
deleted file mode 100644
index 4bca9461b1b3d604bda5e0381f7839d0d6ca9d23..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories5.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories6.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories6.png
deleted file mode 100644
index b2c6726a8a27ef7bc7dcc3cddf22ccc8893ec8fc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories6.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories7.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories7.png
deleted file mode 100644
index 7efb5636dccea5b19f2cd35705cc7c66f52266a4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories7.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories8.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories8.png
deleted file mode 100644
index 9d4843d7b2851cca446a93ef08246024d31660fe..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories8.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories9.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories9.png
deleted file mode 100644
index f59ee0f5ec74f5703d50f7d6b652b7a3647020ca..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/character_accessories9.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/mask.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/mask.png
deleted file mode 100644
index aeca63eb5492f69aa4c04cb4e1bc42495edaea15..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/mask.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/mate_bottle1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/mate_bottle1.png
deleted file mode 100644
index 82227afd437f4244c087124bd92b50f1dea251dd..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/mate_bottle1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/ring.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/ring.png
deleted file mode 100644
index 3e2f0d7ca2d3528a2fef16f40d34ba02f7294f97..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/ring.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/sign-dont-talk.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/sign-dont-talk.png
deleted file mode 100644
index 04242806839f24c2d53b8caf18f43892c463cd65..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/sign-dont-talk.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/sign-talk.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/sign-talk.png
deleted file mode 100644
index 60561981895fc2fd280349bd622c7128395082b5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/sign-talk.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wheelchair.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wheelchair.png
deleted file mode 100644
index c151bd8809486ff8e5471b37aaaa98d58c8a4db0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wheelchair.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wings_01.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wings_01.png
deleted file mode 100644
index e9fe986d375c15665d65bf31536904cdf2b28f12..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wings_01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wings_02.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wings_02.png
deleted file mode 100644
index 9bbc8fb732c28586415c4159cd75e6694ebc9905..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_accessories/wings_02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/black_hoodie.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/black_hoodie.png
deleted file mode 100644
index 5e9b54d7ee43910009095a69511535bdd2de2a68..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/black_hoodie.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes0.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes0.png
deleted file mode 100644
index dc58cd212b54af085aac2a71fc59c4b0a1874a94..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes0.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes1.png
deleted file mode 100644
index 1520acc5ee6eb8e973c77c03c5d81348b7bbdb9a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes10.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes10.png
deleted file mode 100644
index 599f0ebbe8064f7406c01534a762c3ab620f03d4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes11.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes11.png
deleted file mode 100644
index 24816063b356c35f994a6adbaba01c1f3ca742e7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes12.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes12.png
deleted file mode 100644
index 0e9ae0d9eb7a2a5465db1b77c21e17ff766a82c9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes13.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes13.png
deleted file mode 100644
index 7d177cc5eda357c824ce6664eaa54607f8b2ec2e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes14.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes14.png
deleted file mode 100644
index d35c42fb1a5c4c6d920a1b7e74da8077ecc3e13a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes15.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes15.png
deleted file mode 100644
index dee8c9106cec6d86d44f7d6c4e9b2db3cb3864a3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes16.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes16.png
deleted file mode 100644
index 3b2f9b3a78aeff8a5764fcc1511cc58e36188562..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes17.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes17.png
deleted file mode 100644
index df94fbf6c4c6a722d7cd6fb7de5035ac04c717f6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes18.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes18.png
deleted file mode 100644
index 7b302d0470b5d38f2a46424212366a8b513da88c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes19.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes19.png
deleted file mode 100644
index 41181b80e875b61f0b0004d2bca93f4906b27ad2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes19.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes2.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes2.png
deleted file mode 100644
index debc2960072d1517e14e1c5cf07ac7a7fab90d4b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes20.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes20.png
deleted file mode 100644
index b97a1a0a5b0fdde59241c404b4b07635d7be3775..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes20.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes21.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes21.png
deleted file mode 100644
index bd08eca19c8148f9fe0d7b35b171ee6501f1fc68..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes21.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes22.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes22.png
deleted file mode 100644
index d2e2d1240c814a30e5f76975a506714fbf61d070..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes22.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes23.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes23.png
deleted file mode 100644
index 4d5dc58457efefeccbe2d05ff77571579198371f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes23.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes24.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes24.png
deleted file mode 100644
index eb051a5618a47d6ca29db918ff0ff5b841edcd3f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes24.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes25.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes25.png
deleted file mode 100644
index c9f3f168883b149a8495ace79cbcb244412448ee..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes25.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes26.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes26.png
deleted file mode 100644
index ed98a37dccf9d8208a552916287b93d5151597c0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes26.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes27.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes27.png
deleted file mode 100644
index 74f13d03da0c5b04f15c42a32661f69dcf5325b9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes27.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes28.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes28.png
deleted file mode 100644
index 35b6c3d0345016416137dc8a3294bda1c509df01..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes28.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes29.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes29.png
deleted file mode 100644
index 38ce8a9ffb24d678c07c5742ee45be6fe14270fa..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes29.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes3.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes3.png
deleted file mode 100644
index e5a4ea0a2437b44bac3cd7dd40d458f37eef2cc6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes30.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes30.png
deleted file mode 100644
index 2d2fec5964250c4791b7690f1f68e8cc71a5eb5b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes30.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes31.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes31.png
deleted file mode 100644
index 3df91de54c501d2a21462da3efdba61ecd60cd9f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes31.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes32.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes32.png
deleted file mode 100644
index 9c7dcd3c64620bdbbd3f56642df5ea8ffaadbf5f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes32.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes33.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes33.png
deleted file mode 100644
index d2e016374304b974c2c6ecd7d69f3a75b7c32109..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes33.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes34.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes34.png
deleted file mode 100644
index 319850e331a8aae187ae3cfcfca1111327653d19..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes34.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes35.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes35.png
deleted file mode 100644
index 5a19d3a1d8d08f5149b67ae2c695635db39ee250..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes35.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes36.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes36.png
deleted file mode 100644
index e07698dd4bdb364d6d81add110dc15f46988cb7d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes36.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes37.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes37.png
deleted file mode 100644
index e100a8b0c274f19542ba9c98e23489af5bc2c9c3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes37.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes38.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes38.png
deleted file mode 100644
index db5145dc66a8666eaaeb55af72df6b68da6bc8bc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes38.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes39.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes39.png
deleted file mode 100644
index 4e518a4154784cb2cac86f45bf965b4e8c77e724..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes39.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes4.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes4.png
deleted file mode 100644
index ec0519e7e159552a037c3135e43c33f47f63ad1f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes40.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes40.png
deleted file mode 100644
index 4ef018d5a2dd641021de33c9589be51a2eb7d136..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes40.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes41.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes41.png
deleted file mode 100644
index f127d951a43001bc0e0c08ec4cdf5f108c2a941c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes41.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes42.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes42.png
deleted file mode 100644
index 6f3231474cfc727a171eac30d1ca73405042caa0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes42.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes43.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes43.png
deleted file mode 100644
index 6703382307477eac27b46ce870881ddeb2409b0b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes43.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes44.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes44.png
deleted file mode 100644
index 4b363afe3442fc8fd1b81ae7002a25a67ed1190b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes44.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes45.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes45.png
deleted file mode 100644
index b27e42d879bf25b31b78676c762fdebb3b2d1e9e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes45.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes46.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes46.png
deleted file mode 100644
index cb85a84ada29272b30e9c46f652dd989c348e8fe..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes46.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes47.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes47.png
deleted file mode 100644
index f0aa12ab4dfb0e754a528987bb1b1837e80f7204..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes47.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes48.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes48.png
deleted file mode 100644
index b83c3d0e33c3fd0f0216c1b23aab7959876f3ccd..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes48.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes49.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes49.png
deleted file mode 100644
index 6e84dc534e11879a90088181639758ad38118dc7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes49.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes5.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes5.png
deleted file mode 100644
index 70d28602ae98988d2b175f10add9007be46cf6a3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes5.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes50.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes50.png
deleted file mode 100644
index d36c2f476881a86fe4f2365fc52481dfad8f645c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes50.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes51.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes51.png
deleted file mode 100644
index 661fe61988378130a9ce6891b51af060ffc9cfc6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes51.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes52.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes52.png
deleted file mode 100644
index ba67f55500431c24c11b478cec11df575c79903e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes52.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes53.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes53.png
deleted file mode 100644
index 76614bbea114dd2fea3c91c0754faaf799bf0f54..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes53.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes54.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes54.png
deleted file mode 100644
index 7615925f00ad0939fb845ea7be8d331ef4df0ccc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes54.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes55.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes55.png
deleted file mode 100644
index 8e4188482e2e32bf1a054a225a0b1d0bff3e2929..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes55.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes56.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes56.png
deleted file mode 100644
index d25363bc6e35470c8abb2abb574c35ef3e429579..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes56.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes57.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes57.png
deleted file mode 100644
index 6d59d65ce2f9a5535a62f299fd8f01bbce32fb37..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes57.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes58.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes58.png
deleted file mode 100644
index a4d70a704767ecaa7bb99a8e20d2625c240d5c25..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes58.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes59.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes59.png
deleted file mode 100644
index 8a24fbdcf1d78217a76b3455003bcde05eb14979..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes59.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes6.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes6.png
deleted file mode 100644
index 8fe88e5c7f9d8511762af1e79bff06dbf8f506d2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes6.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes60.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes60.png
deleted file mode 100644
index d9cdcb995cccd38dd9bff51c0fed763d4c996aa3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes60.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes61.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes61.png
deleted file mode 100644
index c77b3bd597e8ca4b121cf3e76360f6692901843f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes61.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes62.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes62.png
deleted file mode 100644
index 70c6494cd1351f433ea1a8ac411d20638d10488d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes62.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes63.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes63.png
deleted file mode 100644
index 0dd417ee90e62cbc7278aaf1d8576ad05cca573e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes63.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes64.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes64.png
deleted file mode 100644
index 9038cad7bd9d0d89eb67c730dc0e1b64d4221f5f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes64.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes65.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes65.png
deleted file mode 100644
index c4bcf4ed77b54a9225e214e269a714b1252a5086..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes65.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes66.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes66.png
deleted file mode 100644
index 6ab82166e1240bef77b21c5e67320b124fa4e184..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes66.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes67.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes67.png
deleted file mode 100644
index 6ca779ff5b4fde0b06ea66bc8f529cae01953726..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes67.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes68.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes68.png
deleted file mode 100644
index 6d343cc8191d0833ddbd673228295e6cee7c5c49..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes68.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes69.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes69.png
deleted file mode 100644
index 6a570e6a1c1bb8a2da301df5c76b5e69c3a68b59..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes69.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes7.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes7.png
deleted file mode 100644
index c19a0de842ee9eb31b06173bafaea2baff8d1aa9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes7.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes8.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes8.png
deleted file mode 100644
index 7d6258a03075640b19d8d7424f84f27521e9c176..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes8.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes9.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes9.png
deleted file mode 100644
index 7c8149c41dd79e6e20e092e4413b08913b40e002..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/character_clothes9.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/engelbert.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/engelbert.png
deleted file mode 100644
index 742e1534b518433b5582ce9041d647b5863ebd97..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/engelbert.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/naked.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/naked.png
deleted file mode 100644
index c65789c6b4cf97e89ae92da05cff6ef0b901a532..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/naked.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/pride_shirt.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/pride_shirt.png
deleted file mode 100644
index cc50aa789efcd6ca8d1b2f6cea40c0d9906da475..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/pride_shirt.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/red_stripes.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/red_stripes.png
deleted file mode 100644
index 05147383ce9eb388e043df36082e6e99a03c8e9a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/red_stripes.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_blue.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_blue.png
deleted file mode 100644
index 3dd129557004d8ad0a5e381f3c2b10ff5d810d1f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_blue.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_green.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_green.png
deleted file mode 100644
index c5f41db3d56c684df668faff87b7f48e6830f4ed..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_green.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_orange.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_orange.png
deleted file mode 100644
index bcee956b1ca8641eb68b97d408d679ba89abcf34..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_orange.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_purple.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_purple.png
deleted file mode 100644
index c95e37ca692b2485b921e0a27e0dbb67e985a6a8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_purple.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_red.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_red.png
deleted file mode 100644
index 00600eab5c7fe400add276b7d3d3b0eeb1cfacdf..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_red.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_yellow.ase b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_yellow.ase
deleted file mode 100644
index cf1989c662fdb04f972fea38e79885c6cc4d209d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_yellow.ase and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_yellow.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_yellow.png
deleted file mode 100644
index 71173aadee79192212ec071dd6ba57c051db7e52..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/vest_yellow.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/white_hoodie.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/white_hoodie.png
deleted file mode 100644
index a4c2e85a222d6f5702cde699b2eb7386d8148892..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_clothes/white_hoodie.png and /dev/null differ
diff --git "a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/_\302\202\303\210\302\202\302\265.png" "b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/_\302\202\303\210\302\202\302\265.png"
deleted file mode 100644
index fc15513be4e28ac08e83ac276674d48daa82a9f7..0000000000000000000000000000000000000000
Binary files "a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/_\302\202\303\210\302\202\302\265.png" and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_001.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_001.png
deleted file mode 100644
index 53dbb25be9ea6f2446c862d1bfda310fdb736ea7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_001.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_002.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_002.png
deleted file mode 100644
index c9c369e0fdf3c6f4316f19c376d98ee7016be60a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_002.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_003.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_003.png
deleted file mode 100644
index ea762dc94786a5e8f3ad5a531ac8f64f8e274134..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_003.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_004.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_004.png
deleted file mode 100644
index 520ef6e51cd45d4f4af65164b6ff696ac7f4447e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_004.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_005.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_005.png
deleted file mode 100644
index 05efe9a1acdc3de40ab4bf61a59767d78ef53e68..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_005.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_006.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_006.png
deleted file mode 100644
index 1caebc1bb125b62e418e4dbe1c3d14a9a8a6f712..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_006.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_007.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_007.png
deleted file mode 100644
index 61ad1a7b64daa8ff48fd60b7d182696498394dd4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_007.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_008.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_008.png
deleted file mode 100644
index f140ae166dcc70d3dc65925d691e1888f04169b0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_008.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_009.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_009.png
deleted file mode 100644
index 4e61ef6d2146c62d612547cad661c33516f7ebee..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_009.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_010.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_010.png
deleted file mode 100644
index a5431c1babf3e629d3aa830826fd45a3154efb51..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_010.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_011.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_011.png
deleted file mode 100644
index aad32b36c98b8e5ab277af8d5f6728c781eb68b8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_011.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_012.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_012.png
deleted file mode 100644
index 505d397a2416ffbc30197142874a36dbae47e16a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_012.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_013.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_013.png
deleted file mode 100644
index 012438a8213b8410ee2e042131f48865fc31a3b4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_013.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_014.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_014.png
deleted file mode 100644
index d72f6fd80da27d78c5c4db5996cedfb56c16b905..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_014.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_015.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_015.png
deleted file mode 100644
index 0dbd49335d1a2205d8f5ca987068200d3b0189a3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_015.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_016.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_016.png
deleted file mode 100644
index 3b04b8ec30e445c563bb0a611b59bbc620d49c46..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_016.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_017.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_017.png
deleted file mode 100644
index 5323d9425b5d5dd2b1c677ef9b7249ad5ea2f2c1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/bodies_017.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color0.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color0.png
deleted file mode 100644
index e4e95d3c0a2e07c1c5f598795d28fd0902a57c56..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color0.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color1.png
deleted file mode 100644
index cea139ec66b66950e89c5cc9c2325d9a9631d3ae..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color10.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color10.png
deleted file mode 100644
index a4fd0ad77cccf2ea0c04347c5e1fd3c29f4904c7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color11.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color11.png
deleted file mode 100644
index 86ade06f8621f6ef6c92de2a08fa18eb2bda6eed..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color12.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color12.png
deleted file mode 100644
index c246d0277067d89c40b901d7b0f124ee8a84798b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color13.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color13.png
deleted file mode 100644
index 006d174f0aa2cf6a2f05e8059294f6bc8ed0d51e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color14.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color14.png
deleted file mode 100644
index 61022543fd09d49add1503eef57f10cb3aa97c41..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color15.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color15.png
deleted file mode 100644
index d0569ce4aeb41273d1248447038e407d47ba2ddc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color16.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color16.png
deleted file mode 100644
index 7de9ded02928d8c261ef6887deb555184a9cea18..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color17.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color17.png
deleted file mode 100644
index 0a7a2e578144c67b2032bfbae46ecb613f5bd480..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color18.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color18.png
deleted file mode 100644
index 97488b5e43b9021f7c6af983fb04abbf59f7f29e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color19.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color19.png
deleted file mode 100644
index 22450d5a78f3866dbb9de6473c1b0d5c0530de46..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color19.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color2.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color2.png
deleted file mode 100644
index da1355b56c902cd1584911e614eb5d0db98766f3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color20.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color20.png
deleted file mode 100644
index 69818425158c541be896547b539031789a915e54..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color20.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color21.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color21.png
deleted file mode 100644
index 62598f5d81df8a04f932a1bdf4e9ecef8f88c6f8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color21.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color22.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color22.png
deleted file mode 100644
index 216f88cf09347db8dcafa5a2de870857d88a36c1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color22.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color23.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color23.png
deleted file mode 100644
index 87780624ef3ccefcdbb33a9efc5dda9b4b289eab..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color23.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color24.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color24.png
deleted file mode 100644
index c2edd5509ad13df52c16b09ed97516f64bc2ea87..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color24.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color25.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color25.png
deleted file mode 100644
index f3184772c329ff31b96eaeb18b838b94963b77a9..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color25.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color26.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color26.png
deleted file mode 100644
index f4b5745adc9491b48b9ef69348d1afdb95f04c4d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color26.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color27.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color27.png
deleted file mode 100644
index a606036c398438fc7e7840ed14ffce3c3d49a398..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color27.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color28.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color28.png
deleted file mode 100644
index 6779582f2e67a90497b78ded116c138d4b6dcec3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color28.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color29.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color29.png
deleted file mode 100644
index 25ce556096361f7625a4c85ee07e5d5461d110cc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color29.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color3.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color3.png
deleted file mode 100644
index a3356f4dd8102083a0af66c0b62acf3f434d0480..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color30.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color30.png
deleted file mode 100644
index b16eb499cdab62e7aaffbe284c0957e5fc1ccc18..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color30.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color31.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color31.png
deleted file mode 100644
index 70de6c875f21555593d9c13ba3628f7d233ba4b0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color31.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color32.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color32.png
deleted file mode 100644
index 7b83badc582d9085555c6ee6882997e896c3068a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color32.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color4.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color4.png
deleted file mode 100644
index 0bcec7cf13d24659b2ee50ab2b9d7685054be436..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color5.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color5.png
deleted file mode 100644
index f2300a13feeb528bfb68ff6a4689fa89990d172f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color5.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color6.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color6.png
deleted file mode 100644
index 21360820d0b55f0f0c146a546454dce47dc91a6a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color6.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color7.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color7.png
deleted file mode 100644
index 3ccad1ac2a3687fdf63e1cc71bdaf17e39a44465..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color7.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color8.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color8.png
deleted file mode 100644
index 062b4c7e2f6d86a4f75edb33450e881362a98f19..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color8.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color9.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color9.png
deleted file mode 100644
index b20f19deb6d4727ebc9a0cb9de10583886917b22..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/character_color9.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_01.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_01.png
deleted file mode 100644
index d9160fb3c6800337b242cd686f507a728f6f7c3d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_01.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_02.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_02.png
deleted file mode 100644
index e8dafd08aef5d1615ff1baf7f3384c870089a2d3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_02.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_03.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_03.png
deleted file mode 100644
index 8381c81958f58c6d03d96d0fbd6d6d8c6483961d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_03.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_04.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_04.png
deleted file mode 100644
index c4bdb9a9573c6aaf10517f1d7300fb49098e650c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_04.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_05.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_05.png
deleted file mode 100644
index b3539dc125163de9dd73292cc46817346baad7e6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_color/old_05.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes1.png
deleted file mode 100644
index c672be93fd7acf055967b0a53212832dc0a4e300..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes10.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes10.png
deleted file mode 100644
index 968f11b086f366c9e3307e2dfbbe4768de6c8fd5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes11.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes11.png
deleted file mode 100644
index 3ff3cf5af64a676aecf850af1764ce215f327389..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes12.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes12.png
deleted file mode 100644
index 8690475a8ab7dc096e9472b57cf269958e488bbc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes13.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes13.png
deleted file mode 100644
index d546acdbc4f1f9ab336679f135210ee0a736ba28..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes14.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes14.png
deleted file mode 100644
index ec7fb215f8a6ea08a6daac525422b7f389f229ca..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes15.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes15.png
deleted file mode 100644
index bb2cf595a8fe88ef2fbd22ae6fee4101d6895cd0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes16.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes16.png
deleted file mode 100644
index bfb2d38d253c71de8fa62b6fb3467c9d4cc34b9d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes17.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes17.png
deleted file mode 100644
index a15736d734463986d9f3af3cef35f0e8ad4c70f5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes18.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes18.png
deleted file mode 100644
index 47ba6f3aa4aeeea92a78c0b3c433d8ff2f2e52c5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes19.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes19.png
deleted file mode 100644
index c1e140dc5aa92d35b42b22a337e5c27a2ae49f17..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes19.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes2.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes2.png
deleted file mode 100644
index 4f452c2ee519efa991c30bf1c7b6842e83a84e17..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes20.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes20.png
deleted file mode 100644
index dd446bfb467eee0c0a04098e46d1f14f929d612c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes20.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes21.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes21.png
deleted file mode 100644
index d1e8e06cb153f8ee480083fc3d84f80392422d75..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes21.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes22.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes22.png
deleted file mode 100644
index 3ce8d422d2bc6b0b6c947d585bdde90cf5dffc11..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes22.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes23.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes23.png
deleted file mode 100644
index 6781e82238aac7384521754179312c6ab0b42c46..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes23.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes24.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes24.png
deleted file mode 100644
index 6aa5e45df25f3dd8fc7836eb04e5d9037ac0b3aa..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes24.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes25.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes25.png
deleted file mode 100644
index 5798be3ca4741f415a76d633aa93f3bdd41d3d64..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes25.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes26.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes26.png
deleted file mode 100644
index 345cb455b343f5a7f46cc882e25b7f87d1080392..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes26.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes27.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes27.png
deleted file mode 100644
index 3044c2e31aacec7736ff176933d6fe93ee013827..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes27.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes28.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes28.png
deleted file mode 100644
index c19166a67c1a3968099a4cb9dbe4f6347bff5f76..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes28.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes29.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes29.png
deleted file mode 100644
index ac2e4c839bff204f8ea3891003ebc3497e5d60a6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes29.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes3.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes3.png
deleted file mode 100644
index d1bb67e6a6ec7a45d01276a78722b254873489b6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes30.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes30.png
deleted file mode 100644
index 15d5c42366c41c29cc1f0a81ae7e530e941a9ef2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes30.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes31.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes31.png
deleted file mode 100644
index 1d6b3d5a5372d138e55ce660033f93a7ac8b0688..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes31.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes32.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes32.png
deleted file mode 100644
index df3007f1974c5f0f6c7aae90567a7b2a6c71a818..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes32.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes33.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes33.png
deleted file mode 100644
index ce7cfd1be021719d6a95a049b2ac25b81094aaaf..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes33.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes34.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes34.png
deleted file mode 100644
index 3f110c66cad72f148f15ce7a03d1f42b4d16e114..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes34.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes4.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes4.png
deleted file mode 100644
index 92016ee54499a65c0bc85b9918f7fa9420969b53..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes5.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes5.png
deleted file mode 100644
index ed7a7eb95ef39b20b4d97dbcbdf3993d68c1e7b2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes5.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes6.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes6.png
deleted file mode 100644
index 4cbbc1df651d8d987e11ade4ab5d741cf760c5da..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes6.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes7.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes7.png
deleted file mode 100644
index cb3f132689fd41ffe86be61b9718961a4e6cdb33..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes7.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes8.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes8.png
deleted file mode 100644
index 8326729cee8ea9a5014ddd8495b3fa4c37587f9e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes8.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes9.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes9.png
deleted file mode 100644
index dbbe6ce1e4e27a160a23f8fb4f42e95adac33bbb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_eyes/character_eyes9.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs0.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs0.png
deleted file mode 100644
index fc15513be4e28ac08e83ac276674d48daa82a9f7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs0.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs1.png
deleted file mode 100644
index b7b3f8103dd41399b34dc23a3b068e32737ca1e5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs10.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs10.png
deleted file mode 100644
index d26a4c852d49990ebdceeccb5f1eaa6947b9eb0c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs11.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs11.png
deleted file mode 100644
index da5d38f71040b65b87fb0c6b4c6594eb34ca010f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs12.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs12.png
deleted file mode 100644
index 87fa1143839d20546bb7d2aa94b2b83f5b8a6957..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs13.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs13.png
deleted file mode 100644
index f49f04b8eb87a3354b0fc7517245f2a1c7bc3402..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs14.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs14.png
deleted file mode 100644
index 1f7d4f9848a5bfc17551f8cfb90d29d529c93724..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs15.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs15.png
deleted file mode 100644
index a6ea3f4873b33f74243f4aaf36d75a9936583ca3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs16.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs16.png
deleted file mode 100644
index cee3757c167821b2f24ca99cd1ba71afcc01c7f5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs17.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs17.png
deleted file mode 100644
index ee5e72a5adb129f9cda063fdfae16dae34d1df6a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs18.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs18.png
deleted file mode 100644
index 0e8a4e3f49550aaae3a6cb19dc113219ed3164a5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs19.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs19.png
deleted file mode 100644
index c4b7b9f1dcfa44e2217d9373312b45111f0078ee..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs19.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs2.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs2.png
deleted file mode 100644
index cc9563fa4e0183eefcacd990151e28751a640893..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs20.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs20.png
deleted file mode 100644
index 2ae71bc658e9152b16769b1478288e699cfc6881..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs20.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs21.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs21.png
deleted file mode 100644
index 1010291c1f7132eb95d8cfd162275b138868bca2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs21.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs22.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs22.png
deleted file mode 100644
index 89bc159223cb399fd228955dc53507cd4a06c5a5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs22.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs23.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs23.png
deleted file mode 100644
index b4d49149b0056f5f6ac241fc7d7c2c6669313734..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs23.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs24.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs24.png
deleted file mode 100644
index 61f872ebbf37d1572afbc5e81c95ed95b4b8eba2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs24.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs25.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs25.png
deleted file mode 100644
index 02c9d501480039f35be61bdf3bcbff2c20111f9e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs25.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs26.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs26.png
deleted file mode 100644
index d266a1157b01f1feb859dda4b7f378d8cab87ab8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs26.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs27.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs27.png
deleted file mode 100644
index 3920e8b9415cf8a3d9ddfd85ed42d4cd4607c8d1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs27.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs28.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs28.png
deleted file mode 100644
index 56a1654af34b3447bb718ea0f514b703a738ead7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs28.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs29.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs29.png
deleted file mode 100644
index 73e502539d5d6d3410a3fbcef0cc16a1282dcbdc..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs29.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs3.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs3.png
deleted file mode 100644
index 56cbeebc59be694e8e96070a1e767cf8522cd5d7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs30.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs30.png
deleted file mode 100644
index 5644f00ff11b9fa8b9e31c40249dd442f72b44e2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs30.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs31.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs31.png
deleted file mode 100644
index 76c83bfc877ab6c062cfa4ad3e9fc71ebc648a81..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs31.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs32.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs32.png
deleted file mode 100644
index a1691f9d69d3c94726dd116193cb32bf66e22990..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs32.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs33.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs33.png
deleted file mode 100644
index d916dff9df44954edc0949c5d528317afd74a15b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs33.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs34.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs34.png
deleted file mode 100644
index b12882bbdc9872bca276aa31252bb00b255f3a94..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs34.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs35.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs35.png
deleted file mode 100644
index 362776b08b2e32c1cddd99f60f6240da3ae39b0a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs35.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs36.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs36.png
deleted file mode 100644
index 0ccad45fc5f74385c2b1a86def4bb9f2bf773e19..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs36.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs37.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs37.png
deleted file mode 100644
index f7265773a20ea404ddd09226d1648aff0621ae6a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs37.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs38.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs38.png
deleted file mode 100644
index e08b80c96c0f72777cac4b4e660320408444fc0f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs38.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs39.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs39.png
deleted file mode 100644
index 72427258b16ba0c62eb9984483fb69fc96f152c7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs39.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs4.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs4.png
deleted file mode 100644
index 1102785edaca72bae4711d4843b04483c9a990b4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs40.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs40.png
deleted file mode 100644
index e503818d4b04e1ef4f5cce45d58c546bab014a31..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs40.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs41.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs41.png
deleted file mode 100644
index 9e970d562f32ebeb77ba12708c950937d9b9b532..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs41.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs42.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs42.png
deleted file mode 100644
index b594e4ec901837e29d4b176766e8fe5bebe0cdf8..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs42.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs43.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs43.png
deleted file mode 100644
index 4d7bc534bc434136e886e90b2771e5f3670aceeb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs43.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs44.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs44.png
deleted file mode 100644
index 1bf6f603731be745d7fc789fa485be1dac059ae0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs44.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs45.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs45.png
deleted file mode 100644
index 5260d9b82c132e9b634b5ca79993efa02e929bf3..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs45.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs46.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs46.png
deleted file mode 100644
index c7cc4d37d0bd26a752af8f1485a5e9e99b35c874..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs46.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs47.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs47.png
deleted file mode 100644
index 8e6471c90b72b1e917891e7c733a8c2bdec3e295..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs47.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs48.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs48.png
deleted file mode 100644
index f08147bc351b49a50457366b3687ad2ebdacf246..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs48.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs49.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs49.png
deleted file mode 100644
index 68c8c8946182ed0fc25791682b815316fc2d5d01..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs49.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs5.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs5.png
deleted file mode 100644
index 23538b24c654fec047a4ebc563754a634bdb6e5b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs5.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs50.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs50.png
deleted file mode 100644
index 8617d48cd757fb0c77956d26520596c32da8d921..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs50.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs51.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs51.png
deleted file mode 100644
index 0b46dc79cac9f6300e65970768c5d7ffd75eec47..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs51.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs52.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs52.png
deleted file mode 100644
index 5bf7bb804e9374954f75bb56b32cc4e3c737a899..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs52.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs53.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs53.png
deleted file mode 100644
index 44acb342f04542034e23051da15490532a196bdb..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs53.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs54.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs54.png
deleted file mode 100644
index 209c7f9aa26301380adb73f90f873e83971a180e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs54.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs55.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs55.png
deleted file mode 100644
index aac652b0d9d80d1634e1961f37eab3814500fe22..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs55.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs56.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs56.png
deleted file mode 100644
index b294a6a61586cd635d2805f04c1a5192a053591b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs56.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs57.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs57.png
deleted file mode 100644
index 9c75dd2b069e2e4066c81e0f04380a12893b3c87..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs57.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs58.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs58.png
deleted file mode 100644
index 830b6786b1b0701ef661a7d64a2177afd645f07c..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs58.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs59.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs59.png
deleted file mode 100644
index 97b594775b6f2a2f5b6b2a8d0328932af6a930b1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs59.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs6.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs6.png
deleted file mode 100644
index 638aefcb61c107b85cf94f6baabe3a0b710b7e19..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs6.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs60.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs60.png
deleted file mode 100644
index efa19c1495a7140f1a4e80b7e433c1f6ddcd585d..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs60.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs61.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs61.png
deleted file mode 100644
index 1ee93467949c5ae9b4d989a8f1b08f1173007797..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs61.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs62.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs62.png
deleted file mode 100644
index 45580128b29ec862bcc4ec9291d388e4adaadfde..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs62.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs63.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs63.png
deleted file mode 100644
index 74f666b95a0b3dad55d79d1eabda2b4bd9ba86e2..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs63.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs64.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs64.png
deleted file mode 100644
index 16bd4e3906fd23211b44a29660d9e0a1ba89349e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs64.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs65.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs65.png
deleted file mode 100644
index 907105fedb471f598f68856245b0381d2dfe1830..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs65.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs66.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs66.png
deleted file mode 100644
index fda15aabd0336d61da89aed5b8bea994007cf069..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs66.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs67.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs67.png
deleted file mode 100644
index 77768cb40f901a3262ceffea1f25016660305f22..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs67.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs68.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs68.png
deleted file mode 100644
index b7d248c615f79470efd026397e30371e1956f1e4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs68.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs69.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs69.png
deleted file mode 100644
index f670c342caa4287e6a124bb98df4aec4536d3517..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs69.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs7.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs7.png
deleted file mode 100644
index 82359f605665b62a1931687592045498264aeb19..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs7.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs70.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs70.png
deleted file mode 100644
index a5bdfb66769908f5cad00e659c7ffc60628bea63..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs70.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs71.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs71.png
deleted file mode 100644
index fb3e25a71612439b18c03a190ebc79c9f1714cb1..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs71.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs72.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs72.png
deleted file mode 100644
index b440321ce7e47236bc344b3a620f82f654938266..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs72.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs73.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs73.png
deleted file mode 100644
index cc83cc4222ce3e5e404fd27fb025b197461f2c1e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs73.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs8.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs8.png
deleted file mode 100644
index 02f022dfab4858071f84918344f90156f2b3676b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs8.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs9.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs9.png
deleted file mode 100644
index 786aeee1a8ae3ce939b668a72091d563965b0213..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hairs/character_hairs9.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats1.png
deleted file mode 100644
index fc15513be4e28ac08e83ac276674d48daa82a9f7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats10.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats10.png
deleted file mode 100644
index 14cdb14cca48099a6ee94486ff0b0aaa9bfd01bf..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats10.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats11.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats11.png
deleted file mode 100644
index 4f9f83205793906f2396728f849621895dd059d4..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats11.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats12.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats12.png
deleted file mode 100644
index e2636a7f64d572b046b3280420f81dd8793e1879..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats12.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats13.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats13.png
deleted file mode 100644
index 384b5e1f02e3fdf7560f9dec03bee33245045b01..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats13.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats14.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats14.png
deleted file mode 100644
index f40f76b4ca1c270806ed0238be9e692a46caadd7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats14.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats15.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats15.png
deleted file mode 100644
index 3e1a635efffdbb2e27de505044714e43a24a9ca7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats15.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats16.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats16.png
deleted file mode 100644
index d7dd765466d02b3cb1ebaeb65f8ce125bddf0737..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats16.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats17.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats17.png
deleted file mode 100644
index 7adc46bda6f7c5bdc923717fddbc1003458c5abd..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats17.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats18.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats18.png
deleted file mode 100644
index 5cec2c16c9c94f177271f5a591bee65bbaff8bf7..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats18.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats19.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats19.png
deleted file mode 100644
index 794dbbdcd78584aaf0c31e08018a6a33e047722a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats19.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats2.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats2.png
deleted file mode 100644
index cfc00e20aea9a5603dd4cb862a007b7ae9651226..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats2.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats20.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats20.png
deleted file mode 100644
index 0d77a1c80344152e755dc3c1ced7a1db64f6004e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats20.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats21.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats21.png
deleted file mode 100644
index ad8d7399fd959cf8dcd44166feef04701fd70a0e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats21.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats22.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats22.png
deleted file mode 100644
index ef054b229e5ec0ca598a7e33aae09ae7bdda4a13..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats22.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats23.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats23.png
deleted file mode 100644
index a06ce23b8cf316d15dfd588d3bfde7576222ded5..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats23.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats24.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats24.png
deleted file mode 100644
index a70aea52022a00ad9614574697ff17f1f1460174..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats24.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats25.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats25.png
deleted file mode 100644
index fa55d53273267ff4dd14b3732b8caea3f507d5c0..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats25.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats26.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats26.png
deleted file mode 100644
index 6c805fd5b36ed487202d0fdbd125b51adba3d61e..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats26.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats3.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats3.png
deleted file mode 100644
index f5858738fa63e19d87bb3441d2c9cf7b2b78db05..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats3.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats4.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats4.png
deleted file mode 100644
index 2503c96b83f7b8d16edf12a4e5cdaaa3215e736b..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats4.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats5.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats5.png
deleted file mode 100644
index 67ae54ba28c5366068f69d32f8b7e45f28d8e777..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats5.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats6.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats6.png
deleted file mode 100644
index 6d16feaf82112f9f9876ee407942d2619b215997..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats6.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats7.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats7.png
deleted file mode 100644
index 1dc05927addc787aad5bfec567e74289939d8b36..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats7.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats8.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats8.png
deleted file mode 100644
index 35e70ecfe03fa6c804d2a8306c8b7b417649a3a6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats8.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats9.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats9.png
deleted file mode 100644
index 55680ef644379067e4437e1b33bcd4c509ef2c5f..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/character_hats9.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/diving_mask1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/diving_mask1.png
deleted file mode 100644
index f060b279570069ff024c06b83bf500d2fa48c08a..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/diving_mask1.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/purple_hat.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/purple_hat.png
deleted file mode 100644
index bea48432f680cafe4055b141502a763263e372b6..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/purple_hat.png and /dev/null differ
diff --git a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/tinfoil_hat1.png b/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/tinfoil_hat1.png
deleted file mode 100644
index 15b1b9607afef1180309e4004c78ec318d69c086..0000000000000000000000000000000000000000
Binary files a/src/plainui/static/plainui/img/wa-avatar/customisation/character_hats/tinfoil_hat1.png and /dev/null differ
diff --git a/src/plainui/styles/components/_avatar.scss b/src/plainui/styles/components/_avatar.scss
index b16af7e38e8887abbd61300c05dfc6017f7ff753..7c1df52b2693c9b5afe60f8190daae408e182351 100644
--- a/src/plainui/styles/components/_avatar.scss
+++ b/src/plainui/styles/components/_avatar.scss
@@ -8,35 +8,10 @@
     max-width: 100%;
   }
 
-  &__wa-stacked {
-    position: relative;
-    width: 32px;
-    height: 32px;
-  }
-
   &__img {
     max-width: 100%;
   }
 
-  &__wa-std,
-  &__wa-multi {
-    position: relative;
-    padding: 0;
-    margin: 0;
-    width: 32px;
-    height: 32px;
-    display: block;
-    animation:
-      hub-avatar-move-x 0.4s steps(3) infinite,
-      hub-avatar-move-y 5s steps(4) infinite;
-  }
-
-  &__wa-multi:not(:first-child) {
-    position: absolute;
-    top: 0;
-    left: 0;
-  }
-
   @keyframes hub-avatar-move-x {
     from {
       background-position-x: 0px;
diff --git a/src/plainui/tests/test_views.py b/src/plainui/tests/test_views.py
index f7d5ad206afbb7c11eb44d08cbabc495e4a1748e..d04f35c6685bd0e845aad02298de82cb62c105c8 100644
--- a/src/plainui/tests/test_views.py
+++ b/src/plainui/tests/test_views.py
@@ -7,7 +7,6 @@ from urllib.parse import quote
 import jwt
 from freezegun import freeze_time
 
-from django import forms
 from django.contrib import messages
 from django.contrib.auth.models import Group
 from django.contrib.contenttypes.models import ContentType
@@ -49,13 +48,12 @@ from core.models import (
     TagItem,
     UserBadge,
     UserDereferrerAllowlist,
-    WorkadventureSession,
 )
 from core.templatetags.hub_absolute import hub_absolute
 from core.tests.mock import mocktrans
 from hub.http import HttpResponseRateLimited
 
-from plainui.forms import ProfileEditForm, WorkadventureCompatibleUsernameField
+from plainui.forms import ProfileEditForm
 from plainui.views import ConferenceRequiredMixin, LandingView
 
 
@@ -2252,36 +2250,6 @@ class ViewsTest(ViewsTestBase):
         self.assertEqual(resp.context_data['conf'], self.conf)
         self.assertEqual(resp.context_data['hide_header'], True)
 
-    @override_locale('en')
-    def test_WorldView(self):
-        self.assertNeedsLogin(reverse('plainui:world'), check_user=True)
-        resp = self.client.get(reverse('plainui:world'))
-        self.assertEqual(resp.context_data['conf'], self.conf)
-
-        sp = StaticPage(conference=self.conf, slug='world', language='en')
-        sp.save()
-        r1 = StaticPageRevision(title='Title 1', page=sp, body='Body 1')
-        r1.save()
-        r1.set_public()
-
-        resp = self.client.get(reverse('plainui:world'))
-        self.assertEqual(resp.context_data['conf'], self.conf)
-        self.assertEqual(resp.context_data['page'], sp)
-
-    @override_settings(WORKADVENTURE_LOBBY_ROOM_SLUG='lobby')
-    @override_locale('en')
-    def test_WorkadventureEnter(self):
-        assembly = Assembly(conference=self.conf, slug='official', name='Official Assembly', state=Assembly.State.PLACED, is_official=True)
-        assembly.save()
-        lobby_room = Room(conference=self.conf, assembly=assembly, slug='lobby', room_type=Room.RoomType.WORKADVENTURE)
-        lobby_room.save()
-
-        self.assertNeedsLogin(reverse('plainui:world_join'), check_user=True)
-
-        resp = self.client.get(reverse('plainui:world_join'))
-        wa_session = WorkadventureSession.objects.get()
-        self.assertRedirects(resp, wa_session.get_token_url(), fetch_redirect_response=False)
-
     @override_settings(DEREFERRER_GLOBAL_ALLOWLIST=[], DEREFERRER_COUNT_ACCESS=[])
     @override_locale('en')
     def _dereferrer_test(self, my_endpoint):
@@ -2395,10 +2363,6 @@ class ViewsTest(ViewsTestBase):
     def test_DereferrerView(self):
         self._dereferrer_test('plainui:dereferrer')
 
-    @override_locale('en')
-    def test_WorkadventureDereferrerView(self):
-        self._dereferrer_test('plainui:wa_dereferrer')
-
     @override_settings(RATELIMIT_ENABLE=False)
     @override_locale('en')
     def test_ReportContentView(self):
@@ -2642,70 +2606,6 @@ class ViewsTest(ViewsTestBase):
         self.assertEqual(resp.status_code, 429)
         self.assertIsInstance(resp, HttpResponseRateLimited)
 
-    @override_locale('en')
-    def test_WorkadventureContactPage(self):
-        # works with missing page
-        resp = self.client.get(reverse('plainui:wa_contact'))
-        self.assertEqual(resp.context_data['conf'], self.conf)
-
-        sp = StaticPage(conference=self.conf, slug='wa_contact', language='en')
-        sp.save()
-        r1 = StaticPageRevision(title='WA Contact Test', page=sp, body='WA Contact Body')
-        r1.save()
-        r1.set_public()
-
-        resp = self.client.get(reverse('plainui:wa_contact'))
-        self.assertEqual(resp.context_data['conf'], self.conf)
-        self.assertEqual(resp.context_data['page'], sp)
-
-        # works without login
-        self.client.cookies = SimpleCookie()
-        resp = self.client.get(reverse('plainui:wa_contact'))
-        self.assertEqual(resp.context_data['conf'], self.conf)
-        self.assertEqual(resp.context_data['page'], sp)
-
-    @override_locale('en')
-    def test_WorkadventureVCard(self):
-        user2 = PlatformUser(username='testuser2', email='no@where.test')
-        user2.save()
-        conference_member2 = ConferenceMember(conference=self.conf, user=user2)
-        conference_member2.save()
-
-        self.user.description = 'Some Description\n\n# Heading\n*Some Text*'
-        self.user.save()
-        wa_session = WorkadventureSession(conference=self.conf, user=user2)
-        wa_session.save()
-
-        resp = self.client.get(reverse('plainui:wa_vcard', kwargs={'wa_session_id': wa_session.pk}))
-        self.assertEqual(resp.context_data['conf'], self.conf)
-        self.assertEqual(resp.context_data['vcard_user'], user2)
-        self.assertFalse(resp.context_data['active_angel'])
-
-        # check active angel & works without login
-        self.client.cookies = SimpleCookie()
-        conference_member2.active_angel = True
-        conference_member2.save()
-        resp = self.client.get(reverse('plainui:wa_vcard', kwargs={'wa_session_id': wa_session.pk}))
-        self.assertTrue(resp.context_data['active_angel'])
-
-
-# @override_settings(PRETIX_SECRET_KEY=_GOOD_SECRET)
-class TestWorkadventurCompattibleUsernameField(TestCase):
-    def setUp(self):
-        class MyTestForm(forms.Form):
-            username = WorkadventureCompatibleUsernameField(max_length=123)
-
-        self.my_form_class = MyTestForm
-        return super().setUp()
-
-    def test_valid_username(self):
-        form = self.my_form_class(data={'username': 'BadFlanders'})
-        self.assertTrue(form.is_valid())
-
-    def test_username_to_long(self):
-        form = self.my_form_class(data={'username': 'wolfeschlegelsteinhausenbergerdorff'})
-        self.assertFalse(form.is_valid())
-
 
 class TestConferenceDetection(TestCase):
     def setUp(self):
diff --git a/src/plainui/urls.py b/src/plainui/urls.py
index b6811fed2358b42bad410ac265de0cbe6296040d..57127fa8d5da180fbf5ac614b3698ec6f8d009ab 100644
--- a/src/plainui/urls.py
+++ b/src/plainui/urls.py
@@ -9,7 +9,6 @@ app_name = 'plainui'
 urlpatterns = [
     path('component_gallery', views.ComponentGalleryView.as_view(), name='component_gallery'),
     path('dereferrer/<path:dst>', views.DereferrerView.as_view(), name='dereferrer'),
-    path('wa_dereferrer/<path:dst>', views.WorkadventureDereferrerView.as_view(), name='wa_dereferrer'),
     path('dereferrer_save/<str:signed_payload>', views.DereferrerAddToAllowlistView.as_view(), name='dereferrer_save'),
     path('dereferrer-approved/<str:signed_payload>', views.DereferrerRedirectView.as_view(), name='dereferrer_approved'),
     path('dereferrer_unallow', views.DereferrerRemoveFromAllowlistView.as_view(), name='dereferrer_unallow'),
@@ -78,7 +77,6 @@ urlpatterns = [
     path('wiki_refresh_lock', views.StaticPageLockKeepalive.as_view(), name='static_page_refresh_lock'),
     path('search', views.SearchView.as_view(), name='search'),
     path('event/<slug:event_slug>/', views.EventView.as_view(), name='event'),
-    path('event/<slug:event_slug>/join', views.SosJoin.as_view(), name='event_join'),
     path('tag/<slug:tag_slug>/', views.TagView.as_view(), name='tag'),
     path('upcoming', views.UpcomingView.as_view(), name='upcoming'),
     path('assemblies', views.AssembliesView.as_view(), name='assemblies'),
@@ -91,17 +89,11 @@ urlpatterns = [
     re_path(r'^assemblies/all/(?P<page>[0a-z])', views.AssembliesAllView.as_view(), name='assemblies_all_paginated'),
     path('assembly/<slug:assembly_slug>/', views.AssemblyView.as_view(), name='assembly'),
     path('assembly/<slug:slug>/', views.AssemblyView.as_view(), name='assembly'),
-    path('assembly/<slug:assembly_slug>/bbb/<slug:room_slug>/', views.AssemblyJoinBBBView.as_view(), name='assembly_join_bbb'),
     path('sos/', views.SosList.as_view(), name='sos'),
     path('so/project/<slug:slug>/', views.ProjectView.as_view(self_organized=True), name='so_project'),
-    path('world', views.WorldView.as_view(), name='world'),
-    path('world_join/', views.WorkadventureEnterView.as_view(), name='world_join'),
     path('report', views.ReportContentView.as_view(), name='report_content'),
     path('user/<slug:user_slug>/', views.UserView.as_view(), name='user'),
     path('user-by-uuid/<uuid:uuid>/', views.UserByUuidView.as_view(), name='user_by_uuid'),
-    path('wa_contact', views.WorkadventureContactPageView.as_view(), name='wa_contact'),
-    path('world_vcard/<uuid:wa_session_id>', views.WorkadventureVCardView.as_view(), name='wa_vcard'),
-    path('shibboleet', views.ShibboleetView.as_view(), name='shibboleet'),
 ]
 
 if settings.SERVE_STATIC:
diff --git a/src/plainui/views/__init__.py b/src/plainui/views/__init__.py
index 1726c7d822f7b75c02d6439dc688b02f9fbe7eff..b2ea19b0535d5dc3dee977c6cf8bcfe5ecc07e0a 100644
--- a/src/plainui/views/__init__.py
+++ b/src/plainui/views/__init__.py
@@ -18,6 +18,5 @@ from plainui.views.ticket_tokens import *
 from plainui.views.user_profile import *
 from plainui.views.users import *
 from plainui.views.utils import ConferenceRequiredMixin  # noqa: F401
-from plainui.views.work_adventure import *
 
 __all__ = ('*',)  # noqa: F405
diff --git a/src/plainui/views/auth.py b/src/plainui/views/auth.py
index a39f45b35d2e21feb2ca90772c6d293dab1e9ab6..c071fcb12fd5e4f87dca1ada7a10535b15a56c16 100644
--- a/src/plainui/views/auth.py
+++ b/src/plainui/views/auth.py
@@ -9,30 +9,22 @@ __all__ = (
     'RegistrationActivationView',
     'RegistrationDoneView',
     'RegistrationView',
-    'ShibboleetView',
     'TokenPasswordResetView',
 )
 
-import logging
 from typing import Any
 
 from django.conf import settings
 from django.contrib import messages
 from django.contrib.auth import views as auth_views
-from django.http import HttpResponseNotFound, HttpResponseRedirect
-from django.shortcuts import redirect
+from django.http import HttpResponseRedirect
 from django.urls import reverse, reverse_lazy
 from django.utils.decorators import method_decorator
 from django.utils.translation import gettext
 from django.views.decorators.debug import sensitive_post_parameters
-from django.views.generic.base import TemplateView, View
+from django.views.generic.base import TemplateView
 from django.views.generic.edit import FormView
 
-from core.models import (
-    ConferenceMember,
-    Room,
-    WorkadventureSession,
-)
 from core.views import BaseLoginView, BasePasswordResetConfirmView, BasePasswordResetView, BaseRegistrationActivationView, BaseRegistrationView
 
 from plainui.forms import (
@@ -217,27 +209,3 @@ class TokenPasswordResetView(ConferenceRequiredMixin, FormView):
 
 class LogoutView(auth_views.LogoutView):
     next_page = 'plainui:login'
-
-
-class ShibboleetView(ConferenceRequiredMixin, View):
-    require_user = True
-    require_conference_member = False
-    only_published = False
-
-    def get(self, *args, **kwargs):
-        if settings.SHIBBOLEET_WA_ROOM_ID is None:
-            return HttpResponseNotFound()
-
-        cm, created = ConferenceMember.objects.get_or_create(conference=self.conf, user=self.request.user)
-        if created:
-            logging.info('Created ConferenceMember for %s on %s in shibboleet mode.', self.request.user.username, self.conf.slug)
-
-        # try to lookup the WA room and crash deliberately if this is not available
-        wa_room = Room.objects.conference_accessible(self.conf).get(room_type=Room.RoomType.WORKADVENTURE, pk=settings.SHIBBOLEET_WA_ROOM_ID)
-
-        # prepare a new WA session
-        wa_session = WorkadventureSession.create_for_conference_user(self.conf, self.request.user, wa_room)
-
-        # get redirect url
-        token_url = wa_session.get_token_url()
-        return redirect(token_url)
diff --git a/src/plainui/views/dereferrer.py b/src/plainui/views/dereferrer.py
index 4e874977b17594ecd2988b82c3100172d2aac958..74d8e192ece3368813dad3cfae79cce1c6f680ff 100644
--- a/src/plainui/views/dereferrer.py
+++ b/src/plainui/views/dereferrer.py
@@ -3,7 +3,6 @@ __all__ = (
     'DereferrerRedirectView',
     'DereferrerRemoveFromAllowlistView',
     'DereferrerView',
-    'WorkadventureDereferrerView',
 )
 
 from urllib.parse import ParseResult, unquote, urlparse
@@ -107,8 +106,7 @@ class DereferrerView(BaseDereferrerView):
 
         # prevent loops
         my_endpoint = reverse('plainui:dereferrer', kwargs={'dst': '/'})[:-1]
-        wa_endpoint = reverse('plainui:wa_dereferrer', kwargs={'dst': '/'})[:-1]
-        if allowlist_match and (destination.startswith((my_endpoint, wa_endpoint)) or not destination.startswith('/')):
+        if allowlist_match and (destination.startswith(my_endpoint) or not destination.startswith('/')):
             return redirect(reverse('plainui:index'))
 
         # is the url allowed via global allow list?
@@ -139,10 +137,6 @@ class DereferrerView(BaseDereferrerView):
             )
 
 
-class WorkadventureDereferrerView(DereferrerView):
-    template_name = 'plainui/wa_dereferrer.html.j2'
-
-
 class DereferrerRemoveFromAllowlistView(View):
     def get(self, request, *args, **kwargs):
         return redirect(reverse('plainui:userprofile'))
diff --git a/src/plainui/views/events.py b/src/plainui/views/events.py
index 7af6f15812eb867c4cb82277c801937f3af0b5db..535ff95b0adf5941f0c6d808a7e481858efea78b 100644
--- a/src/plainui/views/events.py
+++ b/src/plainui/views/events.py
@@ -1,20 +1,15 @@
 __all__ = (
     'AssembliesEventsView',
     'EventView',
-    'SosJoin',
     'SosList',
     'UpcomingView',
 )
 
-from django.contrib import messages
 from django.contrib.contenttypes.models import ContentType
-from django.http import Http404, HttpResponseRedirect
-from django.shortcuts import get_object_or_404, redirect
+from django.shortcuts import get_object_or_404
 from django.urls import reverse
-from django.utils.translation import gettext
-from django.views.generic.base import TemplateView, View
+from django.views.generic.base import TemplateView
 
-from core import integrations
 from core.models import (
     Event,
     EventAttachment,
@@ -117,26 +112,3 @@ class SosList(ConferenceRequiredMixin, FilteredListView):
         context['report_info'] = {'enabled': True}
 
         return context
-
-
-class SosJoin(ConferenceRequiredMixin, View):
-    """extra view to join BBB rooms from the Workadventure"""
-
-    require_user = True
-
-    def get(self, request, event_slug):
-        event = get_object_or_404(Event.objects.conference_accessible(self.conf), slug=event_slug)
-        if not event.kind == Event.Kind.SELF_ORGANIZED:
-            raise Http404
-
-        try:
-            join_url = integrations.BigBlueButton.join_room(event, self.request.user, not self.request.user.show_name)
-            if not join_url:
-                error = gettext('Unspecified error, room is probably full?')
-            else:
-                return HttpResponseRedirect(join_url)
-        except integrations.IntegrationError as e:
-            error = str(e)
-
-        messages.error(request, gettext('Joining Failed: %s') % (error,))
-        return redirect(reverse('plainui:event', kwargs={'event_slug': event_slug}))
diff --git a/src/plainui/views/rooms.py b/src/plainui/views/rooms.py
index e22ebd0838950a02e5c486aabb42ccf6cef33b24..766674d9ef6847dbee05d9195387b865a18cb688 100644
--- a/src/plainui/views/rooms.py
+++ b/src/plainui/views/rooms.py
@@ -7,7 +7,6 @@ __all__ = (
 from django.contrib import messages
 from django.db.models import QuerySet
 from django.http import HttpResponseRedirect
-from django.shortcuts import redirect
 from django.utils.translation import gettext
 from django.views.generic import DetailView
 
@@ -15,7 +14,6 @@ from core import integrations
 from core.models import (
     Room,
     RoomLink,
-    WorkadventureSession,
 )
 from core.views.list_views import AlphabeticalPaginatorView
 
@@ -43,13 +41,7 @@ class RoomView(ConferenceRequiredMixin, DetailView):
                     return HttpResponseRedirect(integrations.BigBlueButton.join_room(self.room, self.request.user, not self.request.user.show_name))
 
                 messages.error(request, gettext('RoomView--loginrequired'))
-            elif self.room.room_type == Room.RoomType.WORKADVENTURE:
-                if self.request.user.is_authenticated:
-                    wa_session = WorkadventureSession.create_for_conference_user(self.conf, self.request.user, self.room)
-                    token_url = wa_session.get_token_url()
-                    return redirect(token_url)
 
-                messages.error(request, gettext('RoomView--loginrequired'))
         except integrations.IntegrationError as e:
             messages.error(request, str(e))
 
diff --git a/src/plainui/views/user_profile.py b/src/plainui/views/user_profile.py
index 04e5de43300cc2073c0fd92672d2a6b65e9fd373..12625588bb0fb37fa47823a7e7e521781eeb1585 100644
--- a/src/plainui/views/user_profile.py
+++ b/src/plainui/views/user_profile.py
@@ -4,7 +4,6 @@ __all__ = (
     'ProfileView',
 )
 
-import logging
 from typing import Any
 
 from django.conf import settings
@@ -20,7 +19,6 @@ from django.views.generic.edit import UpdateView
 from modeltranslation.fields import build_localized_fieldname
 from modeltranslation.settings import AVAILABLE_LANGUAGES
 
-from core.integrations import WorkAdventureIntegration
 from core.models import (
     Assembly,
     Event,
@@ -132,11 +130,6 @@ class ProfileView(ConferenceRequiredMixin, UpdateView):
         self.request.session['theme'] = form1.instance.theme
         messages.success(self.request, gettext('Updated Profile'))
 
-        try:
-            WorkAdventureIntegration.push_userinfo(conference=self.conf, user=self.request.user)
-        except Exception:
-            logging.exception('Failed to push userinfo to WorkAdventure.')
-
         return HttpResponseRedirect(self.get_success_url())
 
 
diff --git a/src/plainui/views/work_adventure.py b/src/plainui/views/work_adventure.py
deleted file mode 100644
index dd522e3228e1583496ca9f6d67793ff4285c0d8a..0000000000000000000000000000000000000000
--- a/src/plainui/views/work_adventure.py
+++ /dev/null
@@ -1,129 +0,0 @@
-__all__ = (
-    'AssemblyJoinBBBView',
-    'WorkadventureContactPageView',
-    'WorkadventureEnterView',
-    'WorkadventureVCardView',
-    'WorldView',
-)
-
-from django.conf import settings
-from django.contrib import messages
-from django.http import Http404, HttpResponseRedirect
-from django.shortcuts import get_object_or_404, redirect
-from django.urls import reverse
-from django.utils.translation import get_language
-from django.views.generic.base import TemplateView, View
-
-from core import integrations
-from core.models import (
-    ConferenceMember,
-    Room,
-    StaticPage,
-    WorkadventureSession,
-)
-from core.sso import SSO
-
-from plainui.views.utils import (
-    ConferenceRequiredMixin,
-)
-
-
-class WorldView(ConferenceRequiredMixin, TemplateView):
-    require_user = True
-    template_name = 'plainui/world.html.j2'
-
-    def get(self, request, *args, **kwargs):
-        resp = super().get(request, *args, **kwargs)
-        resp.set_cookie(settings.SSO_COOKIE_NAME, SSO.generate_token(self.request.user), domain=settings.SSO_COOKIE_DOMAIN)
-        return resp
-
-    def get_context_data(self, **kwargs):
-        context = super().get_context_data(**kwargs)
-        context['conf'] = self.conf
-        try:
-            static_page = StaticPage.objects.conference_accessible(conference=self.conf, language=get_language()).get(slug='world')
-        except StaticPage.DoesNotExist:
-            static_page = StaticPage(conference=self.conf, title='Page Missing', body_html='Please configure the static page "world".')
-
-        context['page'] = static_page
-        context['join_url'] = integrations.WorkAdventure.join_room(None, self.request.user)
-        return context
-
-
-class WorkadventureEnterView(ConferenceRequiredMixin, View):
-    require_user = True
-
-    def get(self, request, **kwargs):
-        wa_room = Room.objects.conference_accessible(self.conf).get(room_type=Room.RoomType.WORKADVENTURE, slug=settings.WORKADVENTURE_LOBBY_ROOM_SLUG)
-
-        # prepare a new WA session
-        wa_session = WorkadventureSession.create_for_conference_user(self.conf, self.request.user, wa_room)
-
-        # get redirect url
-        token_url = wa_session.get_token_url()
-        return redirect(token_url)
-
-
-class WorkadventureContactPageView(ConferenceRequiredMixin, TemplateView):
-    template_name = 'plainui/wa_contact.html.j2'
-    require_login = False
-    require_conference_member = False
-
-    def get_context_data(self, **kwargs):
-        context = super().get_context_data(**kwargs)
-        context['conf'] = self.conf
-        try:
-            static_page = StaticPage.objects.conference_accessible(conference=self.conf, language=get_language()).get(slug='wa_contact')
-        except StaticPage.DoesNotExist:
-            static_page = StaticPage(conference=self.conf, title='Page Missing', body_html='Please configure the static page "wa_contact".')
-
-        context['page'] = static_page
-        return context
-
-
-class WorkadventureVCardView(ConferenceRequiredMixin, TemplateView):
-    template_name = 'plainui/wa_vcard.html.j2'
-    require_login = False
-    require_conference_member = False
-
-    def get_context_data(self, wa_session_id, **kwargs):
-        context = super().get_context_data(**kwargs)
-        context['conf'] = self.conf
-        context['theme_override'] = 'distractfree_nobg'
-
-        if self.request.GET.get('test'):
-            user = self.request.user
-        else:
-            try:
-                wa_session = WorkadventureSession.objects.all().select_related('user').get(pk=wa_session_id)
-                user = wa_session.user
-            except WorkadventureSession.DoesNotExist:
-                user = None
-
-        try:
-            conference_member = ConferenceMember.objects.get(conference=self.conf, user=user)
-        except ConferenceMember.DoesNotExist:
-            conference_member = None
-
-        context['vcard_user'] = user
-        context['active_angel'] = conference_member.active_angel if conference_member else False
-
-        return context
-
-
-class AssemblyJoinBBBView(ConferenceRequiredMixin, View):
-    """extra view to join BBB rooms from the Workadventure"""
-
-    require_user = True
-
-    def get(self, request, assembly_slug, room_slug):
-        room = get_object_or_404(Room.objects.conference_accessible(self.conf), assembly__slug=assembly_slug, slug=room_slug)
-        if not room.room_type == Room.RoomType.BIGBLUEBUTTON:
-            raise Http404
-
-        try:
-            return HttpResponseRedirect(integrations.BigBlueButton.join_room(room, self.request.user, not self.request.user.show_name))
-        except integrations.IntegrationError as e:
-            messages.error(request, str(e))
-
-        return redirect(reverse('plainui:assembly', kwargs={'assembly_slug': assembly_slug}))