commit b9abff8012c5c358f919fef550989f5ea9cfade5 Author: alteropen Date: Mon Feb 10 12:37:33 2025 +0000 Full completed project diff --git a/android-client/bugs.txt b/android-client/bugs.txt new file mode 100644 index 0000000..fba7b73 --- /dev/null +++ b/android-client/bugs.txt @@ -0,0 +1,6 @@ +--- Load toolbar --- +I fixed a teams help icon issue but made a major change unaware of consequences??? +I made it so the organisation bottom item now passes the "self.page" to the teams page and occupation page on creation instead of just "self" +This is so these pages could have access to the load_toolbar method required to refresh the help button on previous pages +--- Load toolbar --- + diff --git a/android-client/data/assets/help.txt b/android-client/data/assets/help.txt new file mode 100644 index 0000000..8e88307 --- /dev/null +++ b/android-client/data/assets/help.txt @@ -0,0 +1,144 @@ +[Home:START] + (title:START) + Home page + (title:END) + + (body:START) + This is your home page, below you will is where you will see your friends posts. + In the top left corner is your "profile" there you will be able to see all about you, and find friends + Next to that is yout notifications to keep you up-to-date with your colleges + Your settings panel is in the top left and additional areas are available in the navigation panel at the bottom of the page + (body:END) +[Home:END] + +[Memories:START] + (title:START) + Memories page + (title:END) + + (body:START) + Here is where you will see your own historical posts. This means posts from previous days. + Just select a month and then the day of the month and you will see your old post. You can still like + and comment on it but others will not be able to see these interactions. + (body:END) +[Memories:END] + +[Organisation:START] + (title:START) + Organisation page + (title:END) + + (body:START) + Here you will see the navigation to your teams panel, and soon some infomation about your organisations + Your teams panel is where you will be able to see all about your team. + + You can only be part of one organisation, since your account is specifically tied to it. + (body:END) +[Organisation:END] + +[Organisation-admin:START] + (title:START) + Organisation page + (title:END) + + (body:START) + Here you will see the navigation to your teams panel, and soon some infomation about your organisations + Your teams panel is where you will be able to see all about your team. + Additionally since your are management/admin staff you can see the occupation area here you can accept and reject occupation change requests, create new occupations and edit or delete current ones. + (body:END) + [Organisation-admin:END] + +[Profile:START] + (title:START) + Profile page + (title:END) + + (body:START) + This page you can see all the infomation about the profile your viewing. For your own profile you should see edit buttons next to some of infomation this means you can change or request to change this info. + + Your role is simply how you describe your role in your team for instance "assistant" + Your occupation determines what team you are put into, you can only be part of 1 team at a time. + (body:END) +[Profile:END] + +[Notifications:START] + (title:START) + Notifications page + (title:END) + + (body:START) + Here you will see notifications from your organisations admins and management, as well notifications about people interacting with your posts and when its time to make your post. + (body:END) +[Notifications:END] + +[Settings:START] + (title:START) + Settings page + (title:END) + + (body:START) + This is where you can configure some options, for instance to stop seeing these help buttons toggle "Help Dialogs". + (body:END) +[Settings:END] + +[Team:START] + (title:START) + Teams page + (title:END) + + (body:START) + Your sorted into a team via your occupation, each occupation will have a team associated with it. + People in the same team as you will see your posts and you will see theres. This means you will see posts from + your team alongside posts from your friends. + + Team leaders act as the moderator for the team. This means they can delete your posts and comments even if your + commenting on your friends posts. + (body:END) +[Team:END] + +[Occupation:START] + (title:START) + Occupations page + (title:END) + + (body:START) + Here you can change edit and delete the occupations in your organisation, this panel is only available for management and admins. + You can also approve and deny occupation change requests here. For a member to change their occupation they have to submit an occupation change request including what occupation they want to switch to. This request must be approved by management or above. Once approved the member is switched to their new team. + (body:END) +[Occupation:END] + +[Friends:START] + (title:START) + Friends page + (title:END) + + (body:START) + In BeOpen you dont follow people but friend people, this means both people accepted to be friends with eachother. Meaning you both see eachothers posts in your feed. + On this page you will be able to see your current friends and remove them if wanted. On the requests page (button below) you can send new friend requests, and approve or deny current friend requests. On that page is also a list of recomended friends based on mutal friends. + + To send a friend request to someone (who isnt in the recomended) type their username into the request box, their username has to match exactly. + (body:END) +[Friends:END] + +[Camera:START] + (title:START) + Making a post + (title:END) + + (body:START) + You will be able to make one of these posts once a day, you will see the countdown at the top this is how long you have to post. After this time has run out you will not be able to post for that day. + To make a post just take a picture of whatever your doing right now and head onto the next screen. + (body:END) +[Camera:END] + +[PostReview:START] + (title:START) + Making a post + (title:END) + + (body:START) + Here you can review the image you just took and retake it if needed. + You can also add a caption to your post, note that you cannot edit a post after its been created you can however delete it. So be sure this is what you want to post today since deleting means you will have to wait till tomorrow to post again. + When your ready just hit post! + (body:END) +[PostReview:END] diff --git a/android-client/data/assets/profile.png b/android-client/data/assets/profile.png new file mode 100644 index 0000000..fea4acd Binary files /dev/null and b/android-client/data/assets/profile.png differ diff --git a/android-client/data/database.db b/android-client/data/database.db new file mode 100644 index 0000000..a31ee6d Binary files /dev/null and b/android-client/data/database.db differ diff --git a/android-client/data/images-temp/image1.jpg b/android-client/data/images-temp/image1.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/images-temp/image1.jpg differ diff --git a/android-client/data/images-temp/image10.jpg b/android-client/data/images-temp/image10.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/images-temp/image10.jpg differ diff --git a/android-client/data/images-temp/image11.jpg b/android-client/data/images-temp/image11.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/images-temp/image11.jpg differ diff --git a/android-client/data/images-temp/image2.jpg b/android-client/data/images-temp/image2.jpg new file mode 100644 index 0000000..5c4ce0c Binary files /dev/null and b/android-client/data/images-temp/image2.jpg differ diff --git a/android-client/data/images-temp/image3.jpg b/android-client/data/images-temp/image3.jpg new file mode 100644 index 0000000..9a32863 Binary files /dev/null and b/android-client/data/images-temp/image3.jpg differ diff --git a/android-client/data/images-temp/image4.jpg b/android-client/data/images-temp/image4.jpg new file mode 100644 index 0000000..a630e21 Binary files /dev/null and b/android-client/data/images-temp/image4.jpg differ diff --git a/android-client/data/images-temp/image5.jpg b/android-client/data/images-temp/image5.jpg new file mode 100644 index 0000000..5cc9b02 Binary files /dev/null and b/android-client/data/images-temp/image5.jpg differ diff --git a/android-client/data/images-temp/image6.jpg b/android-client/data/images-temp/image6.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/images-temp/image6.jpg differ diff --git a/android-client/data/images-temp/image7.jpg b/android-client/data/images-temp/image7.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/images-temp/image7.jpg differ diff --git a/android-client/data/images-temp/image8.jpg b/android-client/data/images-temp/image8.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/images-temp/image8.jpg differ diff --git a/android-client/data/images-temp/image9.jpg b/android-client/data/images-temp/image9.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/images-temp/image9.jpg differ diff --git a/android-client/data/testing-images/image1.jpg b/android-client/data/testing-images/image1.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/testing-images/image1.jpg differ diff --git a/android-client/data/testing-images/image10.jpg b/android-client/data/testing-images/image10.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/testing-images/image10.jpg differ diff --git a/android-client/data/testing-images/image11.jpg b/android-client/data/testing-images/image11.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/testing-images/image11.jpg differ diff --git a/android-client/data/testing-images/image2.jpg b/android-client/data/testing-images/image2.jpg new file mode 100644 index 0000000..5c4ce0c Binary files /dev/null and b/android-client/data/testing-images/image2.jpg differ diff --git a/android-client/data/testing-images/image3.jpg b/android-client/data/testing-images/image3.jpg new file mode 100644 index 0000000..9a32863 Binary files /dev/null and b/android-client/data/testing-images/image3.jpg differ diff --git a/android-client/data/testing-images/image4.jpg b/android-client/data/testing-images/image4.jpg new file mode 100644 index 0000000..a630e21 Binary files /dev/null and b/android-client/data/testing-images/image4.jpg differ diff --git a/android-client/data/testing-images/image5.jpg b/android-client/data/testing-images/image5.jpg new file mode 100644 index 0000000..5cc9b02 Binary files /dev/null and b/android-client/data/testing-images/image5.jpg differ diff --git a/android-client/data/testing-images/image6.jpg b/android-client/data/testing-images/image6.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/testing-images/image6.jpg differ diff --git a/android-client/data/testing-images/image7.jpg b/android-client/data/testing-images/image7.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/testing-images/image7.jpg differ diff --git a/android-client/data/testing-images/image8.jpg b/android-client/data/testing-images/image8.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/testing-images/image8.jpg differ diff --git a/android-client/data/testing-images/image9.jpg b/android-client/data/testing-images/image9.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/android-client/data/testing-images/image9.jpg differ diff --git a/android-client/main.py b/android-client/main.py new file mode 100644 index 0000000..8250bb5 --- /dev/null +++ b/android-client/main.py @@ -0,0 +1,2387 @@ +import kivy +from kivymd.app import MDApp +from kivy.lang import Builder +from kivy.clock import Clock + +from kivymd.uix.label import MDLabel +from kivymd.uix.button import MDIconButton, MDRaisedButton +from kivymd.uix.behaviors.magic_behavior import MagicBehavior +from kivymd.uix.textfield import MDTextField +from kivymd.uix.list import OneLineAvatarIconListItem, TwoLineAvatarIconListItem, ThreeLineAvatarIconListItem, IconRightWidget, MDList +from kivymd.uix.fitimage import FitImage +from kivymd.uix.snackbar import Snackbar +from kivymd.uix.menu import MDDropdownMenu +from kivymd.uix.bottomnavigation import MDBottomNavigationItem +from kivymd.uix.list import IRightBodyTouch +from kivy.uix.camera import Camera + +from kivymd.uix.screen import MDScreen +from kivymd.uix.screenmanager import MDScreenManager +from kivy.core.window import Window +from kivymd.uix.controllers import WindowController +from kivymd.uix.dialog import MDDialog +from kivymd.uix.button import MDFlatButton + +from kivymd.uix.boxlayout import MDBoxLayout +from kivymd.uix.relativelayout import MDRelativeLayout + +import socketio +import os +from android.storage import app_storage_path +android_root_path = app_storage_path() + +## remove before production +import time +## remove before production + +kivy.require('2.1.0') +__version__ = "0.0.2" + +# IMPORTS +import uuid as uniqueid +from modules.session.session import session_info, wait, db +from modules.session.time import timestamp +from modules.session.session import setting as setting_info +from modules.handler.request import request, account_page +from modules.handler.info import image as image_info +def generate_uuid(): + uuid = str(uniqueid.uuid4()) + return uuid + +def dict_key_verify(dictionary, keys, mode="and", *args, **kwargs): + if mode != "and" and mode != "or": + mode = "and" + if type(keys) != list: + keys = [keys] + + verified = [] + if type(keys) != list: + keys = [keys] + + for key in keys: + if type(dictionary) != dict or key not in dictionary or not dictionary[key]: + verified.append(False) + else: + verified.append(True) + + if mode == "and": + if all(verified) == True: + return True + if mode == "or": + if True in verified: + return True + return False + +def go_to(string, previous_line, file): + line = previous_line + while line != string: + line = file.readline().strip() + return line + +def read_to(string, file): + line = file.readline().strip() + lines = [] + while line != string: + lines.append(line) + line = file.readline().strip() + return lines + +def get_dialog_content(dialog_title): + with open("./data/assets/help.txt", "r") as f: + line = f.readline().strip() + line = go_to(f"[{dialog_title}:START]", line, f) + line = go_to(f"(title:START)", line, f) + title = read_to(f"(title:END)", f) + line = go_to(f"(body:START)", line, f) + body_lines = read_to(f"(body:END)", f) + + body = "" + for line in body_lines: + body += line + "\n" + body = body[:-2] + return {'title': title[0], 'body': body} + +def open_help(app, page, dialog_title): + content = get_dialog_content(dialog_title) + page.dialog_help = HelpDialog(page, app, title=content['title'], text=content['body']) + page.dialog_help.open() +# IMPORTS + +#================== socketio START ================== +sio = socketio.Client() +session = session_info() + +# http://localhost:9999 +def start_client(sio, url): + print("DEBUG: starting socketio client...") + try: + if not url: + url = "http://localhost:9999" + print(f"DEBUG: Connecting with url {url}") + sio.connect(url) + print("DEBUG: socketio client online!") + return True + except: + print("DEGUB: socketio client failed to connect!") + return False + +def stop_client(sio): + print("DEBUG: stopping socketio client...") + sio.disconnect() + +# connect/disconnect START +@sio.event +def connect(): + print("DEBUG: Connected!") + +@sio.event +def connect_error(data): + print("DEBUG: connection error") + +@sio.event +def disconnect(): + print("Disconnected") +# connect/disconnect END + +@sio.event +def recv_status(data): + session.status = data + string = f"{data['time']} | {data['level']} | {data['message']}" + print(string) +#:import Snackbar kivymd.uix.snackbar.Snackbar + +# auth START +@sio.event +def recv_token(data): + wait(session).wait_username() + session.auth_tokens.append(data['token']) + db().execute("INSERT INTO tokens(token, username, expire) VALUES(?, ?, ?)", (data['token'], session.username, data['expire'])) + +def login_cred(username="user", password="pass"): + data = {'username': username, 'password': password} + sio.emit('login', data, callback=auth) + +def auth(callback, data): + print(data) +# auth END + +# other events START +@sio.event +def notification(data): + pass +# other events END + +#================== socketio END ================== + + +#================== kivy START ================== + +# Utility START +class ExpandText(MDLabel): + pass + +class ExpandPage(MDScreen): + def __init__(self, expand_text, banner, previous_page, **kwargs): + super(ExpandPage, self).__init__(**kwargs) + self.expand_text = expand_text + self.previous_page = previous_page + self.load_content() + self.toolbar.title = banner + + @property + def expand_text(self): + return self._expand_text + @expand_text.setter + def expand_text(self, value): + if type(value) != str or type(value) != list: + if type(value) == str: + value = [value] + else: + value=None + self._expand_text = value + + def load_content(self): + self.text_area.clear_widgets() + for text in self.expand_text: + item = ExpandText(text=text) + self.text_area.add_widget(item) + + def back(self, app): + app.set_screen(self.previous_page.name, "right") + app.sm.remove_widget(self) + +class HelpDialog(MDDialog): + def __init__(self, page, app, **kwargs): + kwargs["buttons"] = [MDFlatButton(text="Close", on_release=self.close, theme_text_color = "Custom", text_color=app.theme_cls.primary_color), MDFlatButton(text="Turn off help?", on_release=self.settings, theme_text_color = "Custom", text_color=app.theme_cls.primary_color)] + super().__init__(**kwargs) + self.page = page + self.app = app + + def close(self, button): + self.page.dialog_help.dismiss() + + def settings(self, button): + self.close(button) + if self.page.name == "SettingsPageScreen": + return + settings_screen_name = "SettingsPageScreen" + settings_screen = SettingsPage(self.page, name=settings_screen_name) + self.app.sm.add_widget(settings_screen) + + self.app.set_screen(settings_screen_name, "left") +# Utility END + +# HomePage START +class HomeSwiper(MDBoxLayout): + @property + def username(self): + return self._username + @username.setter + def username(self, value): + self.ids.username.text = value + self._username = value + + @property + def caption(self): + return self._caption + @caption.setter + def caption(self, value): + if value == None: + value = "" + self.ids.caption.text = value + self._caption = value + + @property + def content(self): + return self._content + @content.setter + def content(self, value): + self.load_image(value) + self.ids.content.source = self.image.path + self._content = self.image.path + + def __init__(self, page, post_id, **kwargs): + super().__init__(**kwargs) + self.post_id = post_id + self.page = page + self.action_menu = None + + self.load_content() + + def load_image(self, value): + self.image = image_info(self.post_id) + self.image.load(value) + self.ids.content.source = self.image.path + + def load_content(self): + post_data = {'post_id': self.post_id} + post_content = request(sio, session).emit('post_get', post_data)['posts'] + + self.username = post_content['username'] + self.caption = post_content['caption'] + self.content = post_content['content'] + + user_impression_data = {'items': ['username'], 'post_id': self.post_id, 'impression_type': "like"} + post_likes = request(sio, session).emit('post_impression_get_post', user_impression_data)['impressions'] + + impression_data = {'post_id': self.post_id, 'impression_type': "like"} + num_post_likes = request(sio, session).emit('post_impression_count', impression_data)['impression_count'] + + self.ids.like_number.text = str(num_post_likes) + if post_likes: + for like in post_likes: + if self.page.username in like['username']: + self.ids.like.icon = "heart" + + def like(self): + server = request(sio, session) + + if self.ids.like.icon == "heart-outline": + self.ids.like.icon = "heart" + + data = {'impression_type': "like", 'post_id': self.post_id} + server.emit('post_impression_set', data, None) + self.ids.like_number.text = str(int(self.ids.like_number.text) + 1) + else: + self.ids.like.icon = "heart-outline" + + data = {'impression_type': "like", 'post_id': self.post_id, 'items': ['username','impression_id']} + impression_info = server.emit('post_impression_get_post', data) + + if dict_key_verify(impression_info, 'impressions'): + for impression in impression_info['impressions']: + if impression['username'] == self.page.username: + impression_id = impression['impression_id'] + + data = {'impression_type': "like", 'impression_id': impression_id} + server.emit('post_impression_delete', data, None) + self.ids.like_number.text = str(int(self.ids.like_number.text) - 1) + + def switch_to_comments(self, app, direction='up'): + comments_screen_name = "CommentsPageScreen_"+self.post_id + comments_screen = CommentsPage(self.post_id, name=comments_screen_name) + app.sm.add_widget(comments_screen) + app.set_screen(comments_screen_name, direction) + + def post_options(self, app, direction='right'): + data = {'post_id': self.post_id} + delete_allowed = request(sio, session).emit("post_get_permissions", data)['delete'] + + if delete_allowed: + profile_item = {'text': "view profile", 'viewclass': "OneLineListItem", 'on_release': lambda x=app: self.switch_to_account(app)} + delete_item = {'text': "delete post", 'viewclass': "OneLineListItem", 'on_release': lambda: self.delete_post()} + items = [profile_item, delete_item] + self.action_menu = MDDropdownMenu(caller=self.account_button, items=items, width_mult=3) + self.action_menu.open() + else: + self.switch_to_account(app, direction) + + def delete_post(self): + if self.action_menu: + self.action_menu.dismiss() + data = {'post_id': self.post_id} + request(sio, session).emit("post_delete", data, None) + self.page.home_swiper_grid.remove_widget(self) + if len(self.page.home_swiper_grid.children) == 1: + self.page.load_home() + + def switch_to_account(self, app, direction='right'): + if self.action_menu: + self.action_menu.dismiss() + self.page.switch_to_account(app, self.username, direction) + +class HomeLoadButton(MDBoxLayout): + def __init__(self, **kwargs): + if 'home_obj' in kwargs and kwargs['home_obj']: + if kwargs['home_obj']: + self.home_obj = kwargs['home_obj'] + del kwargs['home_obj'] + super().__init__(**kwargs) + + def load_content(self): + self.home_obj.home_swiper_grid.remove_widget(self) + self.home_obj.load_home() + +class NoPostLabel(MDBoxLayout): + pass + +class MemoriesMonth(MDBoxLayout): + def get_memories_swiper_height(self): + swiper_height = Window.height * 0.8 * 0.02 + return swiper_height + +class SwiperMagicButton(MagicBehavior,MDIconButton): + pass + +class MemoriesSwiper(MDBoxLayout): + pass + +class OccupationPageButton(MDRaisedButton): + def __init__(self, tab, page, **kwargs): + super().__init__(**kwargs) + self.tab = tab + self.page = page + + def switch_to_occupation(self, app): + self.tab.switch_to_occupation(app) + +class OrganisationBottomItem(MDBottomNavigationItem): + def __init__(self, page, username, **kwargs): + super().__init__(**kwargs) + self.page = page + self.load_content() + self.username = username + + def load_content(self): + occupation_button = OccupationPageButton(self, self.page) + level = request(sio, session).emit('auth_get')['level'] + if level != "member": + self.occupation_button_area.add_widget(occupation_button) + + def switch_to_occupation(self, app, direction="left"): + occupation_screen_name = "OccupationPageScreen" + occupation_screen = OccupationPage(self.page, name=occupation_screen_name) + + app.sm.add_widget(occupation_screen) + app.set_screen(occupation_screen_name, direction) + + def switch_to_team(self, app, direction="left"): + team_screen_name = "TeamPageScreen" + team_screen = TeamPage(self.page, self.username, name=team_screen_name) + + app.sm.add_widget(team_screen) + app.set_screen(team_screen_name, direction) + +class MonthListItem(OneLineAvatarIconListItem): + def __init__(self, date, posts, month_list, **kwargs): + super().__init__(**kwargs) + self.month_list = month_list + self.posts = posts + self.date = date + + def day_view(self): + day_list = DayList(self.date, self.posts, self.month_list) + self.month_list.page.root_scroll.remove_widget(self.month_list) + self.month_list.page.root_scroll.add_widget(day_list) + +class MonthList(MDBoxLayout): + def __init__(self, page, **kwargs): + super().__init__(**kwargs) + self.page = page + self.back_stack = [self] + self.load_content() + + def load_content(self): + month_list = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] + data = {'items': ['post_id', 'date']} + post_response = request(sio, session).emit("post_get_memories", data) + + if dict_key_verify(post_response, 'posts'): + posts = post_response['posts'] + post_months = {} + + for post in posts: + # groups posts into a list in a dictionary where the key is their respective month + if dict_key_verify(post, 'date'): + date = post['date'] + date_list = date.split("-") + if dict_key_verify(post_months, date): + post_months[date].append(post) + else: + post_months[date] = [post] + + for post_group in post_months: + # for each list of posts that were created within a certain month + date = post_group.split("-") + month_name = month_list[int(date[1])-1] + date_string = date[0] + ": " + month_name + + item = MonthListItem(date, post_months[post_group], self, text=date_string) + self.scroll.add_widget(item) + + else: + # To handle for the case where no past posts exist + item = OneLineAvatarIconListItem(text="No memories :(") + self.scroll.add_widget(item) + +class DayListItem(OneLineAvatarIconListItem): + def __init__(self, date, post, day_list, **kwargs): + super().__init__(**kwargs) + self.day_list = day_list + self.post = post + self.date = date + + def post_open(self): + memory = MemoryLayout(self.post, self.day_list) + area = self.day_list.month_list.page.root_scroll + area.clear_widgets() + area.add_widget(memory) + +class DayList(MDBoxLayout): + def __init__(self, date, posts, month_list, **kwargs): + super().__init__(**kwargs) + self.month_list = month_list + self.posts = posts + self.date = date + self.back_stack = self.month_list.back_stack + + self.back_stack.append(self) + self.load_content() + + def load_content(self): + for post in self.posts: + date_string = self.date[2] + item = DayListItem(self.date, post, self, text=date_string) + self.scroll.add_widget(item) + + def back(self): + last = len(self.back_stack)-1 + self.month_list.page.root_scroll.clear_widgets() + self.month_list.page.root_scroll.add_widget(self.back_stack[last-1]) + self.back_stack.pop(last) + +class MemoryLayout(MDBoxLayout): + def __init__(self, post, day_list, **kwargs): + super().__init__(**kwargs) + self.post = post + self.day_list = day_list + self.page = self.day_list.month_list.page + self.back_stack = self.day_list.back_stack + + self.back_stack.append(self) + self.load_content() + + def remove_username(self, post): + # the normal post widget is used, so we just have to remove the username. + post.ids.username.text = self.post['date'] + post.ids.profile_area.remove_widget(post.ids.account_button) + + def load_content(self): + post = HomeSwiper(self.page, self.post['post_id']) + self.remove_username(post) + self.post_area.add_widget(post) + +class HomePage(MDScreen, WindowController): + def __init__(self, username=None, app=None, **kwargs): + super().__init__(**kwargs) + post_login() + + self.username = username + self.app = app + + self.account_screens = [] + self.notifications_screens = [] + self.settings_screen = None + self.settings_screen_name = None + + self.posts_displayed = [] + self.post_exist = False + self.camera_widget_exists = False + self.camera_page_screen = None + + self.organisation_item_exists = False + + self.post_slot = request(sio, session).emit("post_slot_get") + self.posted_today() + self.load_content() + + self.selected_tab = "Home" + self.help_tool = ["help", lambda x: self.open_help(self.app)] + + def login(self): + login_cred() + + def load_content(self): + self.load_home() + self.load_memories() + self.load_organisation() + Clock.schedule_interval(self.check_post_time, 1) + self.load_toolbar() + + def load_toolbar(self): + # Loading the toolbar is used to refresh when the "help boxes" setting is configured. + # Saves entire page having to be re-loaded and just updates toolbar + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + else: + toolbar_len = len(self.toolbar.right_action_items) + for i in range(toolbar_len): + if self.toolbar.right_action_items[i][0] == "help": + return + new_toolbar = [self.help_tool] + self.toolbar.right_action_items[0:] + self.toolbar.right_action_items = new_toolbar + + def on_tab_press(self, name): + self.selected_tab = name + + def open_help(self, app): + level = request(sio, session).emit('auth_get')['level'] + + if self.selected_tab == "Home": + open_help(app, self, "Home") + elif self.selected_tab == "Memories": + open_help(app, self, "Memories") + elif self.selected_tab == "Organisation" and level == "member": + open_help(app, self, "Organisation") + elif self.selected_tab == "Organisation" and level != "member": + open_help(app, self, "Organisation-admin") + + # SWITCHING + def switch_to_settings(self, app, direction='left'): + settings_screen_name = "SettingsPageScreen" + settings_screen = SettingsPage(self, name=settings_screen_name) + app.sm.add_widget(settings_screen) + + app.set_screen(settings_screen_name, direction) + + def switch_to_account(self, app, username=None, direction='right', *args, **kwargs): + if not username: + username = self.username + account_screen_name = "AccountPageScreen_"+username + + account_screen = AccountPage(username, self, name=account_screen_name) + app.sm.add_widget(account_screen) + app.set_screen(account_screen_name, direction) + + def switch_to_notifications(self, app, username=None, direction='right', *args, **kwargs): + if not username: + username = self.username + notifications_screen_name = "NotificationsScreen-"+username + notifications_screen = NotificationsPage(username, self, name=notifications_screen_name) + app.sm.add_widget(notifications_screen) + app.set_screen(notifications_screen_name, direction) + + # FETCHING DATA + def fetch_posts(self): + data = {'items': ['post_id']} + posts = request(sio, session).emit('post_get_feed', data)['posts'] + post_list = [] + + if self.post_made: + post = request(sio, session).emit("post_get_user") + if dict_key_verify(post, "posts"): + post = post['posts'] + if dict_key_verify(post, "post_id"): + if post['post_id'] not in self.posts_displayed: + post_list.append(post) + + if posts: + for i, post in enumerate(posts): + if post: + post_list.append(post) + + return post_list + + # HOME + def load_home(self): + posts = self.fetch_posts() + post_list = [] + + if posts: + for i, post in enumerate(posts): + if post['post_id'] not in self.posts_displayed: + post_list.append(post) + posts = post_list + + for i, post in enumerate(posts): + + if not self.post_exist: + self.home_swiper_grid.clear_widgets() + self.post_exist = True + home_swiper = HomeSwiper(self, post['post_id']) + if i == 0: + first_home_swiper = home_swiper + + self.home_swiper_grid.add_widget(home_swiper) + self.posts_displayed.append(post['post_id']) + if i == 4: + break + + if "first_home_swiper" in locals(): + self.home_swiper_scroll.scroll_to(first_home_swiper) + + if not posts: + Snackbar(text="Sorry, no more posts").open() + + else: + if not self.post_exist: + self.home_swiper_grid.clear_widgets() + self.home_swiper_grid.add_widget(NoPostLabel()) + + self.load_more_button = HomeLoadButton(home_obj=self) + self.home_swiper_grid.add_widget(self.load_more_button) + + def get_home_swiper_height(self): + swiper_height = Window.height * 0.70 + return swiper_height + + # MEMORIES + def get_memories_swiper_height(self): + month_height = self.get_memories_month_height() + swiper_height = month_height * 0.8 * 0.02 + return swiper_height + + def get_memories_month_height(self): + month_height = Window.height * 2 + return month_height + + def load_memories(self): + self.root_scroll.clear_widgets() + item = MonthList(self) + self.root_scroll.add_widget(item) + + # STATS + def load_stats(self): + pass + + # ORGANISATION + def load_organisation(self): + if not self.organisation_item_exists: + self.organisation_item_exists = True + self.bottom_navigation.add_widget(OrganisationBottomItem(self, self.username)) + + # SIZE + def update(self): + self.home_swiper_grid.row_default_height = self.get_home_swiper_height() + + def on_size(self, *args): + self.update() + + # Post time + def posted_today(self): + date = {'items': ['date']} + posts = request(sio, session).emit("post_get_memories", date)['posts'] + if posts: + date = request(sio, session).emit("get_date")['date'] + for post in posts: + if date == post['date']: + self.post_made = True + return + self.post_made = False + + def check_post_time(self, dt): + now = timestamp().now + if self.post_slot['post_slot_start'] < now and self.post_slot['post_slot_end'] > now and not self.post_made: + if not self.camera_widget_exists: + self.toolbar.right_action_items.append(["camera", lambda x: self.switch_to_camera(self.app, direction='up')]) + self.camera_widget_exists = True + else: + for i, action_item in enumerate(self.toolbar.right_action_items): + if "camera" in action_item: + self.toolbar.right_action_items.pop(i) + break + + def switch_to_camera(self, app, direction="up"): + camera_page_screen_name = "CameraPageScreen" + self.camera_page_screen = CameraPage(self, name=camera_page_screen_name) + app.sm.add_widget(self.camera_page_screen) + app.set_screen(camera_page_screen_name, direction) + + # First time + def check_first_time(self, app): + occupation = request(sio, session).emit("occupation_get") + profile = request(sio, session).emit("profile_get", {'items': ['role', 'name']}) + friends = request(sio, session).emit("friend_get")['friends'] + if not occupation['occupation_id'] and not friends and not profile['role'] and not profile['name']: + first_time_page_screen_name = "FirstTimePage" + first_time_page_screen = FirstTimePage(name=first_time_page_screen_name) + app.sm.add_widget(first_time_page_screen) + app.set_screen(first_time_page_screen_name, "down") +# HomePage END + + +# Comments START +class CommentContainer(IRightBodyTouch, MDBoxLayout): + pass + +class Comment(TwoLineAvatarIconListItem): + def __init__(self, username, comment_id, page, **kwargs): + super().__init__(**kwargs) + self.username = username + self.comment_id = comment_id + self.page = page + self.screen_prefix = "comment" + self.action_menu = None + + self.load_content() + + def liked_previously(self): + data = {'comment_id': self.comment_id} + impressions = request(sio, session).emit("comment_impression_get_comment", data)['impressions'] + + if impressions: + for impression in impressions: + if dict_key_verify(impression, "username"): + if session.username == impression['username']: + self.impression_id = impression['impression_id'] + return True + return False + + def load_content(self): + if self.liked_previously(): + self.like_button.icon = "heart" + + data = {'impression_type': "like", 'comment_id': self.comment_id} + count = request(sio, session).emit("comment_impression_count", data)['impression_count'] + self.like_count.text = str(count) + + def expand(self, app): + expand_page_name = f"{self.screen_prefix}_expand_page_{self.username}" + expand_page = ExpandPage(self.secondary_text, self.text+"'s comment", self.page, name=expand_page_name) + app.sm.add_widget(expand_page) + app.set_screen(expand_page_name, "left") + + def like(self): + if self.like_button.icon == "heart-outline": + data = {'impression_type': "like", 'comment_id': self.comment_id} + request(sio, session).emit('comment_impression_set', data, None) + if self.liked_previously(): + self.like_button.icon = "heart" + self.like_count.text = str(int(self.like_count.text)+1) + else: + self.like_button.icon = "heart-outline" + data = {'impression_id': self.impression_id} + request(sio, session).emit("comment_impression_delete", data, None) + self.like_count.text = str(int(self.like_count.text)-1) + + def profile(self, app): + if self.action_menu: + self.action_menu.dismiss() + account_page_name = f"{self.screen_prefix}_account_page_{self.username}" + account_page = AccountPage(self.username, self.page, remove_on_exit=True, name=account_page_name) + app.sm.add_widget(account_page) + app.set_screen(account_page_name, "right") + + def delete_comment(self): + if self.action_menu: + self.action_menu.dismiss() + data = {'comment_id': self.comment_id} + request(sio, session).emit("comment_delete", data, None) + self.page.comment_stack.remove_widget(self) + if not self.page.comment_stack.children: + self.page.load_content() + + def action_options(self, app): + data = {'comment_id': self.comment_id} + delete_allowed = request(sio, session).emit("comment_get_permissions", data)['delete'] + + if delete_allowed: + profile_item = {'text': "view profile", 'viewclass': "OneLineListItem", 'on_release': lambda x=app: self.profile(app)} + delete_item = {'text': "delete comment", 'viewclass': "OneLineListItem", 'on_release': lambda: self.delete_comment()} + items = [profile_item, delete_item] + self.action_menu = MDDropdownMenu(caller=self.profile_button, items=items, width_mult=3) + self.action_menu.open() + else: + self.profile(app) + +class CommentsPage(MDScreen): + def __init__(self, post_id, **kwargs): + super(CommentsPage, self).__init__(**kwargs) + self.post_id = post_id + self.comments = [] + self.comments_exist = False + self.load_content() + + def get_comments(self): + data = {'post_id': self.post_id} + comments = request(sio, session).emit("comment_get_post", data)['comments'] + return comments + + def add_comment(self, comment): + if not self.comments: + self.comment_stack.clear_widgets() + + comment_id = comment['comment_id'] + username = comment['username'] + + comment_item = Comment(username, comment_id, self, text=username, secondary_text=comment['content']) + self.comments.append(comment_id) + self.comment_stack.add_widget(comment_item) + + # LOADING + def load_content(self): + self.comment_stack.clear_widgets() + comments = self.get_comments() + + if comments: + for comment in comments: + self.add_comment(comment) + else: + item = OneLineAvatarIconListItem(text="No comments :(") + self.comment_stack.add_widget(item) + + def submit(self): + content = self.comment_field.text + data = {'post_id': self.post_id, 'content': content} + request(sio, session).emit("comment_set", data, None) + self.comment_field.text = "" + comments = self.get_comments() + for comment in comments: + if comment['username'] == session.username and comment['content'] == content and comment['comment_id'] not in self.comments: + self.add_comment(comment) + break + + # SWITCHING + def switch_to_home(self, app): + app.set_screen("HomePageScreen", 'down') + app.sm.remove_widget(self) +# Comments END + + +# Post START +class CameraPage(MDScreen): + def __init__(self, previous_page, **kwargs): + super(CameraPage, self).__init__(**kwargs) + self.path = "data/images/post.png" + self.post_slot = request(sio, session).emit("post_slot_get") + self.previous_page = previous_page + Window.size = (800, 600) + + self.load_content() + self.refresh_time() + Clock.schedule_interval(self.refresh_time, 1) + + def load_content(self): + self.camera = Camera(play=True) + self.camera_area.add_widget(self.camera) + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "Camera") + + def format_time(self, time_left): + time_left = int(time_left) + # time is given in Unix time so we convert it + seconds = time_left%60 + # integer division means we only get how many whole minutes are left + # we modded seconds by 60 to get the number of seconds - numbe + minutes = time_left//60 + if minutes > 60: + hours = minutes//60 + minutes = minutes - hours*60 + time_format = f"{hours}:{minutes}:{seconds}" + return time_format + + def refresh_time(self, dt=None): + length = self.post_slot['post_slot_end'] - self.post_slot['post_slot_start'] + time_in = timestamp().now - self.post_slot['post_slot_start'] + time_left = round(length - time_in, 2) + time_format = self.format_time(time_left) + self.top_bar.title = f"Time left: {time_format}" + + def capture(self, app): + self.camera.export_to_png(self.path) + self.camera_to_post(app) + + def camera_to_post(self, app): + post_review_page_screen_name = "PostReviewPage" + post_review_page_screen = PostReviewPage(self, self.path, name=post_review_page_screen_name) + app.sm.add_widget(post_review_page_screen) + app.set_screen(post_review_page_screen_name, "left") + + def exit(self, app): + app.set_screen("HomePageScreen", "down") + app.sm.remove_widget(self) + Window.size = (800, 1000) + +class PostReviewPage(MDScreen): + def __init__(self, camera_page, path, **kwargs): + super(PostReviewPage, self).__init__(**kwargs) + self.path = path + self.camera_page = camera_page + self.post_slot = request(sio, session).emit("post_slot_get") + + self.load_content() + self.refresh_time() + Clock.schedule_interval(self.refresh_time, 1) + + def load_content(self): + self.image.source = self.path + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "PostReview") + + def refresh_time(self, dt=None): + length = self.post_slot['post_slot_end'] - self.post_slot['post_slot_start'] + time_in = timestamp().now - self.post_slot['post_slot_start'] + time_left = round(length - time_in, 2) + time_format = self.camera_page.format_time(time_left) + self.top_bar.title = f"Time left: {time_format}" + + def post(self, app): + with open(self.path, "rb") as image: + image_data = image.read() + data = {'content': image_data, 'caption': self.caption.text} + request(sio, session).emit("post_set", data, None) + self.camera_page.previous_page.post_made = True + self.image.source = "" + os.remove(self.path) + self.exit(app, "down") + self.camera_page.previous_page.load_memories() + self.camera_page.previous_page.load_home() + + def retake(self, app): + os.remove(self.path) + self.post_to_camera(app) + + def post_to_camera(self, app, direction="right"): + app.set_screen(self.camera_page.name, direction) + self.ids.image_area.remove_widget(self.image) + app.sm.remove_widget(self) + + def exit(self, app, direction="down"): + app.set_screen("HomePageScreen", "down") + if not self.camera_page.previous_page.post_made: + os.remove(self.path) + app.sm.remove_widget(self.camera_page) + app.sm.remove_widget(self) + Window.size = (800, 1000) +# Post END + + +# Acccount START +class ProfileInfo(TwoLineAvatarIconListItem): + def __init__(self, account_page=None, info_type=None, **kwargs): + super().__init__(**kwargs) + self.info_type = info_type + self.account_page = account_page + + def set_title(self, text): + if text and type(text) == str: + text = (text.replace("_", " ")).capitalize() + self.text = text + + def set_content(self, text): + if text and type(text) == str: + self.secondary_text = text + + def make_editable(self): + button = InfoEditButton(self.account_page, self.info_type) + self.add_widget(button) + +class InfoEditButton(IconRightWidget): + def __init__(self, account_page_obj=None, info_type=None, **kwargs): + super().__init__(**kwargs) + self.info_type = info_type + self.account_page_obj = account_page_obj + self.account_page_obj.currently_editing = None + + def change_info(self): + if self.icon == "pencil": + if self.account_page_obj.currently_editing: + self.account_page_obj.currently_editing.icon = "pencil" + self.account_page_obj.currently_editing = self + self.account_page_obj.picture_to_textbox(self.info_type) + else: + self.account_page_obj.textbox_to_picture() + +class BioEditButton(MDIconButton): + def __init__(self, account_page_obj=None, info_type="biography", **kwargs): + super().__init__(**kwargs) + self.info_type = info_type + self.account_page_obj = account_page_obj + self.account_page_obj.currently_editing = None + + def change_info(self): + if self.icon == "pencil": + if self.account_page_obj.currently_editing: + self.account_page_obj.currently_editing.icon = "pencil" + self.account_page_obj.currently_editing = self + self.account_page_obj.picture_to_textbox(self.info_type) + else: + self.account_page_obj.textbox_to_picture() + +class ProfilePicture(FitImage): + pass + +class InfoChangeBox(MDBoxLayout): + def __init__(self, page, info_type, username=session.username, **kwargs): + super().__init__(**kwargs) + self.username = username + self.info_type = info_type + self.page = page + + self.load_content() + + def load_content(self): + self.text_field.text = self.page.info[self.info_type] + + def save(self): + new_value = self.text_field.text + self.page.info[self.info_type] = new_value + account_page(sio).set_profile(self.info_type, new_value, self.username) + self.page.refresh_content() + self.page.textbox_to_picture() + +class OccupationChange(MDBoxLayout): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.occupations = request(sio, session).emit('occupation_get_all') + self.current_selection = None + self.occupations_info = [] + self.menu = None + if page: + self.page = page + + def selection_menu(self): + if dict_key_verify(self.occupations, 'occupations'): + self.occupations_info = self.occupations['occupations'] + items = [] + for i, occupation in enumerate(self.occupations_info): + item = {'text': occupation['name'], 'viewclass': "OneLineListItem", 'on_release': lambda x=i: self.selection(x)} + items.append(item) + self.menu = MDDropdownMenu(caller=self.occupation_select, items=items, width_mult=2) + self.menu.open() + else: + message = "No occupations" + Snackbar(text=message).open() + + def selection(self, item_num): + self.occupation_select.text = self.occupations_info[item_num]['name'] + self.occupation_description.text = self.occupations_info[item_num]['description'] + self.current_selection = item_num + self.menu.dismiss() + + +class UserOccupationChange(OccupationChange): + def __init__(self, page=None, **kwargs): + super().__init__(page, **kwargs) + self.load_content() + + def cancel(self): + request(sio, session).emit('occupation_delete_request', {}, None) + message = f"{session.status['level']}: {session.status['message']}" + Snackbar(text=message).open() + self.load_content() + self.page.textbox_to_picture() + + def submit(self): + if self.current_selection or self.current_selection == 0: + data = {'occupation_id': self.occupations_info[self.current_selection]['occupation_id']} + request(sio, session).emit('occupation_set_request', data, None) + else: + message = "No selection made" + Snackbar(text=message).open() + self.load_content() + self.occupation_select.text = "Select an occupation" + self.occupation_description.text = "" + self.page.textbox_to_picture() + + def load_content(self): + occupation_request = request(sio, session).emit('occupation_get_request') + if dict_key_verify(occupation_request, 'occupation_id'): + occupation = request(sio, session).emit('occupation_get', {'occupation_id': occupation_request['occupation_id']}) + + if occupation: + self.request_occupation.text = occupation['name'] + + if occupation_request['approved']: + request_status = "Approved" + else: + request_status = "Pending" + + self.request_status.text = "Status: "+request_status + else: + Snackbar(text=session.status).open() + +class ManagementOccupationChange(OccupationChange): + def __init__(self, page, **kwargs): + super().__init__(**kwargs) + self.page = page + + def submit(self): + if self.occupations_info: + data = {'occupation_id': self.occupations_info[self.current_selection]['occupation_id']} + request(sio, session).emit('occupation_set', data, None) + message = f"{session.status['message']}" + self.occupation_select.text = "Select an occupation" + self.occupation_description.text = "" + else: + message = f"No occupation selected" + Snackbar(text=message).open() + + if self.occupations_info: + self.page.textbox_to_picture() + +class AccountPage(MDScreen): + def __init__(self, username=session.username, previous_page=None, remove_on_exit=True, **kwargs): + super(AccountPage, self).__init__(**kwargs) + self.username = username + self.info_objs = [] + self.bio_edit_button = None + self.load_content() + self.friend_page_screen = None + self.remove_on_exit = remove_on_exit + if previous_page == None: + self.previous_page = "HomePageScreen" + else: + self.previous_page = previous_page.name + + def load_content(self): + # clears the page of its contents + self.above_info.clear_widgets() + self.profile_info_view.clear_widgets() + if self.bio_edit_button: + self.profile_bio_view.remove_widget(self.bio_edit_button) + + req = request(sio, session) + self.info = req.emit("profile_get") + + permissions_data = {'username': session.username, 'target_username': self.username} + self.permissions = req.emit("profile_get_permissions", permissions_data) + + # this is for when another user clicks in to see someone elses profile + if self.username != session.username: + self.toolbar.title = self.username+"'s Profile" + + level = req.emit('auth_get')['level'] + # if their management or admin staff they can also click into see the persons friends + # else this is not available so we remove the buttons + if level == "member": + self.toolbar.left_action_items = [] + + if dict_key_verify(self.info, "occupation_id"): + # adds to the profile info the team name + team_data = {'occupation_id': self.info['occupation_id'], 'items': ["name"]} + self.info['team'] = req.emit("team_get", team_data)['name'] + + # adds the occupation name to the profile info + occupation_data = {'occupation_id': self.info['occupation_id'], 'items': ["name"]} + self.info['occupation'] = req.emit("occupation_get", occupation_data)['name'] + else: + # if occupation_id is none it means the person doesnt have any teams etc + self.info['team'] = "" + self.info['occupation'] = "" + # deletes occupation_id to stop it being added later on as a value displayed to the user + del self.info['occupation_id'] + + self.info['username'] = self.username + # defines the list order + order = ['username', 'name', 'role', 'occupation', 'team'] + + # biography doesnt exist in the same list of profile attributes because it is given more space, since these can often be longer + # this means they have to be delt with in their own way + self.bio_edit_button = BioEditButton(self) + if self.info['biography']: + self.biography_content.text = self.info['biography'] + else: + self.biography_content.text = "" + self.info['biography'] = "" + self.profile_bio_view.add_widget(self.bio_edit_button) + + for key in order: + # per profile attribute it pulls the value adds it to the list + if not self.info[key]: + self.info[key] = "" + profile_info = ProfileInfo(self, key) + # this section checks if the value is editable by the user viewing the page. If so it adds an edit button + if self.permissions['edit'] and key in ['name', 'role', 'occupation', 'team']: + profile_info.make_editable() + profile_info.set_title(key) + profile_info.set_content(self.info[key]) + self.profile_info_view.add_widget(profile_info) + # keeps a list of the objects being used + self.info_objs.append(profile_info) + + self.profile_picture = ProfilePicture() + self.above_info.add_widget(self.profile_picture) + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "Profile") + + def refresh_content(self): + self.load_content() + + def picture_to_textbox(self, info_type): + self.currently_editing.icon = "close" + self.above_info.clear_widgets() + level = request(sio, session).emit('auth_get')['level'] + if info_type == 'occupation' or info_type == 'team': + if level == "member": + self.change = UserOccupationChange(self) + else: + self.change = ManagementOccupationChange(self) + else: + self.change = InfoChangeBox(self, info_type, self.username) + self.above_info.add_widget(self.change) + + def textbox_to_picture(self): + self.above_info.clear_widgets() + self.above_info.add_widget(self.profile_picture) + self.currently_editing.icon = "pencil" + self.refresh_content() + + def switch_to_friend(self, app, direction="right"): + friend_page_screen_name = "FriendPageScreen_" + self.username + if not self.friend_page_screen: + self.friend_page_screen = FriendPage(self, self.username, name=friend_page_screen_name) + app.sm.add_widget(self.friend_page_screen) + app.set_screen(friend_page_screen_name, direction) + + def back(self, app, direction="left"): + app.set_screen(self.previous_page, direction) + if self.remove_on_exit: + app.sm.remove_widget(self) +# Acccount END + + +# Settings START +class SettingRoot(MDBoxLayout): + def __init__(self, title, page, **kwargs): + super().__init__(**kwargs) + self.title = title + self.page = page + self.load_content() + + def load_content(self): + self.setting = setting_info(self.title) + self.set_title(self.setting.title) + self.set_description(self.setting.description) + self.setting_icon.icon = self.setting.icon + + def set_title(self, text): + if text and type(text) == str: + self.setting_title.text = text + + def set_description(self, text): + if text and type(text) == str: + self.setting_description.text = text + +class SettingSwitch(SettingRoot): + def load_content(self): + super().load_content() + self.toggle.active = self.setting.value + + def on_toggle(self, app): + self.page.help_tool = ["help", lambda app: self.page.open_help(app)] + self.setting.change_value(self.toggle.active) + self.page.load_toolbar() + app.homepage_screen.load_toolbar() + +class SettingTextField(SettingRoot): + def __init__(self, title, **kwargs): + super().__init__(title, **kwargs) + self.submission_func = self.submit_url + + def load_content(self): + super().load_content() + self.input_field.text = self.setting.value + + def submit_func(self): + self.setting.change_value(self.input_field.text) + self.submission_func() + self.page.load_toolbar() + app.homepage_screen.load_toolbar() + + def submit_url(self): + self.error = True + + try: + result = urlopen(self.text) + except HTTPError as e: + pass + except URLError as e: + pass + except ValueError as e: + pass + + else: + self.error = False + +class ShutdownButton(MDRaisedButton): + def __init__(self, page, **kwargs): + super().__init__(**kwargs) + self.page = page + + def shutdown(self, app): + request(sio, session).emit("shutdown", None, None) + #app.disconnected() + +class SettingsPage(MDScreen): + def __init__(self, previous_page, **kwargs): + super(SettingsPage, self).__init__(**kwargs) + self.previous_page = previous_page + + self.load_content() + + def load_content(self): + self.settings_stack.clear_widgets() + settings = db().execute("SELECT title, state FROM settings") + if settings: + for setting in settings: + if setting[1] != None: + setting_obj = SettingSwitch(setting[0], self) + else: + setting_obj = SettingTextField(setting[0], self) + + self.settings_stack.add_widget(setting_obj) + + self.level = request(sio, session).emit('auth_get')['level'] + if self.level == "admin": + button = ShutdownButton(self) + self.static_buttons.add_widget(button) + + self.load_toolbar() + + def load_toolbar(self): + if not self.toolbar.right_action_items: + self.toolbar.right_action_items = [self.help_tool] + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "Settings") + + def logout(self, app): + clean_directories() + session.clear() + app.switch_to_login() + + def back(self, app): + app.sm.remove_widget(self) + self.previous_page.load_content() + app.set_screen(self.previous_page.name, "right") +# Settings END + + +# Notification START +class NotificationItem(TwoLineAvatarIconListItem): + def __init__(self, page, notification_id, username, **kwargs): + super().__init__(**kwargs) + self.notification_id = notification_id + self.username = username + self.page = page + self.content = "" + + def set_title(self, text): + if text and type(text) == str: + self.text = text + self.title = text + + def set_content(self, text): + if text and type(text) == str: + self.secondary_text = text + self.content = text + + def delete(self): + data = {'notification_id': self.notification_id, 'username': self.username} + request(sio, session).emit('notification_remove', data, None) + self.page.notification_stack.remove_widget(self) + self.page.load_content() + + def expand(self, app): + expand_page = ExpandPage([self.title, self.content], app) + app.sm.add_widget(expand_page) + +class NotificationsPage(MDScreen): + def __init__(self, username=None, previous_page=None, **kwargs): + super(NotificationsPage, self).__init__(**kwargs) + session.notification_page = self + self.username = username + self.previous_page = previous_page + self.notifications = None + self.load_content() + + def load_content(self): + self.notifications = request(sio, session).emit('notification_get', {'username': self.username})['notifications'] + self.notification_stack.clear_widgets() + + if self.notifications: + # fetches list of all non-expired notifications and adds them to the notifications list + for notification in self.notifications: + notification_obj = NotificationItem(self, notification['notification_id'], self.username) + + if dict_key_verify(notification, 'title'): + notification_obj.set_title(notification['title']) + if dict_key_verify(notification, 'content'): + content_text = notification['content'] + notification_obj.set_content(content_text) + + self.notification_stack.add_widget(notification_obj) + else: + item = OneLineAvatarIconListItem(text="No notifications") + self.notification_stack.add_widget(item) + + if self.username and self.username != session.username: + self.toolbar.title = self.username+"'s Notifications" + + # deals with the help boxes setting + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "Notifications") + + def add_notification(self, notification): + notification_item = NotificationItem(self, notification['notification_id'], self.username) + content_text = notification['title'] + if dict_key_verify(notification, 'content'): + notification_item.set_content(notification['content']) + + self.notification_stack.add_widget(notification_item) + + def back(self, app, direction="left"): + app.set_screen(self.previous_page.name, direction) + app.sm.remove_widget(self) +# Notification END + + +# Friend START +class BaseFriendItem(OneLineAvatarIconListItem): + def __init__(self, obj=None, **kwargs): + super().__init__(**kwargs) + self.page_obj = obj + self.friend_profile_screen_name = None + self.friend_profile_screen = None + + def refresh_content(self): + if self.page_obj: + self.page_obj.load_content() + + def profile(self, app): + new_friend_profile_screen_name = self.profile_prefix+"ProfilePage"+self.text + if new_friend_profile_screen_name != self.friend_profile_screen_name: + if self.friend_profile_screen_name: + app.sm.remove_widget(self.friend_profile_screen) + self.friend_profile_screen_name = new_friend_profile_screen_name + self.friend_profile_screen = AccountPage(self.text, self.page_obj, name=self.friend_profile_screen_name) + app.sm.add_widget(self.friend_profile_screen) + app.set_screen(self.friend_profile_screen_name, "right") + +class IncomingRequestItem(BaseFriendItem): + def __init__(self, obj=None, **kwargs): + super().__init__(obj, **kwargs) + self.profile_prefix = "IncomingRequest" + + def accept(self): + self.verdict('approve') + + def reject(self): + self.verdict('reject') + + def verdict(self, verdict): + data = {'friend_username': self.text} + request(sio, session).emit('friend_'+verdict+'_request', data, None) + self.refresh_content() + +class OutgoingRequestItem(BaseFriendItem): + def __init__(self, obj=None, **kwargs): + super().__init__(obj, **kwargs) + self.profile_prefix = "OutgoingRequest" + + def cancel(self): + data = {'friend_username': self.text} + request(sio, session).emit('friend_remove_request', data, None) + self.refresh_content() + +class RecomendationItem(BaseFriendItem): + def __init__(self, obj=None, **kwargs): + super().__init__(obj, **kwargs) + self.profile_prefix = "" + + def add_friend(self): + self.page_obj.add_friend(self.text) + +class FriendItem(BaseFriendItem): + def __init__(self, obj=None, **kwargs): + super().__init__(obj, **kwargs) + self.profile_prefix = "Friend" + + def remove(self): + data = {'friend_username': self.text} + request(sio, session).emit('friend_remove', data, None) + self.refresh_content() + +class FriendPage(MDScreen): + def __init__(self, account_page, username, **kwargs): + super(FriendPage, self).__init__(**kwargs) + self.account_page = account_page + self.username = username + self.friend_request_screens = [] + self.load_content() + + def load_content(self): + data = {'username': self.username} + self.friends = request(sio, session).emit("friend_get")['friends'] + self.friend_list.clear_widgets() + + if self.friends: + for friend in self.friends: + friend_info = FriendItem(self, text=friend['username']) + self.friend_list.add_widget(friend_info) + else: + friend_info = OneLineAvatarIconListItem(text="No friends") + self.friend_list.add_widget(friend_info) + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.left_action_items): + if option[0].lower() == "help": + self.toolbar.left_action_items.pop(i) + self.account_page.load_content() + + def open_help(self, app): + open_help(app, self, "Friends") + + def switch_to_friend_request(self, app, username=None, direction='right'): + if not username: + username = self.username + friend_request_screen_name = "FriendRequestPageScreen_"+username + friend_request_screen = FriendRequestPage(self, username, name=friend_request_screen_name) + app.sm.add_widget(friend_request_screen) + + app.set_screen(friend_request_screen_name, direction) + + def switch_to_account(self, app): + app.set_screen(self.account_page.name, "left") + +class FriendRequestPage(MDScreen): + def __init__(self, friend_page, username, **kwargs): + super(FriendRequestPage, self).__init__(**kwargs) + self.username = username + self.friend_page = friend_page + self.load_content() + + def _get_request(self, mode="incoming", username=None): + requests_data = request(sio, session).emit("friend_get_requests", {'username': username, 'mode': mode}) + if dict_key_verify(requests_data, "requests"): + requests = requests_data['requests'] + else: + requests = [] + return requests + + def load_content(self): + self.incoming_requests.clear_widgets() + self.outgoing_requests.clear_widgets() + self.recomendations.clear_widgets() + + # adds incoming and outgoing requests to their respective lists + self.incoming = self._get_request("incoming", self.username) + if not self.incoming: + self.incoming = [] + self.incoming_requests.add_widget(OneLineAvatarIconListItem(text="No incoming requests")) + + self.outgoing = self._get_request("outgoing", self.username) + if not self.outgoing: + self.outgoing = [] + self.outgoing_requests.add_widget(OneLineAvatarIconListItem(text="No outgoing requests")) + + for incoming in self.incoming: + self.incoming_requests.add_widget(IncomingRequestItem(self, text=incoming)) + for outgoing in self.outgoing: + self.outgoing_requests.add_widget(OutgoingRequestItem(self, text=outgoing)) + + data = {'amount': 5} #This client simply chooses to get 5 recomendations from the server + # gets friend recomendations and adds them to the recomendations list + self.friend_recomends = request(sio, session).emit('friend_get_recomendations', data) + if dict_key_verify(self.friend_recomends, "recomended"): + self.friend_recomends = self.friend_recomends["recomended"] + if not self.friend_recomends: + self.friend_recomends = [] + self.recomendations.add_widget(OneLineAvatarIconListItem(text="No recomendations")) + + # acctually adds the recomendations to the recomendations list + for recomend in self.friend_recomends: + self.recomendations.add_widget(RecomendationItem(self, text=recomend['username'])) + + def add_friend_search(self): + message = "No username entered" + if username: + self.add_friend(self.username_select.text) + if session.status['level'].lower() != "info": + self.username_select.error = True + else: + self.username_select.text = "" + else: + self.username_select.error = True + + def add_friend(self, username): + data = {'friend_username': username} + request(sio, session).emit('friend_add_request', data, None) + message = f"{session.status['level']}: {session.status['message']}" + Snackbar(text=message).open() + self.load_content() + + def switch_to_friend(self, app, username=None, direction='left'): + app.set_screen(self.friend_page.name, direction) + app.sm.remove_widget(self) +# Friend END + + +# OCCUPATION START +class ManageOccupationChange(OccupationChange): + def submit(self): + if self.current_selection: + data = {'occupation_id': occupations[i]['occupation_id'], 'username': self.username_select.text} + request(sio, session).emit('occupation_set', data) + message = f"{session.status['level']}: {session.status['message']}" + Snackbar(text=message).open() + if session.status['level'].lower() != "info": + self.username_select.error = True + else: + message = "No selection made" + Snackbar(text=message).open() + +class BaseOccupationItem(ThreeLineAvatarIconListItem): + def __init__(self, occupation_id, obj=None, **kwargs): + super().__init__(**kwargs) + self.occupation_id = occupation_id + self.page_obj = obj + data = {'occupation_id': self.occupation_id} + +class OccupationItem(BaseOccupationItem): + def edit(self): + self.page_obj.occupation_edit(self.occupation_id, self.text, self.secondary_text) + + def delete(self): + self.page_obj.occupation_delete(self.occupation_id) + self.page_obj.load_content() + +class OccupationRequestItem(BaseOccupationItem): + def refresh_content(self): + self.page_obj.load_content() + + def accept(self): + self.verdict("approve") + + def reject(self): + self.verdict("reject") + + def verdict(self, verdict): + data = {'username': self.text} + request(sio, session).emit('occupation_'+verdict+'_request', data, None) + self.refresh_content() + +class OccupationEdit(MDBoxLayout): + def __init__(self, page, occupation_id, name, description, **kwargs): + super().__init__(**kwargs) + self.name = name + self.description = description + self.occupation_id = occupation_id + self.page = page + self.load_content() + + def load_content(self): + self.ids.name.text = self.name + self.ids.description.text = self.description + + def submit(self): + data = {'name': self.ids.name.text, 'description': self.ids.description.text, 'occupation_id': self.occupation_id} + request(sio, session).emit('occupation_edit', data, None) + self.page.load_content() + self.page.edit_area.clear_widgets() + self.page.edit_area.add_widget(OccupationCreate(self)) + +class OccupationCreate(MDBoxLayout): + def __init__(self, page, **kwargs): + super().__init__(**kwargs) + self.page = page + + def create(self): + data = {'name': self.ids.name.text, 'description': self.ids.description.text} + request(sio, session).emit('occupation_create', data, None) + message = f"{session.status['level']}: {session.status['message']}" + Snackbar(text=message).open() + self.ids.name.text = "" + self.ids.description.text = "" + self.page.load_content() + +class OccupationPage(MDScreen): + def __init__(self, previous_page, **kwargs): + super(OccupationPage, self).__init__(**kwargs) + self.previous_page = previous_page + self.load_content() + + def load_content(self): + occupations = request(sio, session).emit('occupation_get_all')['occupations'] + self.occupations.clear_widgets() + + if occupations: + for occupation in occupations: + item = OccupationItem(occupation['occupation_id'], self, text=occupation['name'], secondary_text=occupation['description']) + self.occupations.add_widget(item) + else: + item = OneLineAvatarIconListItem(text="No occupations") + self.occupations.add_widget(item) + + self.edit_area.clear_widgets() + self.edit_area.add_widget(OccupationCreate(self)) + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + self.previous_page.load_toolbar() + + def open_help(self, app): + open_help(app, self, "Occupation") + + def occupation_edit(self, occupation_id, name, description): + edit_space = OccupationEdit(self, occupation_id, name, description) + self.edit_area.clear_widgets() + self.edit_area.add_widget(edit_space) + + def occupation_delete(self, occupation_id): + data = {'occupation_id': occupation_id} + request(sio, session).emit('occupation_delete_occupation', data, None) + Snackbar(text="Occupation deleted").open() + + def switch_to_occupation_request(self, app, direction='left'): + occupation_request_screen_name = "OccupationRequestPageScreen" + occupation_request_screen = OccupationRequestPage(self, name=occupation_request_screen_name) + app.sm.add_widget(occupation_request_screen) + app.set_screen(occupation_request_screen_name, direction) + + def back(self, app, direction="right"): + app.set_screen("HomePageScreen", direction) + app.sm.remove_widget(self) + +class OccupationRequestPage(MDScreen): + def __init__(self, previous_page, **kwargs): + super(OccupationRequestPage, self).__init__(**kwargs) + self.previous_page = previous_page + self.load_content() + + def load_content(self): + requests = request(sio, session).emit('occupation_get_all_requests')['requests'] + self.change_requests.clear_widgets() + + if requests: + for request_info in requests: + data = {'occupation_id': request_info['occupation_id']} + occupation = request(sio, session).emit('occupation_get', data) + occupation_request = OccupationRequestItem(request_info['occupation_id'], self, text=request_info['username'], secondary_text = occupation['name'], tertiary_text=occupation['description']) + self.change_requests.add_widget(occupation_request) + else: + self.change_requests.add_widget(OneLineAvatarIconListItem(text="No requests")) + + def back(self, app, direction='right'): + app.set_screen(self.previous_page.name, direction) + app.sm.remove_widget(self) +# OCCUPATION END + + +# TEAM START +class LeaderItem(OneLineAvatarIconListItem): + def __init__(self, leader_username, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + self.leader_username = leader_username + self.text = leader_username + + def delete(self): + data = {'leaders': [{'username': self.leader_username}]} + request(sio, session).emit('team_delete_leaders', data, None) + self.page.load_content() + +class AddLeaderButton(MDRaisedButton): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + + def add_leader(self): + self.page.button_to_add() + +class ChangeNameButton(MDRaisedButton): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + + def change_name(self): + self.page.button_to_add("name") + +class AddLeader(MDBoxLayout): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + + def submit(self): + data = {'leaders': [{'username': self.ids.username.text}]} + request(sio, session).emit('team_set', data, None) + self.page.add_to_button() + +class ChangeName(MDBoxLayout): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + + def submit(self): + team_data = {'name': self.ids.name.text} + request(sio, session).emit('team_set', team_data, None) + self.page.add_to_button() + +class TeamPage(MDScreen): + def __init__(self, previous_page, username, **kwargs): + super(TeamPage, self).__init__(**kwargs) + self.previous_page = previous_page + self.username = username + self.load_content() + + def load_content(self): + server = request(sio, session) + leaders = [] + members = [] + + leaders_info = server.emit('team_get_leaders') + if dict_key_verify(leaders_info, 'leaders'): + leaders = leaders_info['leaders'] + + members_info = server.emit('team_get_members') + if dict_key_verify(members_info, 'members'): + members = members_info['members'] + team = server.emit('team_get') + + self.members.clear_widgets() + self.leaders.clear_widgets() + self.edit_area.clear_widgets() + + # Simply adds leader widgets containing their username, and makes them clickable + if leaders: + for leader in leaders: + item = LeaderItem(leader['username'], self) + self.leaders.add_widget(item) + else: + item = OneLineAvatarIconListItem(text="No leaders") + self.leaders.add_widget(item) + + # checks if the user is privalidged to change team name or add leaders, if so adds said buttons + self.level = server.emit('auth_get')['level'] + if self.level != "member" or self.username in leaders: + if members: + self.edit_area.add_widget(ChangeNameButton(self)) + self.edit_area.add_widget(AddLeaderButton(self)) + + # Adds the member widgets making them clickable and displaying their username + if members: + self.team_name.text = team['name'] + for member in members: + item = OneLineAvatarIconListItem(text=member['username']) + self.members.add_widget(item) + + # if no widgets were added to the members list + if not self.members: + item = OneLineAvatarIconListItem(text="No members") + self.members.add_widget(item) + + else: + item = OneLineAvatarIconListItem(text="No members") + self.members.add_widget(item) + if self.team_name.text == "": + self.team_name.text = "No team" + + # deals with loading the help boxes setting + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + self.previous_page.load_toolbar() + + def button_to_add(self, input_mode="leader"): + self.edit_area.clear_widgets() + if input_mode == "leader": + add_widget = AddLeader(self) + elif input_mode == "name": + add_widget = ChangeName(self) + self.edit_area.add_widget(add_widget) + + def add_to_button(self): + self.load_content() + + def open_help(self, app): + open_help(app, self, "Team") + + def back(self, app, direction="right"): + app.set_screen("HomePageScreen", direction) + app.sm.remove_widget(self) +# TEAM END + + +# Auth START +class Auth(): + def load_content(self, obj, obj_id): + for field in obj.fields: + if "password" in field.lower(): + auth_field = PasswordField(info_type=field) + else: + auth_field = AuthField(info_type=field) + obj_id.add_widget(auth_field) + obj.auth_field_objs.append(auth_field) + +class PasswordField(MDRelativeLayout): + def __init__(self, info_type=None, **kwargs): + super().__init__(**kwargs) + self.info_type = info_type.lower() + self.load_content() + + def load_content(self): + self.ids.password_field.hint_text = self.info_type.capitalize() + +class AuthField(MDTextField): + def __init__(self, info_type=None, **kwargs): + super().__init__(**kwargs) + self.info_type = info_type.lower() + self.load_content() + + def load_content(self): + self.hint_text = self.info_type.capitalize() + + def change_hint(self, text): + self.hint_text = text + +class AuthButton(MDRaisedButton): + def __init__(self, function=None, text=None, **kwargs): + super().__init__(**kwargs) + self.function = function + self.text = text + + def action(self, app): + self.function(app) + + def change_text(self, text): + self.text = text + +class LoginPage(MDScreen): + def __init__(self, app, **kwargs): + super(LoginPage, self).__init__(**kwargs) + self.app = app + self.fields = ["Username", "Password"] + self.auth_field_objs = [] + self.register_page = None + self.logged_in = False + self.load_content() + self.login_token() + + def load_content(self): + Auth().load_content(self, self.login_view) + self.login_view.add_widget(AuthButton(self.login, 'Login')) + self.login_view.add_widget(AuthButton(self.register, 'Register')) + + def login_token(self): + results = db().execute("SELECT * FROM tokens") + data = {'logged_in': False} + + if results: + # tries to use every token stored in the databsae to log in + # stops once found a working token + for result in results: + token = result[0] + expire = float(result[2]) + if timestamp().now > float(expire): + db().execute("DELETE FROM tokens WHERE token = ?", (token,)) + else: + info = {'token': token} + data = request(sio, session).emit("login", info) + + if data['logged_in']: + username = request(sio, session).emit("auth_get", {'items': ['username']})['username'] + self.login_confirmation(self.app, data, username) + break + + def login(self, app): + username = self.auth_field_objs[0].text + password = self.auth_field_objs[1].text + if not username and not password: + username = "user" + password = "pass" + info = {'username': username, 'password': password} + data = request(sio, session).emit('login', info) + self.login_confirmation(app, data, username) + + def login_confirmation(self, app, data, username): + message = f"{session.status['level']}: {session.status['message']}" + if data['logged_in'] == True: + app.switch_to_homepage("down", username) + session.username = username + session.level = request(sio, session).emit('auth_get')['level'] + self.logged_in = True + else: + for field in self.auth_field_objs: + field.error = True + self.logged_in = False + Snackbar(text=message).open() + + def register(self, app): + if not self.register_page: + self.register_page = RegisterPage(name='RegisterPageScreen') + app.sm.add_widget(self.register_page) + app.set_screen('RegisterPageScreen', 'left') + +class RegisterPage(MDScreen): + def __init__(self, **kwargs): + super(RegisterPage, self).__init__(**kwargs) + self.fields = ["Username", "Password", "Re-enter Password", "Registration Code"] + self.auth_field_objs = [] + self.load_content() + self.mode = "member" + + def load_content(self): + Auth().load_content(self, self.register_view) + self.register_view.add_widget(AuthButton(self.register, 'Register')) + self.mode_button = AuthButton(self.mode, 'Admin Register') + self.register_view.add_widget(self.mode_button) + + def register(self, app): + info_points = ['username', 'password', 'repassword', 'key'] + info = {point: self.auth_field_objs[i].text for i, point in enumerate(info_points)} + if self.mode == "member": + event = "register" + else: + event = "admin_register" + data = request(sio, session).emit(event, info) + self.register_confirmation(data, app) + + def register_confirmation(self, data, app): + message = f"{session.status['level']}: {session.status['message']}" + if data['is_registered'] == True: + app.set_screen("LoginPageScreen", "right") + else: + Snackbar(text=message).open() + for field in self.auth_field_objs: + field.error = True + Snackbar(text=message).open() + + def mode(self, app): + # searches through the available fields and breaks once it finds the the field where the registration/admin code is entered + # essentially just keeps going until "field" is the correct field obj + for field in self.auth_field_objs: + if "code" in field.info_type: + break + + # below deals with switching the UI to address if a user is registering to be an admin or a member + if self.mode == "member": + self.mode_button.change_text("Member Register") + field.hint_text = "Admin Registration Code" + self.mode = "admin" + else: + self.mode_button.change_text("Admin Register") + field.hint_text = "Registration Code" + self.mode = "member" + +class ServerPage(MDScreen): + def __init__(self, **kwargs): + super(ServerPage, self).__init__(**kwargs) + + def get_server_code(self): + response = request(sio, session).emit("server_code_get") + if dict_key_verify(response, 'server_code'): + session.server_code = response['server_code'] + else: + message = "WARNING: Badly behaving server, please contact administrator" + Snackbar(text=message).open() + + def connect(self, app): + connected = start_client(sio, self.url.text) + if not connected: + self.url.error = True + message = "Unsuccessful connection" + else: + self.get_server_code() + app.switch_to_decrypt() + message = "Successful connection" + Snackbar(text=message).open() + +class ShareInput(MDBoxLayout): + pass + +class DecryptPage(MDScreen): + def __init__(self, app, **kwargs): + super(DecryptPage, self).__init__(**kwargs) + self.share_inputs = [] + self.min_shares = None + self.app = app + self.load_content() + + def load_content(self): + mode_info = request(sio, session).emit("get_mode") + self.sss_enabled = mode_info['sss'] + if self.sss_enabled: + self.min_shares = int(mode_info['min_shares']) + for i in range(self.min_shares): + share_input = ShareInput() + self.share_inputs.append(share_input) + self.input_area.add_widget(share_input) + + def submit(self): + encrypt_data = {'shares': None, 'password': None} + data = {'success': False} + + if self.en_password.text: + encrypt_data['password'] = self.en_password.text + data = request(sio, session).emit("decrypt", encrypt_data) + + elif self.sss_enabled: + encrypt_data['shares'] = [] + for share in self.share_inputs: + try: + share_num = int(share.share_num.text) + share_secret = int(share.share_secret.text) + + except: + # errors out any input fields that contain invalid data + share.share_num.error = True + share.share_secret.error = True + continue + encrypt_data['shares'].append({'num': share_num, 'secret': share_secret}) + + if len(encrypt_data['shares']) >= self.min_shares: + data = request(sio, session).emit("decrypt", encrypt_data) + + if data['success']: + self.app.sm.remove_widget(self) + self.app.switch_to_login() + else: + self.en_password.error = True + # loops over share inputs and errors them all + if encrypt_data['shares']: + for share in self.share_inputs: + share.share_num.error = True + share.share_secret.error = True +# Auth END + +class FirstTimePage(MDScreen): + def __init__(self, **kwargs): + super(FirstTimePage, self).__init__(**kwargs) + self.load_content() + + def load_content(self): + data = {'items': ['level']} + level = request(sio, session).emit("auth_get", data)['level'] + if level == "member": + occupation_change = UserOccupationChange(self) + occupation_change.ids.new_request_area.remove_widget(occupation_change.ids.new_request_title) + elif level == "management" or level == "admin": + occupation_change = ManagementOccupationChange(self) + self.ids.step3.add_widget(occupation_change) + + def set_role(self): + if self.role_input.text: + request(sio, session).emit("profile_set", {'role': self.role_input.text}, None) + + def set_name(self): + if self.name_input.text: + request(sio, session).emit("profile_set", {'name': self.name_input.text}, None) + + def textbox_to_picture(self): + pass + + def done(self, app): + self.set_name() + self.set_role() + app.set_screen("HomePageScreen", "down") + app.sm.remove_widget(self) + +class BeOpen(MDApp): + def set_screen(self, screen, trans): + self.sm.current = screen + self.sm.transition.direction = trans + + def build(self): + Builder.load_file('./modules/ui/beopen.kv') + + self.theme_cls.material_style = "M3" + self.theme_cls.theme_style = "Light" + self.theme_cls.primary_palette = "Orange" + + self.homepage_screen = None + self.login_screen = None + + self.sm = MDScreenManager() + self.sm.add_widget(ServerPage(name='ServerPageScreen')) + + Window.size = (800, 1000) + + return self.sm + + def disconnected(self): + self.sm.clear_widgets() + stop_client(sio) + self.sm.add_widget(ServerPage(name='ServerPageScreen')) + + def switch_to_comments(self, transition='up'): + self.comments_screen = CommentsPage(name='CommentsPageScreen') + self.sm.add_widget(self.comments_screen) + self.set_screen('CommentsPageScreen', transition) + + def switch_to_homepage(self, transition=None, username=None): + if self.homepage_screen: + self.sm.remove_widget(self.homepage_screen) + self.homepage_screen = HomePage(username, self, name='HomePageScreen') + self.sm.add_widget(self.homepage_screen) + + if self.first_time_login(): + first_time_page_screen_name = "FirstTimePage" + first_time_page_screen = FirstTimePage(name=first_time_page_screen_name) + self.sm.add_widget(first_time_page_screen) + self.set_screen(first_time_page_screen_name, "down") + else: + self.sm.switch_to(self.homepage_screen) + + def switch_to_decrypt(self): + crypt_data = request(sio, session).emit("get_mode") + print(f"crytp data: {crypt_data}") + if crypt_data['mode'] == "decrypt": + decrypt_screen_name = 'DecryptPageScreen' + decrypt_screen = DecryptPage(self, name=decrypt_screen_name) + self.sm.add_widget(decrypt_screen) + self.set_screen(decrypt_screen_name, "down") + else: + self.switch_to_login() + + def switch_to_login(self, transition="up"): + login_screen_name = "LoginPageScreen" + if self.login_screen: + self.sm.remove_widget(self.login_screen) + + self.login_screen = LoginPage(self, name=login_screen_name) + if not self.login_screen.logged_in: + self.sm.add_widget(self.login_screen) + self.set_screen(login_screen_name, transition) + + def comments_to_homepage(self, transition='down'): + self.set_screen('HomePageScreen', transition) + self.sm.remove_widget(self.comments_screen) + + def first_time_login(self): + occupation = request(sio, session).emit("occupation_get") + profile = request(sio, session).emit("profile_get", {'items': ['role', 'name']}) + friends = request(sio, session).emit("friend_get")['friends'] + if not occupation['occupation_id'] and not friends and not profile['role'] and not profile['name']: + return True + else: + return False + first_time_page_screen_name = "FirstTimePage" + first_time_page_screen = FirstTimePage(name=first_time_page_screen_name) + self.sm.add_widget(first_time_page_screen) + self.set_screen(first_time_page_screen_name, "down") +#================== kivy END ================== + +def create_settings(): + #programattically creates the settings available in the database + settings = [{'title': "Help boxes", + 'description': "Turn of the help buttons that appear as clickable question marks", + 'default_value': True, + 'icon': "help"}] + + settings_db = db() + saved_settings = settings_db.execute("SELECT title FROM settings") + + for setting in settings: + if saved_settings: + if (setting['title'],) in saved_settings: + continue + + # verifies the input data, the inputs come from the "settings" list above + # this is done for developer ease + if isinstance(setting['default_value'], bool): + settings_db.execute("INSERT INTO settings (title, description, state, icon) VALUES (?, ?, ?, ?)", (setting['title'], setting['description'], setting['default_value'], setting['icon'])) + else: + settings_db.execute("INSERT INTO settings (title, description, value, icon) VALUES (?, ?, ?, ?)", (setting['title'], setting['description'], setting['default_value'], setting['icon'])) + +def create_directories(): + paths = ["data", "data/images"] + for path in paths: + path = android_root_path + path + if not os.path.exists(path): + os.mkdir(path) + +def clean_directories(): + paths = ["data/images"] + for path in paths: + path = android_root_path + path + for file in os.listdir(path): + os.remove(os.path.join(path, file)) + +def setup(): + create_directories() + clean_directories() + create_settings() + +def post_login(): + db().execute("DELETE FROM tokens WHERE username != ?", (session.username,)) + +def main(): + setup() + BeOpen().run() + stop_client(sio) + +if __name__ == "__main__": + main() diff --git a/android-client/modules/handler/__pycache__/info.cpython-310.pyc b/android-client/modules/handler/__pycache__/info.cpython-310.pyc new file mode 100644 index 0000000..3a5ca05 Binary files /dev/null and b/android-client/modules/handler/__pycache__/info.cpython-310.pyc differ diff --git a/android-client/modules/handler/__pycache__/info.cpython-311.pyc b/android-client/modules/handler/__pycache__/info.cpython-311.pyc new file mode 100644 index 0000000..2b64033 Binary files /dev/null and b/android-client/modules/handler/__pycache__/info.cpython-311.pyc differ diff --git a/android-client/modules/handler/__pycache__/request.cpython-310.pyc b/android-client/modules/handler/__pycache__/request.cpython-310.pyc new file mode 100644 index 0000000..f41c530 Binary files /dev/null and b/android-client/modules/handler/__pycache__/request.cpython-310.pyc differ diff --git a/android-client/modules/handler/__pycache__/request.cpython-311.pyc b/android-client/modules/handler/__pycache__/request.cpython-311.pyc new file mode 100644 index 0000000..725175e Binary files /dev/null and b/android-client/modules/handler/__pycache__/request.cpython-311.pyc differ diff --git a/android-client/modules/handler/__pycache__/requests.cpython-311.pyc b/android-client/modules/handler/__pycache__/requests.cpython-311.pyc new file mode 100644 index 0000000..1136500 Binary files /dev/null and b/android-client/modules/handler/__pycache__/requests.cpython-311.pyc differ diff --git a/android-client/modules/handler/info.py b/android-client/modules/handler/info.py new file mode 100644 index 0000000..84668de --- /dev/null +++ b/android-client/modules/handler/info.py @@ -0,0 +1,42 @@ +from PIL import Image +import io +from android.storage import app_storage_path +root_path = app_storage_path() + +class profile(): + def __init__(self): + pass + + def username(): + pass + + def name(self, first_name=None, last_name=None): + if first_name: + self.first_name + if last_name: + self.last_name + + if first_name and last_name: + pass + +class image(): + def __init__(self, post_id): + self.post_id = post_id + self.path = None + + def load(self, image_bytes): + image_formats = ['png', 'jpg'] + for form in image_formats: + try: + self.path = root_path + f"data/images/{self.post_id}.{form}" + with Image.open(io.BytesIO(image_bytes)) as recieved: + recieved.save(self.path) + print("saved image") + break + except: + print("cant save image") + self.path = None + + def delete(self): + os.remove(self.path) + diff --git a/android-client/modules/handler/request.py b/android-client/modules/handler/request.py new file mode 100644 index 0000000..f9abf9c --- /dev/null +++ b/android-client/modules/handler/request.py @@ -0,0 +1,108 @@ +# MODULES +from modules.session.session import wait + +def dict_key_verify(dictionary, keys, mode="and", *args, **kwargs): + if mode != "and" and mode != "or": + mode = "and" + if type(keys) != list: + keys = [keys] + + verified = [] + if type(keys) != list: + keys = [keys] + + for key in keys: + if type(dictionary) != dict or key not in dictionary or not dictionary[key]: + verified.append(False) + else: + verified.append(True) + + if mode == "and": + if all(verified) == True: + return True + if mode == "or": + if True in verified: + return True + return False +# MODULES +class request(): + def __init__(self, sio, session=None, username=None): + self.sio = sio + self.session = session + self.username = username + + def callback(self, callback, data): + self.session.transfer = data + + def emit(self, event, info=None, callback_func="self.callback"): + if callback_func == "self.callback": + callback_func = self.callback + if callback_func == None: + self.sio.emit(event, info) + return + else: + self.sio.emit(event, info, callback=callback_func) + wait(self.session).wait() + return self.session.transfer + +class account_page(request): + def refresh(self): + info = self.get_profile() + return info + + def get_profile(self): + info = {'username': self.username, 'name': self.username, 'role': "", 'occupation_name': "", 'team_name': "", 'biography': ""} + + profile_data = {'username': self.username, 'items': ['name', 'role', 'biography']} + profile_info = self.emit('profile_get', profile_data) + + occupation_data = {'username': self.username, 'items': ['name']} + occupation_info = self.emit('occupation_get', occupation_data) + if dict_key_verify(occupation_info, 'name'): + info['occupation_name'] = occupation_info['name'] + + team_data = {'username': self.username, 'items': ['name']} + team_info = self.emit('team_get', team_data) + if dict_key_verify(team_info, 'name'): + info['team_name'] = team_info['name'] + + team_leader_info = self.emit('team_get_leaders') + if dict_key_verify(team_leader_info, 'leaders'): + if self.username in team_leader_info['leaders']: + info['team_name'] += " (team lead)" + + for key in profile_info.keys(): + if dict_key_verify(profile_info, key): + info[key] = profile_info[key] + + return info + + def set_profile(self, item, new_value, username=None): + profile = ['name', 'role', 'biography'] + occupation = ['occupation_name'] + team = ['team_name'] + + if item in profile: + event = 'profile_set' + + if item == 'name': + new_values = new_value.split(" ") + if len(new_values) == 2: + items = ['first_name', 'last_name'] + if item in occupation: + event = 'occupation_set' + item = 'name' + if item in team: + event = 'team_set' + item = 'name' + + if type(item) != list: + items = [item] + if type(new_value) != list: + new_values = [new_value] + + for value, item in zip(new_values, items): + data = {'username': None,'items': [item], item: value} + if username: + data['username'] = username + self.emit('profile_set', data, None) diff --git a/android-client/modules/session/__pycache__/session.cpython-310.pyc b/android-client/modules/session/__pycache__/session.cpython-310.pyc new file mode 100644 index 0000000..e0f4acc Binary files /dev/null and b/android-client/modules/session/__pycache__/session.cpython-310.pyc differ diff --git a/android-client/modules/session/__pycache__/session.cpython-311.pyc b/android-client/modules/session/__pycache__/session.cpython-311.pyc new file mode 100644 index 0000000..1feec46 Binary files /dev/null and b/android-client/modules/session/__pycache__/session.cpython-311.pyc differ diff --git a/android-client/modules/session/__pycache__/time.cpython-310.pyc b/android-client/modules/session/__pycache__/time.cpython-310.pyc new file mode 100644 index 0000000..6639a28 Binary files /dev/null and b/android-client/modules/session/__pycache__/time.cpython-310.pyc differ diff --git a/android-client/modules/session/__pycache__/time.cpython-311.pyc b/android-client/modules/session/__pycache__/time.cpython-311.pyc new file mode 100644 index 0000000..6a32563 Binary files /dev/null and b/android-client/modules/session/__pycache__/time.cpython-311.pyc differ diff --git a/android-client/modules/session/session.py b/android-client/modules/session/session.py new file mode 100644 index 0000000..33975e4 --- /dev/null +++ b/android-client/modules/session/session.py @@ -0,0 +1,143 @@ +import time +import sqlite3 +from android.storage import app_storage_path +root_path = app_storage_path() + +class session_info(): + def __init__(self): + self._logged_in = False + self.username = None + self.server_code = None + self.cycle_count = 0 + self.auth_tokens = [] + self.transfer = None + self.status = None + + @property + def logged_in(self): + return self._logged_in + @logged_in.setter + def logged_in(self, value): + self._logged_in = value + self.cycle_count += 1 + + @property + def transfer(self): + return self._transfer + @transfer.setter + def transfer(self, value): + self._transfer = value + self.cycle_count += 1 + + def clear(self): + db().execute("DELETE FROM tokens WHERE username = ?", (self.username,)) + self.__init__() + +class wait(): + def __init__(self, session): + self.session = session + self.update() + + def update(self): + self.last = self.session.cycle_count + self.current = self.session.cycle_count + + def current_update(self): + self.current = self.session.cycle_count + + def wait(self, status=None): + while self.last == self.current: + time.sleep(0.05) + self.current_update() + return + + def wait_username(self): + while not self.session.username: + time.sleep(0.05) + return + +class db(): + def __init__(self): + self.path = root_path + "/data/database.db" + self._create() + + def _create(self): + con, cur = self._connect() + + cur.execute("""CREATE TABLE IF NOT EXISTS tokens ( + token TEXT NOT NULL PRIMARY KEY, + username TEXT NOT NULL, + expire TEXT NOT NULL + )""") + + cur.execute("""CREATE TABLE IF NOT EXISTS settings ( + title TEXT NOT NULL PRIMARY KEY, + description TEXT, + state BOOL, + value TEXT, + icon TEXT + )""") + + self._close(con) + + def _connect(self): + con = sqlite3.connect(self.path) + cur = con.cursor() + return con, cur + + def execute(self, command, values=None): + # we use this method so that closing and connecting to the datbase is abstracted away + rez = None + con, cur = self._connect() + + if values: + cur.execute(command, values) + else: + cur.execute(command) + + if "SELECT" in command: + rez = cur.fetchall() + + self._close(con) + if rez: + return rez + + def _commit(self, con): + con.commit() + + def _close(self, con): + con.commit() + con.close() + +class setting(): + def __init__(self, title): + self.title = title + self.db = db() + self.__fetch() + + def __fetch(self): + setting_data = self.db.execute("SELECT * FROM settings WHERE title = ?", (self.title,)) + if setting_data: + self.title = setting_data[0][0] + self.description = setting_data[0][1] + if not self.description: + self.description = "" + + if setting_data[0][3] != None: + self.value = setting_data[0][3] + self.type = "text_field" + else: + self.value = setting_data[0][2] + self.type = "swtich" + + if setting_data[0][4] != None: + self.icon = setting_data[0][4] + else: + self.icon = "cog" + + def change_value(self, new_value): + if self.type == "swtich" and isinstance(new_value, bool): + self.db.execute("UPDATE settings SET state = ?", (new_value,)) + elif self.type == "text_field" and isinstance(new_value, str): + self.db.execute("UPDATE settings SET value = ?", (new_value,)) + diff --git a/android-client/modules/session/time.py b/android-client/modules/session/time.py new file mode 100644 index 0000000..56abaae --- /dev/null +++ b/android-client/modules/session/time.py @@ -0,0 +1,63 @@ +from datetime import date, timedelta, datetime + +class timestamp(): + @property + def start(self): + value = self.get_date_timestamp() + self._start = value + return self._start + @start.setter + def start(self, value): + value = self.get_date_timestamp() + self._start = value + + @property + def end(self): + value = self.get_date_timestamp(day_mod=1) - 1 + self._end = value + return self._end + @end.setter + def end(self, value): + value = self.get_date_timestamp(day_mod=1) - 1 + self._end = value + + @property + def now(self): + value = self.get_timestamp() + self._now = value + return value + @now.setter + def now(self, value): + value = self.get_timestamp() + self._now = value + + @property + def date(self): + date = str(datetime.now().date()) + self._date = date + return self._date + @date.setter + def date(self, value): + self._date = value + + def get_date_timestamp(self, year_mod=0, month_mod=0, day_mod=0, *args, **kwargs): + modifier = [year_mod, month_mod, day_mod] + + now_mod = (datetime.now()+timedelta(days=day_mod)) + date = (str(now_mod.date()).replace("-0", "-")).split("-") + date = [int(string) for string in date] + + timestamp = datetime(date[0], date[1], date[2]).timestamp() + + return timestamp + + def get_timestamp(self): + now = (float(datetime.now().timestamp())) + return now + + def get_date(self, timestamp): + date = datetime.utcfromtimestamp(timestamp).strftime('%Y-%m-%d') + return date + + def get_days_month(self, month, year): + pass diff --git a/android-client/modules/ui/.idea/.gitignore b/android-client/modules/ui/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/android-client/modules/ui/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/android-client/modules/ui/.idea/misc.xml b/android-client/modules/ui/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/android-client/modules/ui/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/android-client/modules/ui/.idea/modules.xml b/android-client/modules/ui/.idea/modules.xml new file mode 100644 index 0000000..8e200d9 --- /dev/null +++ b/android-client/modules/ui/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/android-client/modules/ui/.idea/ui.iml b/android-client/modules/ui/.idea/ui.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/android-client/modules/ui/.idea/ui.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android-client/modules/ui/beopen.kv b/android-client/modules/ui/beopen.kv new file mode 100644 index 0000000..3bb41e6 --- /dev/null +++ b/android-client/modules/ui/beopen.kv @@ -0,0 +1,1587 @@ + +#UTILITY Widgets + + do_scroll_y: True + do_scroll_x: False + + + padding: 20 + size_hint_y: None + + + padding: 10 + cols: 1 + size_hint_y: None + + + MDBoxLayout: + orientation: "vertical" + + + + + text: "Help box" + text_color: "Black" + + + text: "Expanded text" + font_style: "H6" + +: + toolbar: toolbar + text_area: text_area + + MDBoxLayout: + orientation: "vertical" + + MDTopAppBar: + id: toolbar + title: "" + anchor_title: "right" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + + MDBoxLayout: + orientation: "vertical" + padding: 10 + + ScrollingView: + ScrollArea: + id: text_area + + + opposite_colors: True + icon_size: 35 + + + RelativeLayout: + orientation: "horizontal" + + FitImage: + source: "" + radius: [20,] + + MDBoxLayout: + adaptive_height: True + orientation: "horizontal" + pos_hint: {'top': 1} + spacing: 12 + padding: 10 + + MDLabel: + text: "99" + font_style: "H5" + font_size: 20 + size_hint_y: None + height: self.texture_size[1] + pos_hint: {"center_y": .5} + opposite_colors: True + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Month placeholder" + font_style: "H5" + font_size: 40 + size_hint_y: 0.1 + + MDGridLayout: + size_hint_y: 0.9 + cols: 5 + spacing: 10 + row_default_height: root.get_memories_swiper_height() + + + account_button: account_button + profile_area: profile_area + RelativeLayout: + orientation: "horizontal" + + FitImage: + id: content + source: "" + radius: [20,] + + MDBoxLayout: + adaptive_height: True + orientation: "horizontal" + spacing: 12 + + MDBoxLayout: + orientation: "horizontal" + adaptive_width: True + adaptive_height: True + + SwiperMagicButton: + id: like + icon: "heart-outline" + on_release: + root.like() + + MDLabel: + id: like_number + text: "0" + font_style: "H5" + text_color: "white" + theme_text_color: "Custom" + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + + MDBoxLayout: + adaptive_height: True + orientation: "horizontal" + + SwiperMagicButton: + icon: "comment-outline" + on_release: + root.switch_to_comments(app) + + MDLabel: + id: caption + text: "Caption placeholder" + adaptive_height: True + font_style: "H5" + text_color: "white" + theme_text_color: "Custom" + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + + MDBoxLayout: + id: profile_area + adaptive_height: True + orientation: "horizontal" + pos_hint: {'top': 1} + spacing: "12dp" + + SwiperMagicButton: + id: account_button + icon: "account-circle" + on_release: root.post_options(app) + + MDLabel: + id: username + text: "Name Placeholder" + font_style: "H5" + size_hint_y: None + height: self.texture_size[1] + pos_hint: {"center_y": .5} + opposite_colors: True + + + MDBoxLayout: + orientation: "vertical" + + MDLabel: + text: "No posts :(" + font_style: "H4" + halign: "center" + + + padding: 30 + + MDRaisedButton: + size_hint_x: 1 + pos_hint: {"center_x": .5, "center_y": .95} + text: "Load more" + on_release: + root.load_content() + + + text: "Occupations" + pos_hint: {'center_x': 0.5} + on_release: root.switch_to_occupation(app) + size_hint_x: 0.8 + + + occupation_button_area: occupation_button_area + team_button_area: team_button_area + name: "Organisation" + text: "Organisation" + icon: "account-group" + on_tab_press: root.page.on_tab_press(self.name) + + MDBoxLayout: + orientation: "vertical" + padding: 20 + + ScrollingView: + ScrollAreaBoxLayout: + spacing: 50 + + MDBoxLayout: + id: occupation_button_area + + MDBoxLayout: + id: team_button_area + + MDRaisedButton: + text: "Teams" + pos_hint: {'center_x': 0.5} + on_release: root.switch_to_team(app) + size_hint_x: 0.8 + + + post_area: post_area + orientation: "vertical" + spacing: 10 + + MDIconButton: + icon: "arrow-up" + on_release: root.day_list.back() + + MDBoxLayout: + id: post_area + orientation: "vertical" + + + on_release: root.day_view() + + + scroll: scroll + orientation: "vertical" + spacing: 10 + + MDScrollView: + do_scroll_x: False + do_scroll_y: True + + MDList: + id: scroll + + + on_release: root.post_open() + + + scroll: scroll + orientation: "vertical" + spacing: 10 + + MDIconButton: + icon: "arrow-up" + on_release: root.back() + + MDScrollView: + do_scroll_x: False + do_scroll_y: True + + MDList: + id: scroll + +: + home_swiper_scroll:home_swiper_scroll + home_swiper_grid:home_swiper_grid + bottom_navigation: bottom_navigation + toolbar: toolbar + root_scroll: root_scroll + + MDBoxLayout: + orientation: "vertical" + + MDTopAppBar: + title: "BeOpen" + id: toolbar + anchor_title: "left" + right_action_items: [["help", lambda x: root.open_help(app)], ["cog", lambda x: root.switch_to_settings(app, 'left')]] + left_action_items: [["account-circle", lambda x: root.switch_to_account(app, direction='right')],["bell", lambda x: root.switch_to_notifications(app, direction='right')]] + md_bg_color: app.theme_cls.primary_color + + MDBottomNavigation: + id: bottom_navigation + + MDBottomNavigationItem: + name: "Home" + text: "Home" + icon: "home" + on_tab_press: root.on_tab_press(self.name) + + MDBoxLayout: + padding: 20 + size_hint: 1, 1 + + MDScrollView: + id:home_swiper_scroll + do_scroll_x: False + do_scroll_y: True + + MDGridLayout: + id:home_swiper_grid + cols: 1 + spacing: 10 + adaptive_height: True + + MDBottomNavigationItem: + name: "Memories" + text: "Memories" + icon: "image-multiple" + on_tab_press: root.on_tab_press(self.name) + + MDBoxLayout: + padding: 20 + + MDBoxLayout: + id: root_scroll + orientation: "vertical" + + MDBottomNavigationItem: + name: "Stats" + text: "Stats" + icon: "poll" + on_tab_press: root.on_tab_press(self.name) + + MDLabel: + text: "Coming Soon!" + font_size: "50sp" + halign: "center" + +# Comments Widgets + + like_button: like_button + profile_button: profile_button + like_count: like_count + container: container + text: "" + secondary_text: "" + on_release: root.expand(app) + on_size: + self.ids._right_container.width = container.width + self.ids._right_container.x = container.width + + IconLeftWidget: + id: profile_button + icon: "account" + on_release: root.action_options(app) + + CommentContainer: + id: container + adaptive_width: True + + MDIconButton: + id: like_button + icon: "heart-outline" + on_release: root.like() + + MDLabel: + id: like_count + text: "3000" + halign: "right" + +: + comment_stack: comment_stack + comment_field: comment_field + + MDBoxLayout: + orientation: "vertical" + + MDBoxLayout: + padding: 10 + size_hint: 1, 0.15 + orientation: "vertical" + + AnchorLayout: + anchor_x: 'center' + anchor_y: 'top' + + MDIconButton: + icon: "menu-up" + icon_size: "64sp" + icon_color: app.theme_cls.primary_color + on_release: + root.switch_to_home(app) + + MDBoxLayout: + orientation: "vertical" + padding: 10 + spacing: 20 + + ScrollingView: + MDList: + id: comment_stack + + MDRelativeLayout: + size_hint_y: None + height: comment_field.height + pos_hint: {"bottom": 0.5} + + MDTextField: + id: comment_field + hint_text: "Enter your comment here..." + icon_left: "comment" + mode: "rectangle" + + MDIconButton: + icon: "send" + post_hint: {"center_y": 0.5} + pos: comment_field.width - self.width + dp(8), 0 + on_release: root.submit() + +# account widgets + + size_hint_x: 0.4 + pos_hint: {"center_x": .5} + source: "data/assets/profile.png" + + + pos_hint: {"center_y": .5} + text_field: text_field + spacing: 10 + + MDTextField: + id: text_field + hint_text: "Enter a new value" + on_text_validate: root.save() + mode: "rectangle" + size_hint_x: 0.8 + pos_hint: {"center_y": .5} + + MDRaisedButton: + text: "Save" + on_release: root.save() + size_hint_x: 0.2 + pos_hint: {"center_y": .5} + + + pos_hint: {"center_y": .5} + hint_text: "Enter a new value" + mode: "rectangle" + on_text_validate: + self.submit_func() + + + icon: "pencil" + on_release: + self.change_info() + + + icon: "pencil" + size_hint_x: 0.1 + pos_hint: {"center_y": .5} + on_release: + self.change_info() + + + text: "" + secondary_text: "None" + + + orientation: "vertical" + spacing: 20 + occupation_select: occupation_select + request_title: request_title + request_occupation: request_occupation + request_status: request_status + request_cancel: request_cancel + request_button: request_button + occupation_description: occupation_description + + MDBoxLayout: + id: new_request_area + orientation: "vertical" + + MDLabel: + id: new_request_title + text: "new request" + font_style: 'H5' + pos_hint: {'center_x': .5} + size_hint_y: 0.1 + + MDBoxLayout: + orientation: "horizontal" + size_hint_y: 0.9 + spacing: 10 + + MDRaisedButton: + id: occupation_select + text: "Select an occupation" + pos_hint: {'center_x': .5, 'center_y': .5} + on_release: root.selection_menu() + + MDLabel: + id: occupation_description + text: "" + font_style: 'H6' + pos_hint: {'center_x': .5, 'center_y': .5} + + MDRaisedButton: + id: request_button + text: "Create request" + pos_hint: {'center_y': .5} + on_release: root.submit() + + MDBoxLayout: + orientation: "horizontal" + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDLabel: + id: request_title + text: "current request" + font_style: 'H5' + MDLabel: + id: request_occupation + text: "" + font_style: 'H5' + + MDLabel: + id: request_status + text: "Status: No request" + font_style: 'H6' + pos_hint: {'right': 1} + + MDRaisedButton: + id: request_cancel + text: "Cancel" + pos_hint: {"center_y": .5} + on_release: root.cancel() + + + orientation: "vertical" + spacing: 20 + occupation_select: occupation_select + occupation_description: occupation_description + set_button: set_button + + MDBoxLayout: + orientation: "vertical" + + MDLabel: + text: "Change occupation" + font_style: 'H5' + pos_hint: {'center_x': .5} + size_hint_y: 0.1 + + MDBoxLayout: + orientation: "horizontal" + size_hint_y: 0.9 + spacing: 10 + + MDRaisedButton: + id: occupation_select + text: "Select an occupation" + pos_hint: {'center_x': .5, 'center_y': .5} + on_release: root.selection_menu() + + MDLabel: + id: occupation_description + text: "Occupation description" + font_style: 'H6' + pos_hint: {'center_x': .5, 'center_y': .5} + + MDRaisedButton: + id: set_button + text: "Create request" + pos_hint: {'center_y': .5} + on_release: root.submit() + +: + name: 'account_page_screen' + + toolbar: toolbar + profile_info_view: profile_info_view + profile_bio_view: profile_bio_view + biography_content: biography_content + above_info: above_info + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Profile" + anchor_title: "center" + left_action_items: [["account-multiple", lambda x: root.switch_to_friend(app)]] + right_action_items: [["help", lambda x: root.open_help(app)], ["arrow-right", lambda x: root.back(app, "left")]] + md_bg_color: app.theme_cls.primary_color + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.8 + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.70 + padding: 15 + spacing: 10 + + MDBoxLayout: + id: above_info + size_hint_y: 0.3 + + MDScrollView: + size_hint_y: 0.45 + + MDList: + id: profile_info_view + + MDBoxLayout: + size_hint_y: 0.25 + orientation: "vertical" + spacing: 10 + + MDLabel: + size_hint_y: 0.1 + text: "Biography" + font_style: "H5" + + MDBoxLayout: + id: profile_bio_view + orientation: "horizontal" + size_hint_y: 0.9 + + ScrollView: + size_hint_x: 0.9 + do_scroll_x: False + do_scroll_y: True + + MDLabel: + id: biography_content + size_hint_y: None + size: self.texture_size + text: "" + font_style: "H6" + +# Settings widgets + + setting_title: setting_title + setting_description: setting_description + toggle: toggle + setting_icon: setting_icon + + AnchorLayout: + anchor_x: 'right' + anchor_y: 'center' + padding: 20 + + MDBoxLayout: + orientation: "horizontal" + adaptive_height: True + spacing: 20 + + MDIcon: + id: setting_icon + icon: "language-python" + + MDBoxLayout: + orientation: "vertical" + spacing: 20 + + MDLabel: + id: setting_title + text: "switch 1" + font_size: "30sp" + text_color: 0, 1, 1, 1 + + MDLabel: + id: setting_description + text: "description text" + text_color: 0, 0, 1, 1 + + MDSwitch: + id: toggle + on_active: root.on_toggle(app) + + + setting_title: setting_title + setting_description: setting_description + input_field: input_field + setting_icon: setting_icon + + AnchorLayout: + anchor_x: 'right' + anchor_y: 'center' + padding: 20 + + MDBoxLayout: + orientation: "horizontal" + adaptive_height: True + spacing: 20 + + MDIcon: + id: setting_icon + icon: "language-python" + + MDBoxLayout: + orientation: "vertical" + spacing: 20 + + MDLabel: + id: setting_title + text: "switch 1" + font_size: "30sp" + text_color: 0, 1, 1, 1 + + MDLabel: + id: setting_description + text: "description text" + text_color: 0, 0, 1, 1 + + MDTextField: + id: input_field + hint_text: "default hint text" + helper_text_mode: "on_error" + helper_text: "default helper text" + on_text_validate: root.submit_func() + + + hint_text: "default hint text" + helper_text_mode: "on_error" + helper_text: "default helper text" + on_text_validate: root.submit_func() + + + text: "Shutdown server" + size_hint_x: 0.8 + pos_hint: {'center_x': 0.5} + on_release: root.shutdown(app) + +: + settings_stack: settings_stack + static_buttons: static_buttons + toolbar: toolbar + + MDBoxLayout: + orientation: "vertical" + + MDTopAppBar: + id: toolbar + title: "Settings" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + right_action_items: [["help", lambda x: root.open_help(app)]] + md_bg_color: app.theme_cls.primary_color + + MDBoxLayout: + orientation: "vertical" + padding: 20 + spacing: 10 + + MDBoxLayout: + id: settings_stack + orientation: "vertical" + spacing: 10 + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + id: static_buttons + + MDRaisedButton: + text: "Log out" + size_hint_x: 0.8 + pos_hint: {'center_x': 0.5} + on_release: root.logout(app) + +# notification widgets + + text: "" + secondary_text: "" + on_release: + root.expand() + + IconRightWidget: + icon: "close" + on_release: + root.delete() + +: + toolbar: toolbar + notification_layout: notification_layout + notification_stack: notification_stack + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Notifications" + anchor_title: "center" + left_action_items: [["refresh", lambda x: root.load_content()]] + right_action_items: [["help", lambda x: root.open_help(app)], ["arrow-right", lambda x: root.back(app)]] + + MDBoxLayout: + id: notification_layout + orientation: "vertical" + size_hint_y: 0.9 + + MDScrollView: + size_hint_y: 1 + do_scroll_y: True + + MDList: + id: notification_stack + +# friends widgets + + text: "Friend" + on_release: root.profile(app) + + IconRightWidget: + icon: "account-remove" + on_release: + root.remove() + +: + toolbar: toolbar + friend_list: friend_list + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Friends" + anchor_title: "center" + left_action_items: [["help", lambda x: root.open_help(app)]] + right_action_items: [["arrow-right", lambda x: root.switch_to_account(app)]] + + MDBoxLayout: + orientation: "vertical" + + MDRaisedButton: + text: "Requests" + on_release: root.switch_to_friend_request(app) + size_hint_x: 0.9 + pos_hint: {'center_x': 0.5} + + ScrollingView: + MDList: + id: friend_list + + + text: "Incoming Request" + on_release: root.profile(app) + + IconLeftWidget: + icon: "check" + on_release: + root.accept() + IconRightWidget: + icon: "close" + on_release: + root.reject() + + + text: "Outgoing Request" + on_release: root.profile(app) + + IconRightWidget: + icon: "close" + on_release: + root.cancel() + + + text: "Recomended friend" + on_release: root.profile(app) + + IconRightWidget: + icon: "account-plus" + on_release: + root.add_friend() + +: + toolbar: toolbar + incoming_requests: incoming_requests + outgoing_requests: outgoing_requests + recomendations: recomendations + username_select: username_select + + MDBoxLayout: + orientation: "vertical" + + MDTopAppBar: + id: toolbar + title: "Requests" + anchor_title: "center" + left_action_items: [["refresh", lambda x: root.load_content()]] + right_action_items: [["arrow-right", lambda x: root.switch_to_friend(app)]] + + MDBoxLayout: + size_hint_y: 0.1 + orientation: "horizontal" + spacing: 10 + padding: 10 + + MDTextField: + id: username_select + mode: "rectangle" + hint_text: "Enter a username" + pos_hint: {'center_y': 0.5} + + MDRaisedButton: + text: "Request" + on_release: root.add_friend_search() + pos_hint: {'center_y': 0.5} + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.2 + + MDBoxLayout: + orientation: "vertical" + padding: 10 + MDLabel: + text: "Recomendations" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: recomendations + + MDBoxLayout: + orientation: "vertical" + padding: 10 + size_hint_y: 0.7 + + MDBoxLayout: + orientation: "vertical" + MDLabel: + text: "Incoming Requests" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: incoming_requests + + MDBoxLayout: + orientation: "vertical" + MDLabel: + text: "Outgoing Requests" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: outgoing_requests + +# management widgets + + orientation: "vertical" + change_button: change_button + occupation_select: occupation_select + occupation_description: occupation_description + username_select: username_select + + MDLabel: + text: "Change a users occupation (this will change their team)" + font_style: 'H5' + pos_hint: {'center_x': .5} + size_hint_y: 0.1 + + MDBoxLayout: + orientation: "horizontal" + size_hint_y: 0.9 + + MDTextField: + id: username_select + hint_text: "Enter a username" + + MDRaisedButton: + id: occupation_select + text: "Select an occupation" + pos_hint: {'center_x': .5, 'center_y': .5} + on_release: root.selection_menu() + + MDLabel: + id: occupation_description + text: "Occupation description" + font_style: 'H6' + pos_hint: {'center_x': .5, 'center_y': .5} + + MDRaisedButton: + id: change_button + text: "Change occupation" + pos_hint: {'center_y': .5} + on_release: root.submit() + + + text: "Occupation name" + secondary_text: "Description" + + IconLeftWidget: + icon: "close" + on_release: + root.delete() + IconRightWidget: + icon: "pencil" + on_release: + root.edit() + + + text: "Username" + secondary_text: "Occupation name" + tirtiary_text: "Description" + + IconRightWidget: + icon: "check" + on_release: + root.accept() + + IconLeftWidget: + icon: "close" + on_release: + root.reject() + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Edit occupation" + font_style: "H5" + size_hint_y: 0.1 + MDTextField: + id: name + mode: "rectangle" + hint_text: "Name" + size_hint_x: 1 + size_hint_y: 0.35 + MDTextField: + id: description + mode: "rectangle" + hint_text: "Description" + size_hint_x: 1 + size_hint_y: 0.35 + MDRaisedButton: + text: "Done" + size_hint_x: 1 + on_release: root.submit() + size_hint_y: 0.2 + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Create an occupation" + font_style: "H5" + size_hint_y: 0.1 + MDTextField: + id: name + mode: "rectangle" + hint_text: "Name" + size_hint_x: 1 + size_hint_y: 0.35 + MDTextField: + id: description + mode: "rectangle" + hint_text: "Description" + size_hint_x: 1 + size_hint_y: 0.35 + MDRaisedButton: + text: "Done" + size_hint_x: 1 + on_release: root.create() + size_hint_y: 0.2 + +: + toolbar: toolbar + occupations: occupations + edit_area: edit_area + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Occupation" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + right_action_items: [["help", lambda x: root.open_help(app)]] + + MDRaisedButton: + text: "Requests" + on_release: root.switch_to_occupation_request(app) + size_hint_x: 0.9 + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + + MDBoxLayout: + id: edit_area + orientation: "vertical" + padding: 15 + + MDBoxLayout: + orientation: "vertical" + padding: 15 + + MDLabel: + text: "Occupations" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: occupations + +: + toolbar: toolbar + change_requests: change_requests + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Requests" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + right_action_items: [["refresh", lambda x: root.load_content()]] + + MDBoxLayout: + orientation: "vertical" + padding: 10 + + MDLabel: + text: "Occupation change requests" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: change_requests + + + IconRightWidget: + icon: "close" + on_release: root.delete() + + + text: "Add leader" + size_hint_x: 0.8 + on_release: root.add_leader() + pos_hint: {'center_x': 0.5} + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Add a leader" + font_style: "H5" + size_hint_y: 0.2 + MDTextField: + id: username + mode: "rectangle" + hint_text: "Name" + size_hint_y: 0.5 + MDRaisedButton: + text: "Done" + on_release: root.submit() + size_hint_y: 0.3 + size_hint_x: 1 + + + text: "Change team name" + size_hint_x: 0.8 + on_release: root.change_name() + pos_hint: {'center_x': 0.5} + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Change team name" + font_style: "H5" + size_hint_y: 0.2 + MDTextField: + id: name + mode: "rectangle" + hint_text: "Name" + size_hint_y: 0.5 + MDRaisedButton: + text: "Done" + on_release: root.submit() + size_hint_y: 0.3 + size_hint_x: 1 + +: + toolbar: toolbar + members: members + leaders: leaders + team_name: team_name + edit_area: edit_area + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Team" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + right_action_items: [["help", lambda x: root.open_help(app)], ["refresh", lambda x: root.load_content()]] + + MDBoxLayout: + orientation: "vertical" + padding: 10 + spacing: 10 + + MDBoxLayout: + orientation: "vertical" + + MDLabel: + id: team_name + text: "" + font_style: "H5" + font_size: 30 + pos_hint: {'center_x': 0.93} + size_hint_y: 0.1 + + MDBoxLayout: + id: edit_area + orientation: "vertical" + size_hint_y: 0.9 + spacing: 10 + + MDBoxLayout: + orientation: "vertical" + MDLabel: + text: "Leader" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: leaders + + MDBoxLayout: + orientation: "vertical" + MDLabel: + text: "Members" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: members + +# auth widgets + + size_hint_y: None + height: password_field.height + text: password_field.text + + MDTextField: + id: password_field + hint_text: "Password" + text: "" + password: True + mode: "rectangle" + icon_left: "key-variant" + + MDIconButton: + icon: "eye-off" + pos_hint: {"center_y": 0.45} + pos: password_field.width - self.width + dp(8), 0 + theme_text_color: "Hint" + on_release: + self.icon = "eye" if self.icon == "eye-off" else "eye-off" + password_field.password = False if password_field.password is True else True + + + adaptive_height: True + mode: "rectangle" + hint_text: "" + + + text: "auth" + pos_hint: {'center_x': 0.5} + size_hint_x: 0.5 + on_release: + self.action(app) + +: + login_view: login_view + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + title: "Login" + anchor_title: "center" + + MDGridLayout: + id: login_view + padding: 20 + spacing: 10 + row_default_height: 50 + cols: 1 + rows: 4 + +: + register_view: register_view + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + title: "Register" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: app.set_screen("LoginPageScreen", "right")]] + + MDGridLayout: + id: register_view + padding: 20 + spacing: 10 + row_default_height: 50 + cols: 1 + rows: 6 + +: + url: url + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + title: "Select Server" + anchor_title: "center" + + MDGridLayout: + padding: 20 + spacing: 10 + row_default_height: 50 + cols: 1 + rows: 2 + + MDTextField: + id: url + adaptive_height: True + mode: "rectangle" + hint_text: "Server URL" + helper_text: "Remember to start with http:// or https://" + + MDRaisedButton: + text: "Connect" + pos_hint: {'center_x': 0.5} + size_hint_x: 0.5 + on_release: + root.connect(app) + + + pos_hint: {'center_y': 0.5} + spacing: 10 + share_num: share_num + share_secret: share_secret + + MDTextField: + id: share_num + mode: "rectangle" + hint_text: "Share Number" + size_hint_x: 0.2 + + MDTextField: + id: share_secret + password: True + mode: "rectangle" + hint_text: "Share Secret" + helper_text: "This is the secret provided by the admin" + size_hint_x: 0.8 + +: + input_area: input_area + en_password: en_password + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + title: "Decrypt Server Database" + anchor_title: "center" + + MDBoxLayout: + orientation: "vertical" + padding: 20 + spacing: 20 + + MDTextField: + id: en_password + password: True + mode: "rectangle" + hint_text: "Master password" + helper_text: "This can still be used even if Shamir Secret Sharing is enabled" + size_hint_x: 0.8 + pos_hint: {'center_x': 0.5} + + MDBoxLayout: + id: input_area + orientation: "vertical" + + MDRaisedButton: + text: "Submit" + pos_hint: {'center_x': 0.5} + size_hint_x: 0.8 + on_release: root.submit() + +: + camera_area: camera_area + toolbar: toolbar + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Time left: " + anchor_title: "center" + left_action_items: [["arrow-up", lambda x: root.exit(app)]] + right_action_items: [["help", lambda x: root.open_help(app)]] + + MDBoxLayout: + id: camera_area + orientation: "vertical" + size_hint_y: 0.7 + padding: 10 + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.2 + padding: 10 + + MDIconButton: + icon: "camera" + on_release: root.capture(app) + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + +: + image: image + caption: caption + toolbar: toolbar + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Time left: " + anchor_title: "center" + left_action_items: [["arrow-up", lambda x: root.exit(app)]] + right_action_items: [["help", lambda x: root.open_help(app)]] + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.1 + padding: 10 + + MDRaisedButton: + text: "Retake photo?" + on_release: root.retake(app) + size_hint_x: 1 + pos_hint: {'center_y': 0.5} + + MDBoxLayout: + id: image_area + orientation: "vertical" + size_hint_y: 0.5 + padding: 10 + + FitImage: + id: image + source: "" + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.3 + padding: 15 + spacing:10 + + MDTextField: + id: caption + hint_text: "Caption" + helper_text: "This text will appear alongside your photo" + size_hint_x: 1 + + MDRaisedButton: + text: "Post" + size_hint_x: 1 + on_release: root.post(app) + +: + name_input: name_input + role_input: role_input + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + padding: 20 + + MDBoxLayout: + id: step1 + orientation: "vertical" + size_hint_y: 0.15 + + MDLabel: + text: "Step 1: Tell us your name" + + MDTextField: + id: name_input + hint_text: "Name" + + MDBoxLayout: + id: step2 + orientation: "vertical" + size_hint_y: 0.15 + + MDLabel: + text: "Step 2: Let everyone know your role in the organisation" + + MDTextField: + id: role_input + hint_text: "Role" + + MDBoxLayout: + id: step3 + orientation: "vertical" + size_hint_y: 0.4 + + MDLabel: + text: "Step 3: Request to set your occupation, people with the same occupation will be grouped together into the same team. People in the same team will be able to see eachothers posts" + + MDBoxLayout: + id: summary + orientation: "vertical" + size_hint_y: 0.3 + + MDLabel: + text: "Management or an admin will approve your request soon!\nFor now head over to the friends page and send some friend requests" + MDLabel: + text: "To get there click the profile button in the top left hand corner the homepage, and then click the friends button in the top left hand corner on the profile page" + + MDRaisedButton: + text: "Done" + size_hint_x: 0.8 + pos_hint: {'center_x': 0.5} + on_release: root.done(app) diff --git a/android-client/requirements.txt b/android-client/requirements.txt new file mode 100644 index 0000000..be933c0 --- /dev/null +++ b/android-client/requirements.txt @@ -0,0 +1,13 @@ +cython +python-socketio==5.8.0 +eventlet==0.33.3 +pathlib==1.0.1 +datetime +pillow==9.5.0 +setuptools +python-dotenv==1.0.0 +pyinstaller==6.3.0 +wheel==0.41.2 +packaging==23.2 +kivy[full]==2.3 +kivymd==1.1.1 diff --git a/client/bugs.txt b/client/bugs.txt new file mode 100644 index 0000000..fba7b73 --- /dev/null +++ b/client/bugs.txt @@ -0,0 +1,6 @@ +--- Load toolbar --- +I fixed a teams help icon issue but made a major change unaware of consequences??? +I made it so the organisation bottom item now passes the "self.page" to the teams page and occupation page on creation instead of just "self" +This is so these pages could have access to the load_toolbar method required to refresh the help button on previous pages +--- Load toolbar --- + diff --git a/client/data/assets/help.txt b/client/data/assets/help.txt new file mode 100644 index 0000000..8e88307 --- /dev/null +++ b/client/data/assets/help.txt @@ -0,0 +1,144 @@ +[Home:START] + (title:START) + Home page + (title:END) + + (body:START) + This is your home page, below you will is where you will see your friends posts. + In the top left corner is your "profile" there you will be able to see all about you, and find friends + Next to that is yout notifications to keep you up-to-date with your colleges + Your settings panel is in the top left and additional areas are available in the navigation panel at the bottom of the page + (body:END) +[Home:END] + +[Memories:START] + (title:START) + Memories page + (title:END) + + (body:START) + Here is where you will see your own historical posts. This means posts from previous days. + Just select a month and then the day of the month and you will see your old post. You can still like + and comment on it but others will not be able to see these interactions. + (body:END) +[Memories:END] + +[Organisation:START] + (title:START) + Organisation page + (title:END) + + (body:START) + Here you will see the navigation to your teams panel, and soon some infomation about your organisations + Your teams panel is where you will be able to see all about your team. + + You can only be part of one organisation, since your account is specifically tied to it. + (body:END) +[Organisation:END] + +[Organisation-admin:START] + (title:START) + Organisation page + (title:END) + + (body:START) + Here you will see the navigation to your teams panel, and soon some infomation about your organisations + Your teams panel is where you will be able to see all about your team. + Additionally since your are management/admin staff you can see the occupation area here you can accept and reject occupation change requests, create new occupations and edit or delete current ones. + (body:END) + [Organisation-admin:END] + +[Profile:START] + (title:START) + Profile page + (title:END) + + (body:START) + This page you can see all the infomation about the profile your viewing. For your own profile you should see edit buttons next to some of infomation this means you can change or request to change this info. + + Your role is simply how you describe your role in your team for instance "assistant" + Your occupation determines what team you are put into, you can only be part of 1 team at a time. + (body:END) +[Profile:END] + +[Notifications:START] + (title:START) + Notifications page + (title:END) + + (body:START) + Here you will see notifications from your organisations admins and management, as well notifications about people interacting with your posts and when its time to make your post. + (body:END) +[Notifications:END] + +[Settings:START] + (title:START) + Settings page + (title:END) + + (body:START) + This is where you can configure some options, for instance to stop seeing these help buttons toggle "Help Dialogs". + (body:END) +[Settings:END] + +[Team:START] + (title:START) + Teams page + (title:END) + + (body:START) + Your sorted into a team via your occupation, each occupation will have a team associated with it. + People in the same team as you will see your posts and you will see theres. This means you will see posts from + your team alongside posts from your friends. + + Team leaders act as the moderator for the team. This means they can delete your posts and comments even if your + commenting on your friends posts. + (body:END) +[Team:END] + +[Occupation:START] + (title:START) + Occupations page + (title:END) + + (body:START) + Here you can change edit and delete the occupations in your organisation, this panel is only available for management and admins. + You can also approve and deny occupation change requests here. For a member to change their occupation they have to submit an occupation change request including what occupation they want to switch to. This request must be approved by management or above. Once approved the member is switched to their new team. + (body:END) +[Occupation:END] + +[Friends:START] + (title:START) + Friends page + (title:END) + + (body:START) + In BeOpen you dont follow people but friend people, this means both people accepted to be friends with eachother. Meaning you both see eachothers posts in your feed. + On this page you will be able to see your current friends and remove them if wanted. On the requests page (button below) you can send new friend requests, and approve or deny current friend requests. On that page is also a list of recomended friends based on mutal friends. + + To send a friend request to someone (who isnt in the recomended) type their username into the request box, their username has to match exactly. + (body:END) +[Friends:END] + +[Camera:START] + (title:START) + Making a post + (title:END) + + (body:START) + You will be able to make one of these posts once a day, you will see the countdown at the top this is how long you have to post. After this time has run out you will not be able to post for that day. + To make a post just take a picture of whatever your doing right now and head onto the next screen. + (body:END) +[Camera:END] + +[PostReview:START] + (title:START) + Making a post + (title:END) + + (body:START) + Here you can review the image you just took and retake it if needed. + You can also add a caption to your post, note that you cannot edit a post after its been created you can however delete it. So be sure this is what you want to post today since deleting means you will have to wait till tomorrow to post again. + When your ready just hit post! + (body:END) +[PostReview:END] diff --git a/client/data/assets/profile.png b/client/data/assets/profile.png new file mode 100644 index 0000000..fea4acd Binary files /dev/null and b/client/data/assets/profile.png differ diff --git a/client/data/database.db b/client/data/database.db new file mode 100644 index 0000000..c141242 Binary files /dev/null and b/client/data/database.db differ diff --git a/client/data/images-temp/image1.jpg b/client/data/images-temp/image1.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/images-temp/image1.jpg differ diff --git a/client/data/images-temp/image10.jpg b/client/data/images-temp/image10.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/images-temp/image10.jpg differ diff --git a/client/data/images-temp/image11.jpg b/client/data/images-temp/image11.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/images-temp/image11.jpg differ diff --git a/client/data/images-temp/image2.jpg b/client/data/images-temp/image2.jpg new file mode 100644 index 0000000..5c4ce0c Binary files /dev/null and b/client/data/images-temp/image2.jpg differ diff --git a/client/data/images-temp/image3.jpg b/client/data/images-temp/image3.jpg new file mode 100644 index 0000000..9a32863 Binary files /dev/null and b/client/data/images-temp/image3.jpg differ diff --git a/client/data/images-temp/image4.jpg b/client/data/images-temp/image4.jpg new file mode 100644 index 0000000..a630e21 Binary files /dev/null and b/client/data/images-temp/image4.jpg differ diff --git a/client/data/images-temp/image5.jpg b/client/data/images-temp/image5.jpg new file mode 100644 index 0000000..5cc9b02 Binary files /dev/null and b/client/data/images-temp/image5.jpg differ diff --git a/client/data/images-temp/image6.jpg b/client/data/images-temp/image6.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/images-temp/image6.jpg differ diff --git a/client/data/images-temp/image7.jpg b/client/data/images-temp/image7.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/images-temp/image7.jpg differ diff --git a/client/data/images-temp/image8.jpg b/client/data/images-temp/image8.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/images-temp/image8.jpg differ diff --git a/client/data/images-temp/image9.jpg b/client/data/images-temp/image9.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/images-temp/image9.jpg differ diff --git a/client/data/testing-images/image1.jpg b/client/data/testing-images/image1.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/testing-images/image1.jpg differ diff --git a/client/data/testing-images/image10.jpg b/client/data/testing-images/image10.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/testing-images/image10.jpg differ diff --git a/client/data/testing-images/image11.jpg b/client/data/testing-images/image11.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/testing-images/image11.jpg differ diff --git a/client/data/testing-images/image2.jpg b/client/data/testing-images/image2.jpg new file mode 100644 index 0000000..5c4ce0c Binary files /dev/null and b/client/data/testing-images/image2.jpg differ diff --git a/client/data/testing-images/image3.jpg b/client/data/testing-images/image3.jpg new file mode 100644 index 0000000..9a32863 Binary files /dev/null and b/client/data/testing-images/image3.jpg differ diff --git a/client/data/testing-images/image4.jpg b/client/data/testing-images/image4.jpg new file mode 100644 index 0000000..a630e21 Binary files /dev/null and b/client/data/testing-images/image4.jpg differ diff --git a/client/data/testing-images/image5.jpg b/client/data/testing-images/image5.jpg new file mode 100644 index 0000000..5cc9b02 Binary files /dev/null and b/client/data/testing-images/image5.jpg differ diff --git a/client/data/testing-images/image6.jpg b/client/data/testing-images/image6.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/testing-images/image6.jpg differ diff --git a/client/data/testing-images/image7.jpg b/client/data/testing-images/image7.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/testing-images/image7.jpg differ diff --git a/client/data/testing-images/image8.jpg b/client/data/testing-images/image8.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/testing-images/image8.jpg differ diff --git a/client/data/testing-images/image9.jpg b/client/data/testing-images/image9.jpg new file mode 100644 index 0000000..70b037e Binary files /dev/null and b/client/data/testing-images/image9.jpg differ diff --git a/client/main.py b/client/main.py new file mode 100644 index 0000000..2a82cb8 --- /dev/null +++ b/client/main.py @@ -0,0 +1,2364 @@ +import kivy +from kivymd.app import MDApp +from kivy.lang import Builder +from kivy.clock import Clock + +from kivymd.uix.label import MDLabel +from kivymd.uix.button import MDIconButton, MDRaisedButton +from kivymd.uix.behaviors.magic_behavior import MagicBehavior +from kivymd.uix.textfield import MDTextField +from kivymd.uix.list import OneLineAvatarIconListItem, TwoLineAvatarIconListItem, ThreeLineAvatarIconListItem, IconRightWidget, MDList +from kivymd.uix.fitimage import FitImage +from kivymd.uix.snackbar import Snackbar +from kivymd.uix.menu import MDDropdownMenu +from kivymd.uix.bottomnavigation import MDBottomNavigationItem +from kivymd.uix.list import IRightBodyTouch +from kivy.uix.camera import Camera + +from kivymd.uix.screen import MDScreen +from kivymd.uix.screenmanager import MDScreenManager +from kivy.core.window import Window +from kivymd.uix.controllers import WindowController +from kivymd.uix.dialog import MDDialog +from kivymd.uix.button import MDFlatButton + +from kivymd.uix.boxlayout import MDBoxLayout +from kivymd.uix.relativelayout import MDRelativeLayout + +import socketio +import os + +## remove before production +import time +## remove before production + +kivy.require('2.1.0') +__version__ = "0.0.2" + +# IMPORTS +import uuid as uniqueid +from modules.session.session import session_info, wait, db +from modules.session.time import timestamp +from modules.session.session import setting as setting_info +from modules.handler.request import request, account_page +from modules.handler.info import image as image_info +def generate_uuid(): + uuid = str(uniqueid.uuid4()) + return uuid + +def dict_key_verify(dictionary, keys, mode="and", *args, **kwargs): + if mode != "and" and mode != "or": + mode = "and" + if type(keys) != list: + keys = [keys] + + verified = [] + if type(keys) != list: + keys = [keys] + + for key in keys: + if type(dictionary) != dict or key not in dictionary or not dictionary[key]: + verified.append(False) + else: + verified.append(True) + + if mode == "and": + if all(verified) == True: + return True + if mode == "or": + if True in verified: + return True + return False + +def go_to(string, previous_line, file): + line = previous_line + while line != string: + line = file.readline().strip() + return line + +def read_to(string, file): + line = file.readline().strip() + lines = [] + while line != string: + lines.append(line) + line = file.readline().strip() + return lines + +def get_dialog_content(dialog_title): + with open("./data/assets/help.txt", "r") as f: + line = f.readline().strip() + line = go_to(f"[{dialog_title}:START]", line, f) + line = go_to(f"(title:START)", line, f) + title = read_to(f"(title:END)", f) + line = go_to(f"(body:START)", line, f) + body_lines = read_to(f"(body:END)", f) + + body = "" + for line in body_lines: + body += line + "\n" + body = body[:-2] + return {'title': title[0], 'body': body} + +def open_help(app, page, dialog_title): + content = get_dialog_content(dialog_title) + page.dialog_help = HelpDialog(page, app, title=content['title'], text=content['body']) + page.dialog_help.open() +# IMPORTS + +#================== socketio START ================== +sio = socketio.Client() +session = session_info() + +# http://localhost:9999 +def start_client(sio, url): + print("DEBUG: starting socketio client...") + try: + if not url: + url = "http://localhost:9999" + print(f"DEBUG: Connecting with url {url}") + sio.connect(url) + print("DEBUG: socketio client online!") + return True + except: + print("DEGUB: socketio client failed to connect!") + return False + +def stop_client(sio): + print("DEBUG: stopping socketio client...") + sio.disconnect() + +# connect/disconnect START +@sio.event +def connect(): + print("DEBUG: Connected!") + +@sio.event +def connect_error(data): + print("DEBUG: connection error") + +@sio.event +def disconnect(): + print("Disconnected") +# connect/disconnect END + +@sio.event +def recv_status(data): + session.status = data + string = f"{data['time']} | {data['level']} | {data['message']}" + print(string) +#:import Snackbar kivymd.uix.snackbar.Snackbar + +# auth START +@sio.event +def recv_token(data): + wait(session).wait_username() + session.auth_tokens.append(data['token']) + db().execute("INSERT INTO tokens(token, username, expire) VALUES(?, ?, ?)", (data['token'], session.username, data['expire'])) + +def login_cred(username="user", password="pass"): + data = {'username': username, 'password': password} + sio.emit('login', data, callback=auth) + +def auth(callback, data): + pass +# auth END + +# other events START +@sio.event +def notification(data): + pass +# other events END + +#================== socketio END ================== + + +#================== kivy START ================== + +# Utility START +class ExpandText(MDLabel): + pass + +class ExpandPage(MDScreen): + def __init__(self, expand_text, banner, previous_page, **kwargs): + super(ExpandPage, self).__init__(**kwargs) + self.expand_text = expand_text + self.previous_page = previous_page + self.load_content() + self.toolbar.title = banner + + @property + def expand_text(self): + return self._expand_text + @expand_text.setter + def expand_text(self, value): + if type(value) != str or type(value) != list: + if type(value) == str: + value = [value] + else: + value=None + self._expand_text = value + + def load_content(self): + self.text_area.clear_widgets() + for text in self.expand_text: + item = ExpandText(text=text) + self.text_area.add_widget(item) + + def back(self, app): + app.set_screen(self.previous_page.name, "right") + app.sm.remove_widget(self) + +class HelpDialog(MDDialog): + def __init__(self, page, app, **kwargs): + kwargs["buttons"] = [MDFlatButton(text="Close", on_release=self.close, theme_text_color = "Custom", text_color=app.theme_cls.primary_color), MDFlatButton(text="Turn off help?", on_release=self.settings, theme_text_color = "Custom", text_color=app.theme_cls.primary_color)] + super().__init__(**kwargs) + self.page = page + self.app = app + + def close(self, button): + self.page.dialog_help.dismiss() + + def settings(self, button): + self.close(button) + if self.page.name == "SettingsPageScreen": + return + settings_screen_name = "SettingsPageScreen" + settings_screen = SettingsPage(self.page, name=settings_screen_name) + self.app.sm.add_widget(settings_screen) + + self.app.set_screen(settings_screen_name, "left") +# Utility END + +# HomePage START +class HomeSwiper(MDBoxLayout): + @property + def username(self): + return self._username + @username.setter + def username(self, value): + self.ids.username.text = value + self._username = value + + @property + def caption(self): + return self._caption + @caption.setter + def caption(self, value): + if value == None: + value = "" + self.ids.caption.text = value + self._caption = value + + @property + def content(self): + return self._content + @content.setter + def content(self, value): + self.load_image(value) + self.ids.content.source = self.image.path + self._content = self.image.path + + def __init__(self, page, post_id, **kwargs): + super().__init__(**kwargs) + self.post_id = post_id + self.page = page + self.action_menu = None + + self.load_content() + + def load_image(self, value): + self.image = image_info(self.post_id) + self.image.load(value) + self.ids.content.source = self.image.path + + def load_content(self): + post_data = {'post_id': self.post_id} + post_content = request(sio, session).emit('post_get', post_data)['posts'] + + self.username = post_content['username'] + self.caption = post_content['caption'] + self.content = post_content['content'] + + user_impression_data = {'items': ['username'], 'post_id': self.post_id, 'impression_type': "like"} + post_likes = request(sio, session).emit('post_impression_get_post', user_impression_data)['impressions'] + + impression_data = {'post_id': self.post_id, 'impression_type': "like"} + num_post_likes = request(sio, session).emit('post_impression_count', impression_data)['impression_count'] + + self.ids.like_number.text = str(num_post_likes) + if post_likes: + for like in post_likes: + if self.page.username in like['username']: + self.ids.like.icon = "heart" + + def like(self): + server = request(sio, session) + + if self.ids.like.icon == "heart-outline": + self.ids.like.icon = "heart" + + data = {'impression_type': "like", 'post_id': self.post_id} + server.emit('post_impression_set', data, None) + self.ids.like_number.text = str(int(self.ids.like_number.text) + 1) + else: + self.ids.like.icon = "heart-outline" + + data = {'impression_type': "like", 'post_id': self.post_id, 'items': ['username','impression_id']} + impression_info = server.emit('post_impression_get_post', data) + + if dict_key_verify(impression_info, 'impressions'): + for impression in impression_info['impressions']: + if impression['username'] == self.page.username: + impression_id = impression['impression_id'] + + data = {'impression_type': "like", 'impression_id': impression_id} + server.emit('post_impression_delete', data, None) + self.ids.like_number.text = str(int(self.ids.like_number.text) - 1) + + def switch_to_comments(self, app, direction='up'): + comments_screen_name = "CommentsPageScreen_"+self.post_id + comments_screen = CommentsPage(self.post_id, name=comments_screen_name) + app.sm.add_widget(comments_screen) + app.set_screen(comments_screen_name, direction) + + def post_options(self, app, direction='right'): + data = {'post_id': self.post_id} + delete_allowed = request(sio, session).emit("post_get_permissions", data)['delete'] + + if delete_allowed: + profile_item = {'text': "view profile", 'viewclass': "OneLineListItem", 'on_release': lambda x=app: self.switch_to_account(app)} + delete_item = {'text': "delete post", 'viewclass': "OneLineListItem", 'on_release': lambda: self.delete_post()} + items = [profile_item, delete_item] + self.action_menu = MDDropdownMenu(caller=self.account_button, items=items, width_mult=3) + self.action_menu.open() + else: + self.switch_to_account(app, direction) + + def delete_post(self): + if self.action_menu: + self.action_menu.dismiss() + data = {'post_id': self.post_id} + request(sio, session).emit("post_delete", data, None) + self.page.home_swiper_grid.remove_widget(self) + if len(self.page.home_swiper_grid.children) == 1: + self.page.load_home() + + def switch_to_account(self, app, direction='right'): + if self.action_menu: + self.action_menu.dismiss() + self.page.switch_to_account(app, self.username, direction) + +class HomeLoadButton(MDBoxLayout): + def __init__(self, **kwargs): + if 'home_obj' in kwargs and kwargs['home_obj']: + if kwargs['home_obj']: + self.home_obj = kwargs['home_obj'] + del kwargs['home_obj'] + super().__init__(**kwargs) + + def load_content(self): + self.home_obj.home_swiper_grid.remove_widget(self) + self.home_obj.load_home() + +class NoPostLabel(MDBoxLayout): + pass + +class MemoriesMonth(MDBoxLayout): + def get_memories_swiper_height(self): + swiper_height = Window.height * 0.8 * 0.02 + return swiper_height + +class SwiperMagicButton(MagicBehavior,MDIconButton): + pass + +class MemoriesSwiper(MDBoxLayout): + pass + +class OccupationPageButton(MDRaisedButton): + def __init__(self, tab, page, **kwargs): + super().__init__(**kwargs) + self.tab = tab + self.page = page + + def switch_to_occupation(self, app): + self.tab.switch_to_occupation(app) + +class OrganisationBottomItem(MDBottomNavigationItem): + def __init__(self, page, username, **kwargs): + super().__init__(**kwargs) + self.page = page + self.load_content() + self.username = username + + def load_content(self): + occupation_button = OccupationPageButton(self, self.page) + level = request(sio, session).emit('auth_get')['level'] + if level != "member": + self.occupation_button_area.add_widget(occupation_button) + + def switch_to_occupation(self, app, direction="left"): + occupation_screen_name = "OccupationPageScreen" + occupation_screen = OccupationPage(self.page, name=occupation_screen_name) + + app.sm.add_widget(occupation_screen) + app.set_screen(occupation_screen_name, direction) + + def switch_to_team(self, app, direction="left"): + team_screen_name = "TeamPageScreen" + team_screen = TeamPage(self.page, self.username, name=team_screen_name) + + app.sm.add_widget(team_screen) + app.set_screen(team_screen_name, direction) + +class MonthListItem(OneLineAvatarIconListItem): + def __init__(self, date, posts, month_list, **kwargs): + super().__init__(**kwargs) + self.month_list = month_list + self.posts = posts + self.date = date + + def day_view(self): + day_list = DayList(self.date, self.posts, self.month_list) + self.month_list.page.root_scroll.remove_widget(self.month_list) + self.month_list.page.root_scroll.add_widget(day_list) + +class MonthList(MDBoxLayout): + def __init__(self, page, **kwargs): + super().__init__(**kwargs) + self.page = page + self.back_stack = [self] + self.load_content() + + def load_content(self): + month_list = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] + data = {'items': ['post_id', 'date']} + post_response = request(sio, session).emit("post_get_memories", data) + + if dict_key_verify(post_response, 'posts'): + posts = post_response['posts'] + post_months = {} + + for post in posts: + if dict_key_verify(post, 'date'): + date = post['date'] + date_list = date.split("-") + if dict_key_verify(post_months, date): + post_months[date].append(post) + else: + post_months[date] = [post] + + for post_group in post_months: + date = post_group.split("-") + month_name = month_list[int(date[1])-1] + date_string = date[0] + ": " + month_name + + item = MonthListItem(date, post_months[post_group], self, text=date_string) + self.scroll.add_widget(item) + + else: + item = OneLineAvatarIconListItem(text="No memories :(") + self.scroll.add_widget(item) + +class DayListItem(OneLineAvatarIconListItem): + def __init__(self, date, post, day_list, **kwargs): + super().__init__(**kwargs) + self.day_list = day_list + self.post = post + self.date = date + + def post_open(self): + memory = MemoryLayout(self.post, self.day_list) + area = self.day_list.month_list.page.root_scroll + area.clear_widgets() + area.add_widget(memory) + +class DayList(MDBoxLayout): + def __init__(self, date, posts, month_list, **kwargs): + super().__init__(**kwargs) + self.month_list = month_list + self.posts = posts + self.date = date + self.back_stack = self.month_list.back_stack + + self.back_stack.append(self) + self.load_content() + + def load_content(self): + for post in self.posts: + date_string = self.date[2] + item = DayListItem(self.date, post, self, text=date_string) + self.scroll.add_widget(item) + + def back(self): + last = len(self.back_stack)-1 + self.month_list.page.root_scroll.clear_widgets() + self.month_list.page.root_scroll.add_widget(self.back_stack[last-1]) + self.back_stack.pop(last) + +class MemoryLayout(MDBoxLayout): + def __init__(self, post, day_list, **kwargs): + super().__init__(**kwargs) + self.post = post + self.day_list = day_list + self.page = self.day_list.month_list.page + self.back_stack = self.day_list.back_stack + + self.back_stack.append(self) + self.load_content() + + def remove_username(self, post): + post.ids.username.text = self.post['date'] + post.ids.profile_area.remove_widget(post.ids.account_button) + + def load_content(self): + post = HomeSwiper(self.page, self.post['post_id']) + self.remove_username(post) + self.post_area.add_widget(post) + +class HomePage(MDScreen, WindowController): + def __init__(self, username=None, app=None, **kwargs): + super().__init__(**kwargs) + post_login() + + self.username = username + self.app = app + + self.account_screens = [] + self.notifications_screens = [] + self.settings_screen = None + self.settings_screen_name = None + + self.posts_displayed = [] + self.post_exist = False + self.camera_widget_exists = False + self.camera_page_screen = None + + self.organisation_item_exists = False + + self.post_slot = request(sio, session).emit("post_slot_get") + self.posted_today() + self.load_content() + + self.selected_tab = "Home" + self.help_tool = ["help", lambda x: self.open_help(self.app)] + + def login(self): + login_cred() + + def load_content(self): + self.load_home() + self.load_memories() + self.load_organisation() + Clock.schedule_interval(self.check_post_time, 1) + self.load_toolbar() + + def load_toolbar(self): + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + else: + toolbar_len = len(self.toolbar.right_action_items) + for i in range(toolbar_len): + if self.toolbar.right_action_items[i][0] == "help": + return + new_toolbar = [self.help_tool] + self.toolbar.right_action_items[0:] + self.toolbar.right_action_items = new_toolbar + + def on_tab_press(self, name): + self.selected_tab = name + + def open_help(self, app): + level = request(sio, session).emit('auth_get')['level'] + + if self.selected_tab == "Home": + open_help(app, self, "Home") + elif self.selected_tab == "Memories": + open_help(app, self, "Memories") + elif self.selected_tab == "Organisation" and level == "member": + open_help(app, self, "Organisation") + elif self.selected_tab == "Organisation" and level != "member": + open_help(app, self, "Organisation-admin") + + # SWITCHING + def switch_to_settings(self, app, direction='left'): + settings_screen_name = "SettingsPageScreen" + settings_screen = SettingsPage(self, name=settings_screen_name) + app.sm.add_widget(settings_screen) + + app.set_screen(settings_screen_name, direction) + + def switch_to_account(self, app, username=None, direction='right', *args, **kwargs): + if not username: + username = self.username + account_screen_name = "AccountPageScreen_"+username + + account_screen = AccountPage(username, self, name=account_screen_name) + app.sm.add_widget(account_screen) + app.set_screen(account_screen_name, direction) + + def switch_to_notifications(self, app, username=None, direction='right', *args, **kwargs): + if not username: + username = self.username + notifications_screen_name = "NotificationsScreen-"+username + notifications_screen = NotificationsPage(username, self, name=notifications_screen_name) + app.sm.add_widget(notifications_screen) + app.set_screen(notifications_screen_name, direction) + + # FETCHING DATA + def fetch_posts(self): + data = {'items': ['post_id']} + posts = request(sio, session).emit('post_get_feed', data)['posts'] + post_list = [] + + if self.post_made: + post = request(sio, session).emit("post_get_user") + if dict_key_verify(post, "posts"): + post = post['posts'] + if dict_key_verify(post, "post_id"): + if post['post_id'] not in self.posts_displayed: + post_list.append(post) + + if posts: + for i, post in enumerate(posts): + if post: + post_list.append(post) + + return post_list + + # HOME + def load_home(self): + posts = self.fetch_posts() + post_list = [] + + if posts: + for i, post in enumerate(posts): + if post['post_id'] not in self.posts_displayed: + + exists = False + for existing_post in post_list: + if existing_post['post_id'] == post['post_id']: + exists = True + + if not exists: + post_list.append(post) + + posts = post_list + + for i, post in enumerate(posts): + if not self.post_exist: + self.home_swiper_grid.clear_widgets() + self.post_exist = True + home_swiper = HomeSwiper(self, post['post_id']) + + if i == 0: + first_home_swiper = home_swiper + + # adds your own post to the top of the post list + # its done in this way below because there is no way to pre-pend with kivy widgets + # the only way is to manually modify the child list which is not recomended + if home_swiper.username == self.username: + # saves the previous post list + old_grid = self.home_swiper_grid.children[1:] + # clears the grid + self.home_swiper_grid.clear_widgets() + # adds your new post at the top + self.home_swiper_grid.add_widget(home_swiper) + + # adds the rest of the previous posts + for old_post in old_grid: + self.home_swiper_grid.add_widget(old_post) + first_home_swiper = home_swiper + else: + self.home_swiper_grid.add_widget(home_swiper) + + self.posts_displayed.append(post['post_id']) + if i == 4: + break + + if "first_home_swiper" in locals(): + self.home_swiper_scroll.scroll_to(first_home_swiper) + + if not posts: + Snackbar(text="Sorry, no more posts").open() + + else: + if not self.post_exist: + self.home_swiper_grid.clear_widgets() + self.home_swiper_grid.add_widget(NoPostLabel()) + + self.load_more_button = HomeLoadButton(home_obj=self) + self.home_swiper_grid.add_widget(self.load_more_button) + + def get_home_swiper_height(self): + swiper_height = Window.height * 0.70 + return swiper_height + + # MEMORIES + def get_memories_swiper_height(self): + month_height = self.get_memories_month_height() + swiper_height = month_height * 0.8 * 0.02 + return swiper_height + + def get_memories_month_height(self): + month_height = Window.height * 2 + return month_height + + def load_memories(self): + self.root_scroll.clear_widgets() + item = MonthList(self) + self.root_scroll.add_widget(item) + + # STATS + def load_stats(self): + pass + + # ORGANISATION + def load_organisation(self): + if not self.organisation_item_exists: + self.organisation_item_exists = True + self.bottom_navigation.add_widget(OrganisationBottomItem(self, self.username)) + + # SIZE + def update(self): + self.home_swiper_grid.row_default_height = self.get_home_swiper_height() + + def on_size(self, *args): + self.update() + + # Post time + def posted_today(self): + date = {'items': ['date']} + posts = request(sio, session).emit("post_get_memories", date)['posts'] + if posts: + date = request(sio, session).emit("get_date")['date'] + for post in posts: + if date == post['date']: + self.post_made = True + return + self.post_made = False + + def check_post_time(self, dt): + now = timestamp().now + if self.post_slot['post_slot_start'] < now and self.post_slot['post_slot_end'] > now and not self.post_made: + if not self.camera_widget_exists: + self.toolbar.right_action_items.append(["camera", lambda x: self.switch_to_camera(self.app, direction='up')]) + self.camera_widget_exists = True + else: + for i, action_item in enumerate(self.toolbar.right_action_items): + if "camera" in action_item: + self.toolbar.right_action_items.pop(i) + break + + def switch_to_camera(self, app, direction="up"): + camera_page_screen_name = "CameraPageScreen" + self.camera_page_screen = CameraPage(self, name=camera_page_screen_name) + app.sm.add_widget(self.camera_page_screen) + app.set_screen(camera_page_screen_name, direction) + + # First time + def check_first_time(self, app): + occupation = request(sio, session).emit("occupation_get") + profile = request(sio, session).emit("profile_get", {'items': ['role', 'name']}) + friends = request(sio, session).emit("friend_get")['friends'] + if not occupation['occupation_id'] and not friends and not profile['role'] and not profile['name']: + first_time_page_screen_name = "FirstTimePage" + first_time_page_screen = FirstTimePage(name=first_time_page_screen_name) + app.sm.add_widget(first_time_page_screen) + app.set_screen(first_time_page_screen_name, "down") +# HomePage END + + +# Comments START +class CommentContainer(IRightBodyTouch, MDBoxLayout): + pass + +class Comment(TwoLineAvatarIconListItem): + def __init__(self, username, comment_id, page, **kwargs): + super().__init__(**kwargs) + self.username = username + self.comment_id = comment_id + self.page = page + self.screen_prefix = "comment" + self.action_menu = None + + self.load_content() + + def liked_previously(self): + data = {'comment_id': self.comment_id} + impressions = request(sio, session).emit("comment_impression_get_comment", data)['impressions'] + + if impressions: + for impression in impressions: + if dict_key_verify(impression, "username"): + if session.username == impression['username']: + self.impression_id = impression['impression_id'] + return True + return False + + def load_content(self): + if self.liked_previously(): + self.like_button.icon = "heart" + + data = {'impression_type': "like", 'comment_id': self.comment_id} + count = request(sio, session).emit("comment_impression_count", data)['impression_count'] + self.like_count.text = str(count) + + def expand(self, app): + expand_page_name = f"{self.screen_prefix}_expand_page_{self.username}" + expand_page = ExpandPage(self.secondary_text, self.text+"'s comment", self.page, name=expand_page_name) + app.sm.add_widget(expand_page) + app.set_screen(expand_page_name, "left") + + def like(self): + if self.like_button.icon == "heart-outline": + data = {'impression_type': "like", 'comment_id': self.comment_id} + request(sio, session).emit('comment_impression_set', data, None) + if self.liked_previously(): + self.like_button.icon = "heart" + self.like_count.text = str(int(self.like_count.text)+1) + else: + self.like_button.icon = "heart-outline" + data = {'impression_id': self.impression_id} + request(sio, session).emit("comment_impression_delete", data, None) + self.like_count.text = str(int(self.like_count.text)-1) + + def profile(self, app): + if self.action_menu: + self.action_menu.dismiss() + account_page_name = f"{self.screen_prefix}_account_page_{self.username}" + account_page = AccountPage(self.username, self.page, remove_on_exit=True, name=account_page_name) + app.sm.add_widget(account_page) + app.set_screen(account_page_name, "right") + + def delete_comment(self): + if self.action_menu: + self.action_menu.dismiss() + data = {'comment_id': self.comment_id} + request(sio, session).emit("comment_delete", data, None) + self.page.comment_stack.remove_widget(self) + if not self.page.comment_stack.children: + self.page.load_content() + + def action_options(self, app): + data = {'comment_id': self.comment_id} + delete_allowed = request(sio, session).emit("comment_get_permissions", data)['delete'] + + if delete_allowed: + profile_item = {'text': "view profile", 'viewclass': "OneLineListItem", 'on_release': lambda x=app: self.profile(app)} + delete_item = {'text': "delete comment", 'viewclass': "OneLineListItem", 'on_release': lambda: self.delete_comment()} + items = [profile_item, delete_item] + self.action_menu = MDDropdownMenu(caller=self.profile_button, items=items, width_mult=3) + self.action_menu.open() + else: + self.profile(app) + +class CommentsPage(MDScreen): + def __init__(self, post_id, **kwargs): + super(CommentsPage, self).__init__(**kwargs) + self.post_id = post_id + self.comments = [] + self.comments_exist = False + self.load_content() + + def get_comments(self): + data = {'post_id': self.post_id} + comments = request(sio, session).emit("comment_get_post", data)['comments'] + return comments + + def add_comment(self, comment): + if not self.comments: + self.comment_stack.clear_widgets() + + comment_id = comment['comment_id'] + username = comment['username'] + + comment_item = Comment(username, comment_id, self, text=username, secondary_text=comment['content']) + self.comments.append(comment_id) + self.comment_stack.add_widget(comment_item) + + # LOADING + def load_content(self): + self.comment_stack.clear_widgets() + comments = self.get_comments() + + if comments: + for comment in comments: + self.add_comment(comment) + else: + item = OneLineAvatarIconListItem(text="No comments :(") + self.comment_stack.add_widget(item) + + def submit(self): + content = self.comment_field.text + data = {'post_id': self.post_id, 'content': content} + request(sio, session).emit("comment_set", data, None) + self.comment_field.text = "" + comments = self.get_comments() + for comment in comments: + if comment['username'] == session.username and comment['content'] == content and comment['comment_id'] not in self.comments: + self.add_comment(comment) + break + + # SWITCHING + def switch_to_home(self, app): + app.set_screen("HomePageScreen", 'down') + app.sm.remove_widget(self) +# Comments END + + +# Post START +class CameraPage(MDScreen): + def __init__(self, previous_page, **kwargs): + super(CameraPage, self).__init__(**kwargs) + self.path = "data/images/post.png" + self.post_slot = request(sio, session).emit("post_slot_get") + self.previous_page = previous_page + Window.size = (800, 600) + + self.load_content() + self.refresh_time() + Clock.schedule_interval(self.refresh_time, 1) + + def load_content(self): + self.camera = Camera(play=True) + self.camera_area.add_widget(self.camera) + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "Camera") + + def format_time(self, time_left): + time_left = int(time_left) + seconds = time_left%60 + minutes = time_left//60 + hours = 0 + if minutes > 60: + hours = minutes//60 + minutes = minutes - hours*60 + time_format = f"{hours}:{minutes}:{seconds}" + return time_format + + def refresh_time(self, dt=None): + length = self.post_slot['post_slot_end'] - self.post_slot['post_slot_start'] + time_in = timestamp().now - self.post_slot['post_slot_start'] + time_left = round(length - time_in, 2) + time_format = self.format_time(time_left) + self.toolbar.title = f"Time left: {time_format}" + + def capture(self, app): + self.camera.export_to_png(self.path) + self.camera_to_post(app) + + def camera_to_post(self, app): + post_review_page_screen_name = "PostReviewPage" + post_review_page_screen = PostReviewPage(self, self.path, name=post_review_page_screen_name) + app.sm.add_widget(post_review_page_screen) + app.set_screen(post_review_page_screen_name, "left") + + def exit(self, app): + app.set_screen("HomePageScreen", "down") + app.sm.remove_widget(self) + Window.size = (800, 1000) + +class PostReviewPage(MDScreen): + def __init__(self, camera_page, path, **kwargs): + super(PostReviewPage, self).__init__(**kwargs) + self.path = path + self.camera_page = camera_page + self.post_slot = request(sio, session).emit("post_slot_get") + + self.load_content() + self.refresh_time() + Clock.schedule_interval(self.refresh_time, 1) + + def load_content(self): + self.image.source = self.path + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "PostReview") + + def refresh_time(self, dt=None): + length = self.post_slot['post_slot_end'] - self.post_slot['post_slot_start'] + time_in = timestamp().now - self.post_slot['post_slot_start'] + time_left = round(length - time_in, 2) + time_format = self.camera_page.format_time(time_left) + self.toolbar.title = f"Time left: {time_format}" + + def post(self, app): + with open(self.path, "rb") as image: + image_data = image.read() + data = {'content': image_data, 'caption': self.caption.text} + request(sio, session).emit("post_set", data, None) + self.camera_page.previous_page.post_made = True + self.image.source = "" + os.remove(self.path) + self.exit(app, "down") + + self.camera_page.previous_page.load_memories() + self.camera_page.previous_page.load_home() + + def retake(self, app): + os.remove(self.path) + self.post_to_camera(app) + + def post_to_camera(self, app, direction="right"): + app.set_screen(self.camera_page.name, direction) + self.ids.image_area.remove_widget(self.image) + app.sm.remove_widget(self) + + def exit(self, app, direction="down"): + app.set_screen("HomePageScreen", "down") + if not self.camera_page.previous_page.post_made: + os.remove(self.path) + app.sm.remove_widget(self.camera_page) + app.sm.remove_widget(self) + Window.size = (800, 1000) +# Post END + + +# Acccount START +class ProfileInfo(TwoLineAvatarIconListItem): + def __init__(self, account_page=None, info_type=None, **kwargs): + super().__init__(**kwargs) + self.info_type = info_type + self.account_page = account_page + + def set_title(self, text): + if text and type(text) == str: + text = (text.replace("_", " ")).capitalize() + self.text = text + + def set_content(self, text): + if text and type(text) == str: + self.secondary_text = text + + def make_editable(self): + button = InfoEditButton(self.account_page, self.info_type) + self.add_widget(button) + +class InfoEditButton(IconRightWidget): + def __init__(self, account_page_obj=None, info_type=None, **kwargs): + super().__init__(**kwargs) + self.info_type = info_type + self.account_page_obj = account_page_obj + self.account_page_obj.currently_editing = None + + def change_info(self): + if self.icon == "pencil": + if self.account_page_obj.currently_editing: + self.account_page_obj.currently_editing.icon = "pencil" + self.account_page_obj.currently_editing = self + self.account_page_obj.picture_to_textbox(self.info_type) + else: + self.account_page_obj.textbox_to_picture() + +class BioEditButton(MDIconButton): + def __init__(self, account_page_obj=None, info_type="biography", **kwargs): + super().__init__(**kwargs) + self.info_type = info_type + self.account_page_obj = account_page_obj + self.account_page_obj.currently_editing = None + + def change_info(self): + if self.icon == "pencil": + if self.account_page_obj.currently_editing: + self.account_page_obj.currently_editing.icon = "pencil" + self.account_page_obj.currently_editing = self + self.account_page_obj.picture_to_textbox(self.info_type) + else: + self.account_page_obj.textbox_to_picture() + +class ProfilePicture(FitImage): + pass + +class InfoChangeBox(MDBoxLayout): + def __init__(self, page, info_type, username=session.username, **kwargs): + super().__init__(**kwargs) + self.username = username + self.info_type = info_type + self.page = page + + self.load_content() + + def load_content(self): + self.text_field.text = self.page.info[self.info_type] + + def save(self): + new_value = self.text_field.text + self.page.info[self.info_type] = new_value + account_page(sio).set_profile(self.info_type, new_value, self.username) + self.page.textbox_to_picture() + +class OccupationChange(MDBoxLayout): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.occupations = request(sio, session).emit('occupation_get_all') + self.current_selection = None + self.occupations_info = [] + self.menu = None + if page: + self.page = page + + def selection_menu(self): + if dict_key_verify(self.occupations, 'occupations'): + self.occupations_info = self.occupations['occupations'] + items = [] + for i, occupation in enumerate(self.occupations_info): + item = {'text': occupation['name'], 'viewclass': "OneLineListItem", 'on_release': lambda x=i: self.selection(x)} + items.append(item) + self.menu = MDDropdownMenu(caller=self.occupation_select, items=items, width_mult=2) + self.menu.open() + else: + message = "No occupations" + Snackbar(text=message).open() + + def selection(self, item_num): + self.occupation_select.text = self.occupations_info[item_num]['name'] + self.occupation_description.text = self.occupations_info[item_num]['description'] + self.current_selection = item_num + self.menu.dismiss() + + +class UserOccupationChange(OccupationChange): + def __init__(self, page=None, **kwargs): + super().__init__(page, **kwargs) + self.load_content() + + def cancel(self): + request(sio, session).emit('occupation_delete_request', {}, None) + message = f"{session.status['level']}: {session.status['message']}" + Snackbar(text=message).open() + self.load_content() + self.page.textbox_to_picture() + + def submit(self): + if self.current_selection or self.current_selection == 0: + data = {'occupation_id': self.occupations_info[self.current_selection]['occupation_id']} + request(sio, session).emit('occupation_set_request', data, None) + else: + message = "No selection made" + Snackbar(text=message).open() + self.load_content() + self.occupation_select.text = "Select an occupation" + self.occupation_description.text = "" + self.page.textbox_to_picture() + + def load_content(self): + occupation_request = request(sio, session).emit('occupation_get_request') + if dict_key_verify(occupation_request, 'occupation_id'): + occupation = request(sio, session).emit('occupation_get', {'occupation_id': occupation_request['occupation_id']}) + + if occupation: + self.request_occupation.text = occupation['name'] + + if occupation_request['approved']: + request_status = "Approved" + else: + request_status = "Pending" + + self.request_status.text = "Status: "+request_status + else: + Snackbar(text=session.status).open() + +class ManagementOccupationChange(OccupationChange): + def __init__(self, page, **kwargs): + super().__init__(**kwargs) + self.page = page + + def submit(self): + if self.occupations_info: + data = {'occupation_id': self.occupations_info[self.current_selection]['occupation_id']} + request(sio, session).emit('occupation_set', data, None) + message = f"{session.status['message']}" + self.occupation_select.text = "Select an occupation" + self.occupation_description.text = "" + else: + message = f"No occupation selected" + Snackbar(text=message).open() + + if self.occupations_info: + self.page.textbox_to_picture() + +class AccountPage(MDScreen): + def __init__(self, username=session.username, previous_page=None, remove_on_exit=True, **kwargs): + super(AccountPage, self).__init__(**kwargs) + self.username = username + self.info_objs = [] + self.bio_edit_button = None + self.load_content() + self.friend_page_screen = None + self.remove_on_exit = remove_on_exit + if previous_page == None: + self.previous_page = "HomePageScreen" + else: + self.previous_page = previous_page.name + + def load_content(self): + self.above_info.clear_widgets() + self.profile_info_view.clear_widgets() + if self.bio_edit_button: + self.profile_bio_view.remove_widget(self.bio_edit_button) + + req = request(sio, session) + data = {'username': self.username} + self.info = req.emit("profile_get", data) + + permissions_data = {'username': session.username, 'target_username': self.username} + self.permissions = req.emit("profile_get_permissions", permissions_data) + + if self.username != session.username: + self.toolbar.title = self.username+"'s Profile" + + level = req.emit('auth_get')['level'] + if level == "member": + self.toolbar.left_action_items = [] + + if dict_key_verify(self.info, "occupation_id"): + team_data = {'occupation_id': self.info['occupation_id'], 'items': ["name"]} + self.info['team'] = req.emit("team_get", team_data)['name'] + + occupation_data = {'occupation_id': self.info['occupation_id'], 'items': ["name"]} + self.info['occupation'] = req.emit("occupation_get", occupation_data)['name'] + else: + self.info['team'] = "" + self.info['occupation'] = "" + del self.info['occupation_id'] + + self.info['username'] = self.username + order = ['username', 'name', 'role', 'occupation', 'team'] + + self.bio_edit_button = BioEditButton(self) + if self.info['biography']: + self.biography_content.text = self.info['biography'] + else: + self.biography_content.text = "" + self.info['biography'] = "" + if self.permissions['edit']: + self.profile_bio_view.add_widget(self.bio_edit_button) + + for key in order: + if not self.info[key]: + self.info[key] = "" + profile_info = ProfileInfo(self, key) + if self.permissions['edit'] and key in ['name', 'role', 'occupation', 'team']: + profile_info.make_editable() + profile_info.set_title(key) + profile_info.set_content(self.info[key]) + self.profile_info_view.add_widget(profile_info) + self.info_objs.append(profile_info) + + self.profile_picture = ProfilePicture() + self.above_info.add_widget(self.profile_picture) + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "Profile") + + def refresh_content(self): + self.load_content() + + def picture_to_textbox(self, info_type): + self.currently_editing.icon = "close" + self.above_info.clear_widgets() + level = request(sio, session).emit('auth_get')['level'] + if info_type == 'occupation' or info_type == 'team': + if level == "member": + self.change = UserOccupationChange(self) + else: + self.change = ManagementOccupationChange(self) + else: + self.change = InfoChangeBox(self, info_type, self.username) + self.above_info.add_widget(self.change) + + def textbox_to_picture(self): + self.above_info.clear_widgets() + self.above_info.add_widget(self.profile_picture) + self.currently_editing.icon = "pencil" + self.refresh_content() + + def switch_to_friend(self, app, direction="right"): + friend_page_screen_name = "FriendPageScreen_" + self.username + friend_page_screen = FriendPage(self, self.username, name=friend_page_screen_name) + app.sm.add_widget(friend_page_screen) + app.set_screen(friend_page_screen_name, direction) + + def back(self, app, direction="left"): + app.set_screen(self.previous_page, direction) + if self.remove_on_exit: + app.sm.remove_widget(self) +# Acccount END + + +# Settings START +class SettingRoot(MDBoxLayout): + def __init__(self, title, page, **kwargs): + super().__init__(**kwargs) + self.title = title + self.page = page + self.load_content() + + def load_content(self): + self.setting = setting_info(self.title) + self.set_title(self.setting.title) + self.set_description(self.setting.description) + self.setting_icon.icon = self.setting.icon + + def set_title(self, text): + if text and type(text) == str: + self.setting_title.text = text + + def set_description(self, text): + if text and type(text) == str: + self.setting_description.text = text + +class SettingSwitch(SettingRoot): + def load_content(self): + super().load_content() + self.toggle.active = self.setting.value + + def on_toggle(self, app): + self.page.help_tool = ["help", lambda app: self.page.open_help(app)] + self.setting.change_value(self.toggle.active) + self.page.load_toolbar() + app.homepage_screen.load_toolbar() + +class SettingTextField(SettingRoot): + def __init__(self, title, **kwargs): + super().__init__(title, **kwargs) + self.submission_func = self.submit_url + + def load_content(self): + super().load_content() + self.input_field.text = self.setting.value + + def submit_func(self): + self.setting.change_value(self.input_field.text) + self.submission_func() + self.page.load_toolbar() + app.homepage_screen.load_toolbar() + + def submit_url(self): + self.error = True + + try: + result = urlopen(self.text) + except HTTPError as e: + pass + except URLError as e: + pass + except ValueError as e: + pass + + else: + self.error = False + +class ShutdownButton(MDRaisedButton): + def __init__(self, page, **kwargs): + super().__init__(**kwargs) + self.page = page + + def shutdown(self, app): + request(sio, session).emit("shutdown", None, None) + #app.disconnected() + +class SettingsPage(MDScreen): + def __init__(self, previous_page, **kwargs): + super(SettingsPage, self).__init__(**kwargs) + self.previous_page = previous_page + + self.load_content() + + def load_content(self): + self.settings_stack.clear_widgets() + settings = db().execute("SELECT title, state FROM settings") + if settings: + for setting in settings: + if setting[1] != None: + setting_obj = SettingSwitch(setting[0], self) + else: + setting_obj = SettingTextField(setting[0], self) + + self.settings_stack.add_widget(setting_obj) + + self.level = request(sio, session).emit('auth_get')['level'] + if self.level == "admin": + button = ShutdownButton(self) + self.static_buttons.add_widget(button) + + self.load_toolbar() + + def load_toolbar(self): + if not self.toolbar.right_action_items: + self.toolbar.right_action_items = [self.help_tool] + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "Settings") + + def logout(self, app): + clean_directories() + session.clear() + app.switch_to_login() + + def back(self, app): + app.sm.remove_widget(self) + self.previous_page.load_content() + app.set_screen(self.previous_page.name, "right") +# Settings END + + +# Notification START +class NotificationItem(TwoLineAvatarIconListItem): + def __init__(self, page, notification_id, username, **kwargs): + super().__init__(**kwargs) + self.notification_id = notification_id + self.username = username + self.page = page + self.content = "" + + def set_title(self, text): + if text and type(text) == str: + self.text = text + self.title = text + + def set_content(self, text): + if text and type(text) == str: + self.secondary_text = text + self.content = text + + def delete(self): + data = {'notification_id': self.notification_id, 'username': self.username} + request(sio, session).emit('notification_remove', data, None) + self.page.notification_stack.remove_widget(self) + self.page.load_content() + + def expand(self, app): + expand_page = ExpandPage([self.title, self.content], app) + app.sm.add_widget(expand_page) + +class NotificationsPage(MDScreen): + def __init__(self, username=None, previous_page=None, **kwargs): + super(NotificationsPage, self).__init__(**kwargs) + session.notification_page = self + self.username = username + self.previous_page = previous_page + self.notifications = None + self.load_content() + + def load_content(self): + self.notifications = request(sio, session).emit('notification_get', {'username': self.username})['notifications'] + self.notification_stack.clear_widgets() + + if self.notifications: + for notification in self.notifications: + notification_obj = NotificationItem(self, notification['notification_id'], self.username) + + if dict_key_verify(notification, 'title'): + notification_obj.set_title(notification['title']) + if dict_key_verify(notification, 'content'): + content_text = notification['content'] + notification_obj.set_content(content_text) + + self.notification_stack.add_widget(notification_obj) + else: + item = OneLineAvatarIconListItem(text="No notifications") + self.notification_stack.add_widget(item) + + if self.username and self.username != session.username: + self.toolbar.title = self.username+"'s Notifications" + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + + def open_help(self, app): + open_help(app, self, "Notifications") + + def add_notification(self, notification): + notification_item = NotificationItem(self, notification['notification_id'], self.username) + content_text = notification['title'] + if dict_key_verify(notification, 'content'): + notification_item.set_content(notification['content']) + + self.notification_stack.add_widget(notification_item) + + def back(self, app, direction="left"): + app.set_screen(self.previous_page.name, direction) + app.sm.remove_widget(self) +# Notification END + + +# Friend START +class BaseFriendItem(OneLineAvatarIconListItem): + def __init__(self, obj=None, **kwargs): + super().__init__(**kwargs) + self.page_obj = obj + self.friend_profile_screen_name = None + self.friend_profile_screen = None + + def refresh_content(self): + if self.page_obj: + self.page_obj.load_content() + + def profile(self, app): + new_friend_profile_screen_name = self.profile_prefix+"ProfilePage"+self.text + if new_friend_profile_screen_name != self.friend_profile_screen_name: + if self.friend_profile_screen_name: + app.sm.remove_widget(self.friend_profile_screen) + self.friend_profile_screen_name = new_friend_profile_screen_name + self.friend_profile_screen = AccountPage(self.text, self.page_obj, name=self.friend_profile_screen_name) + app.sm.add_widget(self.friend_profile_screen) + app.set_screen(self.friend_profile_screen_name, "right") + +class IncomingRequestItem(BaseFriendItem): + def __init__(self, obj=None, **kwargs): + super().__init__(obj, **kwargs) + self.profile_prefix = "IncomingRequest" + + def accept(self): + self.verdict('approve') + + def reject(self): + self.verdict('reject') + + def verdict(self, verdict): + data = {'friend_username': self.text} + request(sio, session).emit('friend_'+verdict+'_request', data, None) + self.refresh_content() + self.page_obj.friend_page.load_content() + +class OutgoingRequestItem(BaseFriendItem): + def __init__(self, obj=None, **kwargs): + super().__init__(obj, **kwargs) + self.profile_prefix = "OutgoingRequest" + + def cancel(self): + data = {'friend_username': self.text} + request(sio, session).emit('friend_remove_request', data, None) + self.refresh_content() + +class RecomendationItem(BaseFriendItem): + def __init__(self, obj=None, **kwargs): + super().__init__(obj, **kwargs) + self.profile_prefix = "" + + def add_friend(self): + self.page_obj.add_friend(self.text) + +class FriendItem(BaseFriendItem): + def __init__(self, obj=None, **kwargs): + super().__init__(obj, **kwargs) + self.profile_prefix = "Friend" + + def remove(self): + data = {'friend_username': self.text} + request(sio, session).emit('friend_remove', data, None) + self.refresh_content() + +class FriendPage(MDScreen): + def __init__(self, account_page, username, **kwargs): + super(FriendPage, self).__init__(**kwargs) + self.account_page = account_page + self.username = username + self.friend_request_screens = [] + self.load_content() + + def load_content(self): + data = {'username': self.username} + self.friends = request(sio, session).emit("friend_get")['friends'] + self.friend_list.clear_widgets() + + if self.friends: + for friend in self.friends: + friend_info = FriendItem(self, text=friend['username']) + self.friend_list.add_widget(friend_info) + else: + friend_info = OneLineAvatarIconListItem(text="No friends") + self.friend_list.add_widget(friend_info) + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.left_action_items): + if option[0].lower() == "help": + self.toolbar.left_action_items.pop(i) + self.account_page.load_content() + + def open_help(self, app): + open_help(app, self, "Friends") + + def switch_to_friend_request(self, app, username=None, direction='right'): + if not username: + username = self.username + friend_request_screen_name = "FriendRequestPageScreen_"+username + friend_request_screen = FriendRequestPage(self, username, name=friend_request_screen_name) + app.sm.add_widget(friend_request_screen) + + app.set_screen(friend_request_screen_name, direction) + + def switch_to_account(self, app): + app.set_screen(self.account_page.name, "left") + app.sm.remove_widget(self) + +class FriendRequestPage(MDScreen): + def __init__(self, friend_page, username, **kwargs): + super(FriendRequestPage, self).__init__(**kwargs) + self.username = username + self.friend_page = friend_page + self.load_content() + + def _get_request(self, mode="incoming", username=None): + requests_data = request(sio, session).emit("friend_get_requests", {'username': username, 'mode': mode}) + if dict_key_verify(requests_data, "requests"): + requests = requests_data['requests'] + else: + requests = [] + return requests + + def load_content(self): + self.incoming_requests.clear_widgets() + self.outgoing_requests.clear_widgets() + self.recomendations.clear_widgets() + + self.incoming = self._get_request("incoming", self.username) + if not self.incoming: + self.incoming = [] + self.incoming_requests.add_widget(OneLineAvatarIconListItem(text="No incoming requests")) + + self.outgoing = self._get_request("outgoing", self.username) + if not self.outgoing: + self.outgoing = [] + self.outgoing_requests.add_widget(OneLineAvatarIconListItem(text="No outgoing requests")) + + for incoming in self.incoming: + self.incoming_requests.add_widget(IncomingRequestItem(self, text=incoming)) + for outgoing in self.outgoing: + self.outgoing_requests.add_widget(OutgoingRequestItem(self, text=outgoing)) + + data = {'amount': 5} + self.friend_recomends = request(sio, session).emit('friend_get_recomendations', data) + if dict_key_verify(self.friend_recomends, "recomended"): + self.friend_recomends = self.friend_recomends["recomended"] + else: + self.friend_recomends = [] + self.recomendations.add_widget(OneLineAvatarIconListItem(text="No recommendations sorry")) + + for recomend in self.friend_recomends: + self.recomendations.add_widget(RecomendationItem(self, text=recomend['username'])) + + def add_friend_search(self): + message = "No username entered" + if self.username_select.text: + self.add_friend(self.username_select.text) + if session.status['level'].lower() != "info": + self.username_select.error = True + else: + self.username_select.text = "" + else: + self.username_select.error = True + + def add_friend(self, username): + data = {'friend_username': username} + request(sio, session).emit('friend_add_request', data, None) + message = f"{session.status['level']}: {session.status['message']}" + Snackbar(text=message).open() + self.load_content() + + def switch_to_friend(self, app, username=None, direction='left'): + app.set_screen(self.friend_page.name, direction) + app.sm.remove_widget(self) +# Friend END + + +# OCCUPATION START +class ManageOccupationChange(OccupationChange): + def submit(self): + if self.current_selection: + data = {'occupation_id': occupations[i]['occupation_id'], 'username': self.username_select.text} + request(sio, session).emit('occupation_set', data) + message = f"{session.status['level']}: {session.status['message']}" + Snackbar(text=message).open() + if session.status['level'].lower() != "info": + self.username_select.error = True + else: + message = "No selection made" + Snackbar(text=message).open() + +class BaseOccupationItem(ThreeLineAvatarIconListItem): + def __init__(self, occupation_id, obj=None, **kwargs): + super().__init__(**kwargs) + self.occupation_id = occupation_id + self.page_obj = obj + data = {'occupation_id': self.occupation_id} + +class OccupationItem(BaseOccupationItem): + def edit(self): + self.page_obj.occupation_edit(self.occupation_id, self.text, self.secondary_text) + + def delete(self): + self.page_obj.occupation_delete(self.occupation_id) + self.page_obj.load_content() + +class OccupationRequestItem(BaseOccupationItem): + def refresh_content(self): + self.page_obj.load_content() + + def accept(self): + self.verdict("approve") + + def reject(self): + self.verdict("reject") + + def verdict(self, verdict): + data = {'username': self.text} + request(sio, session).emit('occupation_'+verdict+'_request', data, None) + self.refresh_content() + +class OccupationEdit(MDBoxLayout): + def __init__(self, page, occupation_id, name, description, **kwargs): + super().__init__(**kwargs) + self.name = name + self.description = description + self.occupation_id = occupation_id + self.page = page + self.load_content() + + def load_content(self): + self.ids.name.text = self.name + self.ids.description.text = self.description + + def submit(self): + data = {'name': self.ids.name.text, 'description': self.ids.description.text, 'occupation_id': self.occupation_id} + request(sio, session).emit('occupation_edit', data, None) + self.page.load_content() + self.page.edit_area.clear_widgets() + self.page.edit_area.add_widget(OccupationCreate(self)) + +class OccupationCreate(MDBoxLayout): + def __init__(self, page, **kwargs): + super().__init__(**kwargs) + self.page = page + + def create(self): + data = {'name': self.ids.name.text, 'description': self.ids.description.text} + request(sio, session).emit('occupation_create', data, None) + message = f"{session.status['level']}: {session.status['message']}" + Snackbar(text=message).open() + self.ids.name.text = "" + self.ids.description.text = "" + self.page.load_content() + +class OccupationPage(MDScreen): + def __init__(self, previous_page, **kwargs): + super(OccupationPage, self).__init__(**kwargs) + self.previous_page = previous_page + self.load_content() + + def load_content(self): + occupations = request(sio, session).emit('occupation_get_all')['occupations'] + self.occupations.clear_widgets() + + if occupations: + for occupation in occupations: + item = OccupationItem(occupation['occupation_id'], self, text=occupation['name'], secondary_text=occupation['description']) + self.occupations.add_widget(item) + else: + item = OneLineAvatarIconListItem(text="No occupations") + self.occupations.add_widget(item) + + self.edit_area.clear_widgets() + self.edit_area.add_widget(OccupationCreate(self)) + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + self.previous_page.load_toolbar() + + def open_help(self, app): + open_help(app, self, "Occupation") + + def occupation_edit(self, occupation_id, name, description): + edit_space = OccupationEdit(self, occupation_id, name, description) + self.edit_area.clear_widgets() + self.edit_area.add_widget(edit_space) + + def occupation_delete(self, occupation_id): + data = {'occupation_id': occupation_id} + request(sio, session).emit('occupation_delete_occupation', data, None) + Snackbar(text="Occupation deleted").open() + + def switch_to_occupation_request(self, app, direction='left'): + occupation_request_screen_name = "OccupationRequestPageScreen" + occupation_request_screen = OccupationRequestPage(self, name=occupation_request_screen_name) + app.sm.add_widget(occupation_request_screen) + app.set_screen(occupation_request_screen_name, direction) + + def back(self, app, direction="right"): + app.set_screen("HomePageScreen", direction) + app.sm.remove_widget(self) + +class OccupationRequestPage(MDScreen): + def __init__(self, previous_page, **kwargs): + super(OccupationRequestPage, self).__init__(**kwargs) + self.previous_page = previous_page + self.load_content() + + def load_content(self): + requests = request(sio, session).emit('occupation_get_all_requests')['requests'] + self.change_requests.clear_widgets() + + if requests: + for request_info in requests: + data = {'occupation_id': request_info['occupation_id']} + occupation = request(sio, session).emit('occupation_get', data) + occupation_request = OccupationRequestItem(request_info['occupation_id'], self, text=request_info['username'], secondary_text = occupation['name'], tertiary_text=occupation['description']) + self.change_requests.add_widget(occupation_request) + else: + self.change_requests.add_widget(OneLineAvatarIconListItem(text="No requests")) + + def back(self, app, direction='right'): + app.set_screen(self.previous_page.name, direction) + app.sm.remove_widget(self) +# OCCUPATION END + + +# TEAM START +class LeaderItem(OneLineAvatarIconListItem): + def __init__(self, leader_username, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + self.leader_username = leader_username + self.text = leader_username + + def delete(self): + data = {'leaders': [{'username': self.leader_username}]} + request(sio, session).emit('team_delete_leaders', data, None) + self.page.load_content() + +class AddLeaderButton(MDRaisedButton): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + + def add_leader(self): + self.page.button_to_add() + +class ChangeNameButton(MDRaisedButton): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + + def change_name(self): + self.page.button_to_add("name") + +class AddLeader(MDBoxLayout): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + + def submit(self): + data = {'leaders': [{'username': self.ids.username.text}]} + request(sio, session).emit('team_set', data, None) + self.page.add_to_button() + +class ChangeName(MDBoxLayout): + def __init__(self, page=None, **kwargs): + super().__init__(**kwargs) + self.page = page + + def submit(self): + team_data = {'name': self.ids.name.text} + request(sio, session).emit('team_set', team_data, None) + self.page.add_to_button() + +class TeamPage(MDScreen): + def __init__(self, previous_page, username, **kwargs): + super(TeamPage, self).__init__(**kwargs) + self.previous_page = previous_page + self.username = username + self.load_content() + + def load_content(self): + server = request(sio, session) + leaders = [] + members = [] + + leaders_info = server.emit('team_get_leaders') + if dict_key_verify(leaders_info, 'leaders'): + leaders = leaders_info['leaders'] + + members_info = server.emit('team_get_members') + if dict_key_verify(members_info, 'members'): + members = members_info['members'] + team = server.emit('team_get') + + self.members.clear_widgets() + self.leaders.clear_widgets() + self.edit_area.clear_widgets() + + if leaders: + for leader in leaders: + item = LeaderItem(leader['username'], self) + self.leaders.add_widget(item) + else: + item = OneLineAvatarIconListItem(text="No members") + self.leaders.add_widget(item) + + self.level = server.emit('auth_get')['level'] + if self.level != "member" or self.username in leaders: + if members: + self.edit_area.add_widget(ChangeNameButton(self)) + self.edit_area.add_widget(AddLeaderButton(self)) + + if members: + self.team_name.text = team['name'] + for member in members: + item = OneLineAvatarIconListItem(text=member['username']) + self.members.add_widget(item) + if not self.members: + item = OneLineAvatarIconListItem(text="No members") + self.members.add_widget(item) + else: + item = OneLineAvatarIconListItem(text="No members") + self.members.add_widget(item) + if self.team_name.text == "": + self.team_name.text = "No team" + + if not setting_info("Help boxes").value: + for i, option in enumerate(self.toolbar.right_action_items): + if option[0].lower() == "help": + self.toolbar.right_action_items.pop(i) + self.previous_page.load_toolbar() + + def button_to_add(self, input_mode="leader"): + self.edit_area.clear_widgets() + if input_mode == "leader": + add_widget = AddLeader(self) + elif input_mode == "name": + add_widget = ChangeName(self) + self.edit_area.add_widget(add_widget) + + def add_to_button(self): + self.load_content() + + def open_help(self, app): + open_help(app, self, "Team") + + def back(self, app, direction="right"): + app.set_screen("HomePageScreen", direction) + app.sm.remove_widget(self) +# TEAM END + + +# Auth START +class Auth(): + def load_content(self, obj, obj_id): + for field in obj.fields: + if "password" in field.lower(): + auth_field = PasswordField(info_type=field) + else: + auth_field = AuthField(info_type=field) + obj_id.add_widget(auth_field) + obj.auth_field_objs.append(auth_field) + +class PasswordField(MDRelativeLayout): + def __init__(self, info_type=None, **kwargs): + super().__init__(**kwargs) + self.info_type = info_type.lower() + self.load_content() + + def load_content(self): + self.ids.password_field.hint_text = self.info_type.capitalize() + +class AuthField(MDTextField): + def __init__(self, info_type=None, **kwargs): + super().__init__(**kwargs) + self.info_type = info_type.lower() + self.load_content() + + def load_content(self): + self.hint_text = self.info_type.capitalize() + + def change_hint(self, text): + self.hint_text = text + +class AuthButton(MDRaisedButton): + def __init__(self, function=None, text=None, **kwargs): + super().__init__(**kwargs) + self.function = function + self.text = text + + def action(self, app): + self.function(app) + + def change_text(self, text): + self.text = text + +class LoginPage(MDScreen): + def __init__(self, app, **kwargs): + super(LoginPage, self).__init__(**kwargs) + self.app = app + self.fields = ["Username", "Password"] + self.auth_field_objs = [] + self.register_page = None + self.logged_in = False + self.load_content() + self.login_token() + + def load_content(self): + Auth().load_content(self, self.login_view) + self.login_view.add_widget(AuthButton(self.login, 'Login')) + self.login_view.add_widget(AuthButton(self.register, 'Register')) + + def login_token(self): + results = db().execute("SELECT * FROM tokens") + data = {'logged_in': False} + + if results: + for result in results: + token = result[0] + expire = float(result[2]) + if timestamp().now > float(expire): + db().execute("DELETE FROM tokens WHERE token = ?", (token,)) + else: + info = {'token': token} + data = request(sio, session).emit("login", info) + + if data['logged_in']: + username = request(sio, session).emit("auth_get", {'items': ['username']})['username'] + self.login_confirmation(self.app, data, username) + + def login(self, app): + username = self.auth_field_objs[0].text + password = self.auth_field_objs[1].text + if not username and not password: + username = "user" + password = "pass" + info = {'username': username, 'password': password} + data = request(sio, session).emit('login', info) + self.login_confirmation(app, data, username) + + def login_confirmation(self, app, data, username): + message = f"{session.status['level']}: {session.status['message']}" + if data['logged_in'] == True: + app.switch_to_homepage("down", username) + session.username = username + session.level = request(sio, session).emit('auth_get')['level'] + self.logged_in = True + else: + for field in self.auth_field_objs: + field.error = True + self.logged_in = False + Snackbar(text=message).open() + + def register(self, app): + register_page = RegisterPage(name='RegisterPageScreen') + app.sm.add_widget(register_page) + app.set_screen('RegisterPageScreen', 'left') + +class RegisterPage(MDScreen): + def __init__(self, **kwargs): + super(RegisterPage, self).__init__(**kwargs) + self.fields = ["Username", "Password", "Re-enter Password", "Registration Code"] + self.auth_field_objs = [] + self.load_content() + self.mode = "member" + + def load_content(self): + Auth().load_content(self, self.register_view) + self.register_view.add_widget(AuthButton(self.register, 'Register')) + self.mode_button = AuthButton(self.mode, 'Admin Register') + self.register_view.add_widget(self.mode_button) + + def register(self, app): + info_points = ['username', 'password', 'repassword', 'key'] + info = {point: self.auth_field_objs[i].text for i, point in enumerate(info_points)} + if self.mode == "member": + event = "register" + else: + event = "admin_register" + data = request(sio, session).emit(event, info) + self.register_confirmation(data, app) + + def register_confirmation(self, data, app): + message = f"{session.status['level']}: {session.status['message']}" + if data['is_registered'] == True: + app.set_screen("LoginPageScreen", "right") + app.sm.remove_widget(self) + else: + Snackbar(text=message).open() + for field in self.auth_field_objs: + field.error = True + Snackbar(text=message).open() + + def mode(self, app): + for field in self.auth_field_objs: + if "code" in field.info_type: + break + if self.mode == "member": + self.mode_button.change_text("Member Register") + field.hint_text = "Admin Registration Code" + self.mode = "admin" + else: + self.mode_button.change_text("Admin Register") + field.hint_text = "Registration Code" + self.mode = "member" + +class ServerPage(MDScreen): + def __init__(self, **kwargs): + super(ServerPage, self).__init__(**kwargs) + + def get_server_code(self): + response = request(sio, session).emit("server_code_get") + if dict_key_verify(response, 'server_code'): + session.server_code = response['server_code'] + else: + message = "WARNING: Badly behaving server, please contact administrator" + Snackbar(text=message).open() + + def connect(self, app): + connected = start_client(sio, self.url.text) + if not connected: + self.url.error = True + message = "Unsuccessful connection" + else: + self.get_server_code() + app.switch_to_decrypt() + message = "Successful connection" + Snackbar(text=message).open() + +class ShareInput(MDBoxLayout): + pass + +class DecryptPage(MDScreen): + def __init__(self, app, **kwargs): + super(DecryptPage, self).__init__(**kwargs) + self.share_inputs = [] + self.min_shares = None + self.app = app + self.load_content() + + def load_content(self): + mode_info = request(sio, session).emit("get_mode") + self.sss_enabled = mode_info['sss'] + if self.sss_enabled: + self.min_shares = int(mode_info['min_shares']) + for i in range(self.min_shares): + share_input = ShareInput() + self.share_inputs.append(share_input) + self.input_area.add_widget(share_input) + + def submit(self): + encrypt_data = {'shares': None, 'password': None} + data = {'success': False} + if self.en_password.text: + encrypt_data['password'] = self.en_password.text + data = request(sio, session).emit("decrypt", encrypt_data) + elif self.sss_enabled: + encrypt_data['shares'] = [] + for share in self.share_inputs: + try: + share_num = int(share.share_num.text) + share_secret = int(share.share_secret.text) + except: + share.share_num.error = True + share.share_secret.error = True + continue + + encrypt_data['shares'].append({'num': share_num, 'secret': share_secret}) + + if len(encrypt_data['shares']) >= self.min_shares: + data = request(sio, session).emit("decrypt", encrypt_data) + if data['success']: + self.app.sm.remove_widget(self) + self.app.switch_to_login() + else: + self.en_password.error = True + if encrypt_data['shares']: + for share in self.share_inputs: + share.share_num.error = True + share.share_secret.error = True +# Auth END + +class FirstTimePage(MDScreen): + def __init__(self, **kwargs): + super(FirstTimePage, self).__init__(**kwargs) + self.load_content() + + def load_content(self): + data = {'items': ['level']} + level = request(sio, session).emit("auth_get", data)['level'] + if level == "member": + occupation_change = UserOccupationChange(self) + occupation_change.ids.new_request_area.remove_widget(occupation_change.ids.new_request_title) + elif level == "management" or level == "admin": + occupation_change = ManagementOccupationChange(self) + self.ids.step3.add_widget(occupation_change) + + ntfy_topic = request(sio, session).emit("get_ntfy_topic")['topic'] + self.ids.topic_name.text = ntfy_topic + + def set_role(self): + if self.role_input.text: + request(sio, session).emit("profile_set", {'role': self.role_input.text}, None) + + def set_name(self): + if self.name_input.text: + request(sio, session).emit("profile_set", {'name': self.name_input.text}, None) + + def textbox_to_picture(self): + pass + + def done(self, app): + self.set_name() + self.set_role() + app.set_screen("HomePageScreen", "down") + app.sm.remove_widget(self) + +class BeOpen(MDApp): + def set_screen(self, screen, trans): + self.sm.current = screen + self.sm.transition.direction = trans + + def build(self): + Builder.load_file('./modules/ui/beopen.kv') + + self.theme_cls.material_style = "M3" + self.theme_cls.theme_style = "Light" + self.theme_cls.primary_palette = "Orange" + + self.homepage_screen = None + self.login_screen = None + + self.sm = MDScreenManager() + self.sm.add_widget(ServerPage(name='ServerPageScreen')) + + Window.size = (800, 1000) + + return self.sm + + def disconnected(self): + self.sm.clear_widgets() + stop_client(sio) + self.sm.add_widget(ServerPage(name='ServerPageScreen')) + + def switch_to_comments(self, transition='up'): + self.comments_screen = CommentsPage(name='CommentsPageScreen') + self.sm.add_widget(self.comments_screen) + self.set_screen('CommentsPageScreen', transition) + + def switch_to_homepage(self, transition=None, username=None): + if self.homepage_screen: + self.sm.remove_widget(self.homepage_screen) + self.homepage_screen = HomePage(username, self, name='HomePageScreen') + self.sm.add_widget(self.homepage_screen) + + if self.first_time_login(): + first_time_page_screen_name = "FirstTimePage" + first_time_page_screen = FirstTimePage(name=first_time_page_screen_name) + self.sm.add_widget(first_time_page_screen) + self.set_screen(first_time_page_screen_name, "down") + else: + self.sm.switch_to(self.homepage_screen) + + def switch_to_decrypt(self): + crypt_data = request(sio, session).emit("get_mode") + if crypt_data['mode'] == "decrypt": + decrypt_screen_name = 'DecryptPageScreen' + decrypt_screen = DecryptPage(self, name=decrypt_screen_name) + self.sm.add_widget(decrypt_screen) + self.set_screen(decrypt_screen_name, "down") + else: + self.switch_to_login() + + def switch_to_login(self, transition="up"): + login_screen_name = "LoginPageScreen" + if self.login_screen: + self.sm.remove_widget(self.login_screen) + + self.login_screen = LoginPage(self, name=login_screen_name) + if not self.login_screen.logged_in: + self.sm.add_widget(self.login_screen) + self.set_screen(login_screen_name, transition) + + def comments_to_homepage(self, transition='down'): + self.set_screen('HomePageScreen', transition) + self.sm.remove_widget(self.comments_screen) + + def first_time_login(self): + occupation = request(sio, session).emit("occupation_get") + profile = request(sio, session).emit("profile_get", {'items': ['role', 'name']}) + friends = request(sio, session).emit("friend_get")['friends'] + if not occupation['occupation_id'] and not friends and not profile['role'] and not profile['name']: + return True + else: + return False + first_time_page_screen_name = "FirstTimePage" + first_time_page_screen = FirstTimePage(name=first_time_page_screen_name) + self.sm.add_widget(first_time_page_screen) + self.set_screen(first_time_page_screen_name, "down") +#================== kivy END ================== + +def create_settings(): + settings = [{'title': "Help boxes", + 'description': "Turn of the help buttons that appear as clickable question marks", + 'default_value': True, + 'icon': "help"}] + + settings_db = db() + saved_settings = settings_db.execute("SELECT title FROM settings") + + for setting in settings: + if saved_settings: + if (setting['title'],) in saved_settings: + continue + + if isinstance(setting['default_value'], bool): + settings_db.execute("INSERT INTO settings (title, description, state, icon) VALUES (?, ?, ?, ?)", (setting['title'], setting['description'], setting['default_value'], setting['icon'])) + else: + settings_db.execute("INSERT INTO settings (title, description, value, icon) VALUES (?, ?, ?, ?)", (setting['title'], setting['description'], setting['default_value'], setting['icon'])) + +def create_directories(): + paths = ["data", "data/images"] + for path in paths: + if not os.path.exists(path): + os.mkdir(path) + +def clean_directories(): + paths = ["data/images"] + for path in paths: + for file in os.listdir(path): + os.remove(os.path.join(path, file)) + +def setup(): + create_directories() + clean_directories() + create_settings() + +def post_login(): + db().execute("DELETE FROM tokens WHERE username != ?", (session.username,)) + +def main(): + setup() + BeOpen().run() + stop_client(sio) + +if __name__ == "__main__": + main() diff --git a/client/modules/handler/__pycache__/info.cpython-310.pyc b/client/modules/handler/__pycache__/info.cpython-310.pyc new file mode 100644 index 0000000..6393dc0 Binary files /dev/null and b/client/modules/handler/__pycache__/info.cpython-310.pyc differ diff --git a/client/modules/handler/__pycache__/info.cpython-311.pyc b/client/modules/handler/__pycache__/info.cpython-311.pyc new file mode 100644 index 0000000..2b64033 Binary files /dev/null and b/client/modules/handler/__pycache__/info.cpython-311.pyc differ diff --git a/client/modules/handler/__pycache__/request.cpython-310.pyc b/client/modules/handler/__pycache__/request.cpython-310.pyc new file mode 100644 index 0000000..f41c530 Binary files /dev/null and b/client/modules/handler/__pycache__/request.cpython-310.pyc differ diff --git a/client/modules/handler/__pycache__/request.cpython-311.pyc b/client/modules/handler/__pycache__/request.cpython-311.pyc new file mode 100644 index 0000000..725175e Binary files /dev/null and b/client/modules/handler/__pycache__/request.cpython-311.pyc differ diff --git a/client/modules/handler/__pycache__/requests.cpython-311.pyc b/client/modules/handler/__pycache__/requests.cpython-311.pyc new file mode 100644 index 0000000..1136500 Binary files /dev/null and b/client/modules/handler/__pycache__/requests.cpython-311.pyc differ diff --git a/client/modules/handler/info.py b/client/modules/handler/info.py new file mode 100644 index 0000000..2320aea --- /dev/null +++ b/client/modules/handler/info.py @@ -0,0 +1,38 @@ +from PIL import Image +import io + +class profile(): + def __init__(self): + pass + + def username(): + pass + + def name(self, first_name=None, last_name=None): + if first_name: + self.first_name + if last_name: + self.last_name + + if first_name and last_name: + pass + +class image(): + def __init__(self, post_id): + self.post_id = post_id + self.path = None + + def load(self, image_bytes): + image_formats = ['png', 'jpg'] + for form in image_formats: + try: + self.path = f"data/images/{self.post_id}.{form}" + with Image.open(io.BytesIO(image_bytes)) as recieved: + recieved.save(self.path) + break + except: + self.path = None + + def delete(self): + os.remove(self.path) + diff --git a/client/modules/handler/request.py b/client/modules/handler/request.py new file mode 100644 index 0000000..f9abf9c --- /dev/null +++ b/client/modules/handler/request.py @@ -0,0 +1,108 @@ +# MODULES +from modules.session.session import wait + +def dict_key_verify(dictionary, keys, mode="and", *args, **kwargs): + if mode != "and" and mode != "or": + mode = "and" + if type(keys) != list: + keys = [keys] + + verified = [] + if type(keys) != list: + keys = [keys] + + for key in keys: + if type(dictionary) != dict or key not in dictionary or not dictionary[key]: + verified.append(False) + else: + verified.append(True) + + if mode == "and": + if all(verified) == True: + return True + if mode == "or": + if True in verified: + return True + return False +# MODULES +class request(): + def __init__(self, sio, session=None, username=None): + self.sio = sio + self.session = session + self.username = username + + def callback(self, callback, data): + self.session.transfer = data + + def emit(self, event, info=None, callback_func="self.callback"): + if callback_func == "self.callback": + callback_func = self.callback + if callback_func == None: + self.sio.emit(event, info) + return + else: + self.sio.emit(event, info, callback=callback_func) + wait(self.session).wait() + return self.session.transfer + +class account_page(request): + def refresh(self): + info = self.get_profile() + return info + + def get_profile(self): + info = {'username': self.username, 'name': self.username, 'role': "", 'occupation_name': "", 'team_name': "", 'biography': ""} + + profile_data = {'username': self.username, 'items': ['name', 'role', 'biography']} + profile_info = self.emit('profile_get', profile_data) + + occupation_data = {'username': self.username, 'items': ['name']} + occupation_info = self.emit('occupation_get', occupation_data) + if dict_key_verify(occupation_info, 'name'): + info['occupation_name'] = occupation_info['name'] + + team_data = {'username': self.username, 'items': ['name']} + team_info = self.emit('team_get', team_data) + if dict_key_verify(team_info, 'name'): + info['team_name'] = team_info['name'] + + team_leader_info = self.emit('team_get_leaders') + if dict_key_verify(team_leader_info, 'leaders'): + if self.username in team_leader_info['leaders']: + info['team_name'] += " (team lead)" + + for key in profile_info.keys(): + if dict_key_verify(profile_info, key): + info[key] = profile_info[key] + + return info + + def set_profile(self, item, new_value, username=None): + profile = ['name', 'role', 'biography'] + occupation = ['occupation_name'] + team = ['team_name'] + + if item in profile: + event = 'profile_set' + + if item == 'name': + new_values = new_value.split(" ") + if len(new_values) == 2: + items = ['first_name', 'last_name'] + if item in occupation: + event = 'occupation_set' + item = 'name' + if item in team: + event = 'team_set' + item = 'name' + + if type(item) != list: + items = [item] + if type(new_value) != list: + new_values = [new_value] + + for value, item in zip(new_values, items): + data = {'username': None,'items': [item], item: value} + if username: + data['username'] = username + self.emit('profile_set', data, None) diff --git a/client/modules/session/__pycache__/session.cpython-310.pyc b/client/modules/session/__pycache__/session.cpython-310.pyc new file mode 100644 index 0000000..89308fa Binary files /dev/null and b/client/modules/session/__pycache__/session.cpython-310.pyc differ diff --git a/client/modules/session/__pycache__/session.cpython-311.pyc b/client/modules/session/__pycache__/session.cpython-311.pyc new file mode 100644 index 0000000..1feec46 Binary files /dev/null and b/client/modules/session/__pycache__/session.cpython-311.pyc differ diff --git a/client/modules/session/__pycache__/time.cpython-310.pyc b/client/modules/session/__pycache__/time.cpython-310.pyc new file mode 100644 index 0000000..6639a28 Binary files /dev/null and b/client/modules/session/__pycache__/time.cpython-310.pyc differ diff --git a/client/modules/session/__pycache__/time.cpython-311.pyc b/client/modules/session/__pycache__/time.cpython-311.pyc new file mode 100644 index 0000000..6a32563 Binary files /dev/null and b/client/modules/session/__pycache__/time.cpython-311.pyc differ diff --git a/client/modules/session/session.py b/client/modules/session/session.py new file mode 100644 index 0000000..22b2a1d --- /dev/null +++ b/client/modules/session/session.py @@ -0,0 +1,140 @@ +import time +import sqlite3 + +class session_info(): + def __init__(self): + self._logged_in = False + self.username = None + self.server_code = None + self.cycle_count = 0 + self.auth_tokens = [] + self.transfer = None + self.status = None + + @property + def logged_in(self): + return self._logged_in + @logged_in.setter + def logged_in(self, value): + self._logged_in = value + self.cycle_count += 1 + + @property + def transfer(self): + return self._transfer + @transfer.setter + def transfer(self, value): + self._transfer = value + self.cycle_count += 1 + + def clear(self): + db().execute("DELETE FROM tokens") + self.__init__() + +class wait(): + def __init__(self, session): + self.session = session + self.update() + + def update(self): + self.last = self.session.cycle_count + self.current = self.session.cycle_count + + def current_update(self): + self.current = self.session.cycle_count + + def wait(self, status=None): + while self.last == self.current: + time.sleep(0.05) + self.current_update() + return + + def wait_username(self): + while not self.session.username: + time.sleep(0.05) + return + +class db(): + def __init__(self): + self.path = "./data/database.db" + self._create() + + def _create(self): + con, cur = self._connect() + + cur.execute("""CREATE TABLE IF NOT EXISTS tokens ( + token TEXT NOT NULL PRIMARY KEY, + username TEXT NOT NULL, + expire TEXT NOT NULL + )""") + + cur.execute("""CREATE TABLE IF NOT EXISTS settings ( + title TEXT NOT NULL PRIMARY KEY, + description TEXT, + state BOOL, + value TEXT, + icon TEXT + )""") + + self._close(con) + + def _connect(self): + con = sqlite3.connect(self.path) + cur = con.cursor() + return con, cur + + def execute(self, command, values=None): + rez = None + con, cur = self._connect() + + if values: + cur.execute(command, values) + else: + cur.execute(command) + + if "SELECT" in command: + rez = cur.fetchall() + + self._close(con) + if rez: + return rez + + def _commit(self, con): + con.commit() + + def _close(self, con): + con.commit() + con.close() + +class setting(): + def __init__(self, title): + self.title = title + self.db = db() + self.__fetch() + + def __fetch(self): + setting_data = self.db.execute("SELECT * FROM settings WHERE title = ?", (self.title,)) + if setting_data: + self.title = setting_data[0][0] + self.description = setting_data[0][1] + if not self.description: + self.description = "" + + if setting_data[0][3] != None: + self.value = setting_data[0][3] + self.type = "text_field" + else: + self.value = setting_data[0][2] + self.type = "swtich" + + if setting_data[0][4] != None: + self.icon = setting_data[0][4] + else: + self.icon = "cog" + + def change_value(self, new_value): + if self.type == "swtich" and isinstance(new_value, bool): + self.db.execute("UPDATE settings SET state = ?", (new_value,)) + elif self.type == "text_field" and isinstance(new_value, str): + self.db.execute("UPDATE settings SET value = ?", (new_value,)) + diff --git a/client/modules/session/time.py b/client/modules/session/time.py new file mode 100644 index 0000000..56abaae --- /dev/null +++ b/client/modules/session/time.py @@ -0,0 +1,63 @@ +from datetime import date, timedelta, datetime + +class timestamp(): + @property + def start(self): + value = self.get_date_timestamp() + self._start = value + return self._start + @start.setter + def start(self, value): + value = self.get_date_timestamp() + self._start = value + + @property + def end(self): + value = self.get_date_timestamp(day_mod=1) - 1 + self._end = value + return self._end + @end.setter + def end(self, value): + value = self.get_date_timestamp(day_mod=1) - 1 + self._end = value + + @property + def now(self): + value = self.get_timestamp() + self._now = value + return value + @now.setter + def now(self, value): + value = self.get_timestamp() + self._now = value + + @property + def date(self): + date = str(datetime.now().date()) + self._date = date + return self._date + @date.setter + def date(self, value): + self._date = value + + def get_date_timestamp(self, year_mod=0, month_mod=0, day_mod=0, *args, **kwargs): + modifier = [year_mod, month_mod, day_mod] + + now_mod = (datetime.now()+timedelta(days=day_mod)) + date = (str(now_mod.date()).replace("-0", "-")).split("-") + date = [int(string) for string in date] + + timestamp = datetime(date[0], date[1], date[2]).timestamp() + + return timestamp + + def get_timestamp(self): + now = (float(datetime.now().timestamp())) + return now + + def get_date(self, timestamp): + date = datetime.utcfromtimestamp(timestamp).strftime('%Y-%m-%d') + return date + + def get_days_month(self, month, year): + pass diff --git a/client/modules/ui/.idea/.gitignore b/client/modules/ui/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/client/modules/ui/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/client/modules/ui/.idea/misc.xml b/client/modules/ui/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/client/modules/ui/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/client/modules/ui/.idea/modules.xml b/client/modules/ui/.idea/modules.xml new file mode 100644 index 0000000..8e200d9 --- /dev/null +++ b/client/modules/ui/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/client/modules/ui/.idea/ui.iml b/client/modules/ui/.idea/ui.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/client/modules/ui/.idea/ui.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/client/modules/ui/beopen.kv b/client/modules/ui/beopen.kv new file mode 100644 index 0000000..804dd19 --- /dev/null +++ b/client/modules/ui/beopen.kv @@ -0,0 +1,1591 @@ + +#UTILITY Widgets + + do_scroll_y: True + do_scroll_x: False + + + padding: 20 + size_hint_y: None + + + padding: 10 + cols: 1 + size_hint_y: None + + + MDBoxLayout: + orientation: "vertical" + + + + + text: "Help box" + text_color: "Black" + + + text: "Expanded text" + font_style: "H6" + +: + toolbar: toolbar + text_area: text_area + + MDBoxLayout: + orientation: "vertical" + + MDTopAppBar: + id: toolbar + title: "" + anchor_title: "right" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + + MDBoxLayout: + orientation: "vertical" + padding: 10 + + ScrollingView: + ScrollArea: + id: text_area + + + opposite_colors: True + icon_size: 35 + + + RelativeLayout: + orientation: "horizontal" + + FitImage: + source: "" + radius: [20,] + + MDBoxLayout: + adaptive_height: True + orientation: "horizontal" + pos_hint: {'top': 1} + spacing: 12 + padding: 10 + + MDLabel: + text: "99" + font_style: "H5" + font_size: 20 + size_hint_y: None + height: self.texture_size[1] + pos_hint: {"center_y": .5} + opposite_colors: True + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Month placeholder" + font_style: "H5" + font_size: 40 + size_hint_y: 0.1 + + MDGridLayout: + size_hint_y: 0.9 + cols: 5 + spacing: 10 + row_default_height: root.get_memories_swiper_height() + + + account_button: account_button + profile_area: profile_area + RelativeLayout: + orientation: "horizontal" + + FitImage: + id: content + source: "" + radius: [20,] + + MDBoxLayout: + adaptive_height: True + orientation: "horizontal" + spacing: 12 + + MDBoxLayout: + orientation: "horizontal" + adaptive_width: True + adaptive_height: True + + SwiperMagicButton: + id: like + icon: "heart-outline" + on_release: + root.like() + + MDLabel: + id: like_number + text: "0" + font_style: "H5" + text_color: "white" + theme_text_color: "Custom" + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + + MDBoxLayout: + adaptive_height: True + orientation: "horizontal" + + SwiperMagicButton: + icon: "comment-outline" + on_release: + root.switch_to_comments(app) + + MDLabel: + id: caption + text: "Caption placeholder" + adaptive_height: True + font_style: "H5" + text_color: "white" + theme_text_color: "Custom" + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + + MDBoxLayout: + id: profile_area + adaptive_height: True + orientation: "horizontal" + pos_hint: {'top': 1} + spacing: "12dp" + + SwiperMagicButton: + id: account_button + icon: "account-circle" + on_release: root.post_options(app) + + MDLabel: + id: username + text: "Name Placeholder" + font_style: "H5" + size_hint_y: None + height: self.texture_size[1] + pos_hint: {"center_y": .5} + opposite_colors: True + + + MDBoxLayout: + orientation: "vertical" + + MDLabel: + text: "No posts :(" + font_style: "H4" + halign: "center" + + + padding: 30 + + MDRaisedButton: + size_hint_x: 1 + pos_hint: {"center_x": .5, "center_y": .95} + text: "Load more" + on_release: + root.load_content() + + + text: "Occupations" + pos_hint: {'center_x': 0.5} + on_release: root.switch_to_occupation(app) + size_hint_x: 0.8 + + + occupation_button_area: occupation_button_area + team_button_area: team_button_area + name: "Organisation" + text: "Organisation" + icon: "account-group" + on_tab_press: root.page.on_tab_press(self.name) + + MDBoxLayout: + orientation: "vertical" + padding: 20 + + ScrollingView: + ScrollAreaBoxLayout: + spacing: 50 + + MDBoxLayout: + id: occupation_button_area + + MDBoxLayout: + id: team_button_area + + MDRaisedButton: + text: "Teams" + pos_hint: {'center_x': 0.5} + on_release: root.switch_to_team(app) + size_hint_x: 0.8 + + + post_area: post_area + orientation: "vertical" + spacing: 10 + + MDIconButton: + icon: "arrow-up" + on_release: root.day_list.back() + + MDBoxLayout: + id: post_area + orientation: "vertical" + + + on_release: root.day_view() + + + scroll: scroll + orientation: "vertical" + spacing: 10 + + MDScrollView: + do_scroll_x: False + do_scroll_y: True + + MDList: + id: scroll + + + on_release: root.post_open() + + + scroll: scroll + orientation: "vertical" + spacing: 10 + + MDIconButton: + icon: "arrow-up" + on_release: root.back() + + MDScrollView: + do_scroll_x: False + do_scroll_y: True + + MDList: + id: scroll + +: + home_swiper_scroll:home_swiper_scroll + home_swiper_grid:home_swiper_grid + bottom_navigation: bottom_navigation + toolbar: toolbar + root_scroll: root_scroll + + MDBoxLayout: + orientation: "vertical" + + MDTopAppBar: + title: "BeOpen" + id: toolbar + anchor_title: "left" + right_action_items: [["help", lambda x: root.open_help(app)], ["cog", lambda x: root.switch_to_settings(app, 'left')]] + left_action_items: [["account-circle", lambda x: root.switch_to_account(app, direction='right')],["bell", lambda x: root.switch_to_notifications(app, direction='right')]] + md_bg_color: app.theme_cls.primary_color + + MDBottomNavigation: + id: bottom_navigation + + MDBottomNavigationItem: + name: "Home" + text: "Home" + icon: "home" + on_tab_press: root.on_tab_press(self.name) + + MDBoxLayout: + padding: 20 + size_hint: 1, 1 + + MDScrollView: + id:home_swiper_scroll + do_scroll_x: False + do_scroll_y: True + + MDGridLayout: + id:home_swiper_grid + cols: 1 + spacing: 10 + adaptive_height: True + + MDBottomNavigationItem: + name: "Memories" + text: "Memories" + icon: "image-multiple" + on_tab_press: root.on_tab_press(self.name) + + MDBoxLayout: + padding: 20 + + MDBoxLayout: + id: root_scroll + orientation: "vertical" + +# Comments Widgets + + like_button: like_button + profile_button: profile_button + like_count: like_count + container: container + text: "" + secondary_text: "" + on_release: root.expand(app) + on_size: + self.ids._right_container.width = container.width + self.ids._right_container.x = container.width + + IconLeftWidget: + id: profile_button + icon: "account" + on_release: root.action_options(app) + + CommentContainer: + id: container + adaptive_width: True + + MDIconButton: + id: like_button + icon: "heart-outline" + on_release: root.like() + + MDLabel: + id: like_count + text: "3000" + halign: "right" + +: + comment_stack: comment_stack + comment_field: comment_field + + MDBoxLayout: + orientation: "vertical" + + MDBoxLayout: + padding: 10 + size_hint: 1, 0.15 + orientation: "vertical" + + AnchorLayout: + anchor_x: 'center' + anchor_y: 'top' + + MDIconButton: + icon: "menu-up" + icon_size: "64sp" + icon_color: app.theme_cls.primary_color + on_release: + root.switch_to_home(app) + + MDBoxLayout: + orientation: "vertical" + padding: 10 + spacing: 20 + + ScrollingView: + MDList: + id: comment_stack + + MDRelativeLayout: + size_hint_y: None + height: comment_field.height + pos_hint: {"bottom": 0.5} + + MDTextField: + id: comment_field + hint_text: "Enter your comment here..." + icon_left: "comment" + mode: "rectangle" + + MDIconButton: + icon: "send" + post_hint: {"center_y": 0.5} + pos: comment_field.width - self.width + dp(8), 0 + on_release: root.submit() + +# account widgets + + size_hint_x: 0.4 + pos_hint: {"center_x": .5} + source: "data/assets/profile.png" + + + pos_hint: {"center_y": .5} + text_field: text_field + spacing: 10 + + MDTextField: + id: text_field + hint_text: "Enter a new value" + on_text_validate: root.save() + mode: "rectangle" + size_hint_x: 0.8 + pos_hint: {"center_y": .5} + + MDRaisedButton: + text: "Save" + on_release: root.save() + size_hint_x: 0.2 + pos_hint: {"center_y": .5} + + + pos_hint: {"center_y": .5} + hint_text: "Enter a new value" + mode: "rectangle" + on_text_validate: + self.submit_func() + + + icon: "pencil" + on_release: + self.change_info() + + + icon: "pencil" + size_hint_x: 0.1 + pos_hint: {"center_y": .5} + on_release: + self.change_info() + + + text: "" + secondary_text: "None" + + + orientation: "vertical" + spacing: 20 + occupation_select: occupation_select + request_title: request_title + request_occupation: request_occupation + request_status: request_status + request_cancel: request_cancel + request_button: request_button + occupation_description: occupation_description + + MDBoxLayout: + id: new_request_area + orientation: "vertical" + + MDLabel: + id: new_request_title + text: "new request" + font_style: 'H5' + pos_hint: {'center_x': .5} + size_hint_y: 0.1 + + MDBoxLayout: + orientation: "horizontal" + size_hint_y: 0.9 + spacing: 10 + + MDRaisedButton: + id: occupation_select + text: "Select an occupation" + pos_hint: {'center_x': .5, 'center_y': .5} + on_release: root.selection_menu() + + MDLabel: + id: occupation_description + text: "" + font_style: 'H6' + pos_hint: {'center_x': .5, 'center_y': .5} + + MDRaisedButton: + id: request_button + text: "Create request" + pos_hint: {'center_y': .5} + on_release: root.submit() + + MDBoxLayout: + orientation: "horizontal" + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDLabel: + id: request_title + text: "current request" + font_style: 'H5' + MDLabel: + id: request_occupation + text: "" + font_style: 'H5' + + MDLabel: + id: request_status + text: "Status: No request" + font_style: 'H6' + pos_hint: {'right': 1} + + MDRaisedButton: + id: request_cancel + text: "Cancel" + pos_hint: {"center_y": .5} + on_release: root.cancel() + + + orientation: "vertical" + spacing: 20 + occupation_select: occupation_select + occupation_description: occupation_description + set_button: set_button + + MDBoxLayout: + orientation: "vertical" + + MDLabel: + text: "Change occupation" + font_style: 'H5' + pos_hint: {'center_x': .5} + size_hint_y: 0.1 + + MDBoxLayout: + orientation: "horizontal" + size_hint_y: 0.9 + spacing: 10 + + MDRaisedButton: + id: occupation_select + text: "Select an occupation" + pos_hint: {'center_x': .5, 'center_y': .5} + on_release: root.selection_menu() + + MDLabel: + id: occupation_description + text: "Occupation description" + font_style: 'H6' + pos_hint: {'center_x': .5, 'center_y': .5} + + MDRaisedButton: + id: set_button + text: "Create request" + pos_hint: {'center_y': .5} + on_release: root.submit() + +: + name: 'account_page_screen' + + toolbar: toolbar + profile_info_view: profile_info_view + profile_bio_view: profile_bio_view + biography_content: biography_content + above_info: above_info + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Profile" + anchor_title: "center" + left_action_items: [["account-multiple", lambda x: root.switch_to_friend(app)]] + right_action_items: [["help", lambda x: root.open_help(app)], ["arrow-right", lambda x: root.back(app, "left")]] + md_bg_color: app.theme_cls.primary_color + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.8 + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.70 + padding: 15 + spacing: 10 + + MDBoxLayout: + id: above_info + size_hint_y: 0.3 + + MDScrollView: + size_hint_y: 0.45 + + MDList: + id: profile_info_view + + MDBoxLayout: + size_hint_y: 0.25 + orientation: "vertical" + spacing: 10 + + MDLabel: + size_hint_y: 0.1 + text: "Biography" + font_style: "H5" + + MDBoxLayout: + id: profile_bio_view + orientation: "horizontal" + size_hint_y: 0.9 + + ScrollView: + size_hint_x: 0.9 + do_scroll_x: False + do_scroll_y: True + + MDLabel: + id: biography_content + size_hint_y: None + size: self.texture_size + text: "" + font_style: "H6" + +# Settings widgets + + setting_title: setting_title + setting_description: setting_description + toggle: toggle + setting_icon: setting_icon + + AnchorLayout: + anchor_x: 'right' + anchor_y: 'center' + padding: 20 + + MDBoxLayout: + orientation: "horizontal" + adaptive_height: True + spacing: 20 + + MDIcon: + id: setting_icon + icon: "language-python" + + MDBoxLayout: + orientation: "vertical" + spacing: 20 + + MDLabel: + id: setting_title + text: "switch 1" + font_size: "30sp" + text_color: 0, 1, 1, 1 + + MDLabel: + id: setting_description + text: "description text" + text_color: 0, 0, 1, 1 + + MDSwitch: + id: toggle + on_active: root.on_toggle(app) + + + setting_title: setting_title + setting_description: setting_description + input_field: input_field + setting_icon: setting_icon + + AnchorLayout: + anchor_x: 'right' + anchor_y: 'center' + padding: 20 + + MDBoxLayout: + orientation: "horizontal" + adaptive_height: True + spacing: 20 + + MDIcon: + id: setting_icon + icon: "language-python" + + MDBoxLayout: + orientation: "vertical" + spacing: 20 + + MDLabel: + id: setting_title + text: "switch 1" + font_size: "30sp" + text_color: 0, 1, 1, 1 + + MDLabel: + id: setting_description + text: "description text" + text_color: 0, 0, 1, 1 + + MDTextField: + id: input_field + hint_text: "default hint text" + helper_text_mode: "on_error" + helper_text: "default helper text" + on_text_validate: root.submit_func() + + + hint_text: "default hint text" + helper_text_mode: "on_error" + helper_text: "default helper text" + on_text_validate: root.submit_func() + + + text: "Shutdown server" + size_hint_x: 0.8 + pos_hint: {'center_x': 0.5} + on_release: root.shutdown(app) + +: + settings_stack: settings_stack + static_buttons: static_buttons + toolbar: toolbar + + MDBoxLayout: + orientation: "vertical" + + MDTopAppBar: + id: toolbar + title: "Settings" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + right_action_items: [["help", lambda x: root.open_help(app)]] + md_bg_color: app.theme_cls.primary_color + + MDBoxLayout: + orientation: "vertical" + padding: 20 + spacing: 10 + + MDBoxLayout: + id: settings_stack + orientation: "vertical" + spacing: 10 + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + id: static_buttons + + MDRaisedButton: + text: "Log out" + size_hint_x: 0.8 + pos_hint: {'center_x': 0.5} + on_release: root.logout(app) + +# notification widgets + + text: "" + secondary_text: "" + on_release: + root.expand() + + IconRightWidget: + icon: "close" + on_release: + root.delete() + +: + toolbar: toolbar + notification_layout: notification_layout + notification_stack: notification_stack + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Notifications" + anchor_title: "center" + left_action_items: [["refresh", lambda x: root.load_content()]] + right_action_items: [["help", lambda x: root.open_help(app)], ["arrow-right", lambda x: root.back(app)]] + + MDBoxLayout: + id: notification_layout + orientation: "vertical" + size_hint_y: 0.9 + + MDScrollView: + size_hint_y: 1 + do_scroll_y: True + + MDList: + id: notification_stack + +# friends widgets + + text: "Friend" + on_release: root.profile(app) + + IconRightWidget: + icon: "account-remove" + on_release: + root.remove() + +: + toolbar: toolbar + friend_list: friend_list + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Friends" + anchor_title: "center" + left_action_items: [["help", lambda x: root.open_help(app)]] + right_action_items: [["arrow-right", lambda x: root.switch_to_account(app)]] + + MDBoxLayout: + orientation: "vertical" + + MDRaisedButton: + text: "Requests" + on_release: root.switch_to_friend_request(app) + size_hint_x: 0.9 + pos_hint: {'center_x': 0.5} + + ScrollingView: + MDList: + id: friend_list + + + text: "Incoming Request" + on_release: root.profile(app) + + IconLeftWidget: + icon: "check" + on_release: + root.accept() + IconRightWidget: + icon: "close" + on_release: + root.reject() + + + text: "Outgoing Request" + on_release: root.profile(app) + + IconRightWidget: + icon: "close" + on_release: + root.cancel() + + + text: "Recomended friend" + on_release: root.profile(app) + + IconRightWidget: + icon: "account-plus" + on_release: + root.add_friend() + +: + toolbar: toolbar + incoming_requests: incoming_requests + outgoing_requests: outgoing_requests + recomendations: recomendations + username_select: username_select + + MDBoxLayout: + orientation: "vertical" + + MDTopAppBar: + id: toolbar + title: "Requests" + anchor_title: "center" + left_action_items: [["refresh", lambda x: root.load_content()]] + right_action_items: [["arrow-right", lambda x: root.switch_to_friend(app)]] + + MDBoxLayout: + size_hint_y: 0.1 + orientation: "horizontal" + spacing: 10 + padding: 10 + + MDTextField: + id: username_select + mode: "rectangle" + hint_text: "Enter a username" + pos_hint: {'center_y': 0.5} + + MDRaisedButton: + text: "Request" + on_release: root.add_friend_search() + pos_hint: {'center_y': 0.5} + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.2 + + MDBoxLayout: + orientation: "vertical" + padding: 10 + MDLabel: + text: "Recomendations" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: recomendations + + MDBoxLayout: + orientation: "vertical" + padding: 10 + size_hint_y: 0.7 + + MDBoxLayout: + orientation: "vertical" + MDLabel: + text: "Incoming Requests" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: incoming_requests + + MDBoxLayout: + orientation: "vertical" + MDLabel: + text: "Outgoing Requests" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: outgoing_requests + +# management widgets + + orientation: "vertical" + change_button: change_button + occupation_select: occupation_select + occupation_description: occupation_description + username_select: username_select + + MDLabel: + text: "Change a users occupation (this will change their team)" + font_style: 'H5' + pos_hint: {'center_x': .5} + size_hint_y: 0.1 + + MDBoxLayout: + orientation: "horizontal" + size_hint_y: 0.9 + + MDTextField: + id: username_select + hint_text: "Enter a username" + + MDRaisedButton: + id: occupation_select + text: "Select an occupation" + pos_hint: {'center_x': .5, 'center_y': .5} + on_release: root.selection_menu() + + MDLabel: + id: occupation_description + text: "Occupation description" + font_style: 'H6' + pos_hint: {'center_x': .5, 'center_y': .5} + + MDRaisedButton: + id: change_button + text: "Change occupation" + pos_hint: {'center_y': .5} + on_release: root.submit() + + + text: "Occupation name" + secondary_text: "Description" + + IconLeftWidget: + icon: "close" + on_release: + root.delete() + IconRightWidget: + icon: "pencil" + on_release: + root.edit() + + + text: "Username" + secondary_text: "Occupation name" + tirtiary_text: "Description" + + IconRightWidget: + icon: "check" + on_release: + root.accept() + + IconLeftWidget: + icon: "close" + on_release: + root.reject() + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Edit occupation" + font_style: "H5" + size_hint_y: 0.1 + MDTextField: + id: name + mode: "rectangle" + hint_text: "Name" + size_hint_x: 1 + size_hint_y: 0.35 + MDTextField: + id: description + mode: "rectangle" + hint_text: "Description" + size_hint_x: 1 + size_hint_y: 0.35 + MDRaisedButton: + text: "Done" + size_hint_x: 1 + on_release: root.submit() + size_hint_y: 0.2 + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Create an occupation" + font_style: "H5" + size_hint_y: 0.1 + MDTextField: + id: name + mode: "rectangle" + hint_text: "Name" + size_hint_x: 1 + size_hint_y: 0.35 + MDTextField: + id: description + mode: "rectangle" + hint_text: "Description" + size_hint_x: 1 + size_hint_y: 0.35 + MDRaisedButton: + text: "Done" + size_hint_x: 1 + on_release: root.create() + size_hint_y: 0.2 + +: + toolbar: toolbar + occupations: occupations + edit_area: edit_area + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Occupation" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + right_action_items: [["help", lambda x: root.open_help(app)]] + + MDRaisedButton: + text: "Requests" + on_release: root.switch_to_occupation_request(app) + size_hint_x: 0.9 + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + + MDBoxLayout: + id: edit_area + orientation: "vertical" + padding: 15 + + MDBoxLayout: + orientation: "vertical" + padding: 15 + + MDLabel: + text: "Occupations" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: occupations + +: + toolbar: toolbar + change_requests: change_requests + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Requests" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + right_action_items: [["refresh", lambda x: root.load_content()]] + + MDBoxLayout: + orientation: "vertical" + padding: 10 + + MDLabel: + text: "Occupation change requests" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: change_requests + + + IconRightWidget: + id: delete_button + icon: "close" + on_release: root.delete() + + + text: "Add leader" + size_hint_x: 0.8 + on_release: root.add_leader() + pos_hint: {'center_x': 0.5} + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Add a leader" + font_style: "H5" + size_hint_y: 0.2 + MDTextField: + id: username + mode: "rectangle" + hint_text: "Name" + size_hint_y: 0.5 + MDRaisedButton: + text: "Done" + on_release: root.submit() + size_hint_y: 0.3 + size_hint_x: 1 + + + text: "Change team name" + size_hint_x: 0.8 + on_release: root.change_name() + pos_hint: {'center_x': 0.5} + + + orientation: "vertical" + spacing: 10 + + MDLabel: + text: "Change team name" + font_style: "H5" + size_hint_y: 0.2 + MDTextField: + id: name + mode: "rectangle" + hint_text: "Name" + size_hint_y: 0.5 + MDRaisedButton: + text: "Done" + on_release: root.submit() + size_hint_y: 0.3 + size_hint_x: 1 + +: + toolbar: toolbar + members: members + leaders: leaders + team_name: team_name + edit_area: edit_area + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Team" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: root.back(app)]] + right_action_items: [["help", lambda x: root.open_help(app)], ["refresh", lambda x: root.load_content()]] + + MDBoxLayout: + orientation: "vertical" + padding: 10 + spacing: 10 + + MDBoxLayout: + orientation: "vertical" + + MDLabel: + id: team_name + text: "" + font_style: "H5" + font_size: 30 + pos_hint: {'center_x': 0.93} + size_hint_y: 0.1 + + MDBoxLayout: + id: edit_area + orientation: "vertical" + size_hint_y: 0.9 + spacing: 10 + + MDBoxLayout: + orientation: "vertical" + MDLabel: + text: "Leader" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: leaders + + MDBoxLayout: + orientation: "vertical" + MDLabel: + text: "Members" + font_style: "H5" + size_hint_y: 0.1 + + MDBoxLayout: + size_hint_y: 0.9 + padding: 10 + ScrollingView: + MDList: + id: members + +# auth widgets + + size_hint_y: None + height: password_field.height + text: password_field.text + + MDTextField: + id: password_field + hint_text: "Password" + text: "" + password: True + mode: "rectangle" + icon_left: "key-variant" + + MDIconButton: + icon: "eye-off" + pos_hint: {"center_y": 0.45} + pos: password_field.width - self.width + dp(8), 0 + theme_text_color: "Hint" + on_release: + self.icon = "eye" if self.icon == "eye-off" else "eye-off" + password_field.password = False if password_field.password is True else True + + + adaptive_height: True + mode: "rectangle" + hint_text: "" + + + text: "auth" + pos_hint: {'center_x': 0.5} + size_hint_x: 0.5 + on_release: + self.action(app) + +: + login_view: login_view + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + title: "Login" + anchor_title: "center" + + MDGridLayout: + id: login_view + padding: 20 + spacing: 10 + row_default_height: 50 + cols: 1 + rows: 4 + +: + register_view: register_view + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + title: "Register" + anchor_title: "center" + left_action_items: [["arrow-left", lambda x: app.set_screen("LoginPageScreen", "right")]] + + MDGridLayout: + id: register_view + padding: 20 + spacing: 10 + row_default_height: 50 + cols: 1 + rows: 6 + +: + url: url + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + title: "Select Server" + anchor_title: "center" + + MDGridLayout: + padding: 20 + spacing: 10 + row_default_height: 50 + cols: 1 + rows: 2 + + MDTextField: + id: url + adaptive_height: True + mode: "rectangle" + hint_text: "Server URL" + helper_text: "Remember to start with http:// or https://" + + MDRaisedButton: + text: "Connect" + pos_hint: {'center_x': 0.5} + size_hint_x: 0.5 + on_release: + root.connect(app) + + + pos_hint: {'center_y': 0.5} + spacing: 10 + share_num: share_num + share_secret: share_secret + + MDTextField: + id: share_num + mode: "rectangle" + hint_text: "Share Number" + size_hint_x: 0.2 + + MDTextField: + id: share_secret + password: True + mode: "rectangle" + hint_text: "Share Secret" + helper_text: "This is the secret provided by the admin" + size_hint_x: 0.8 + +: + input_area: input_area + en_password: en_password + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + title: "Decrypt Server Database" + anchor_title: "center" + + MDBoxLayout: + orientation: "vertical" + padding: 20 + spacing: 20 + + MDTextField: + id: en_password + password: True + mode: "rectangle" + hint_text: "Master password" + helper_text: "This can still be used even if Shamir Secret Sharing is enabled" + size_hint_x: 0.8 + pos_hint: {'center_x': 0.5} + + MDBoxLayout: + id: input_area + orientation: "vertical" + + MDRaisedButton: + text: "Submit" + pos_hint: {'center_x': 0.5} + size_hint_x: 0.8 + on_release: root.submit() + +: + camera_area: camera_area + toolbar: toolbar + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Time left: " + anchor_title: "center" + left_action_items: [["arrow-up", lambda x: root.exit(app)]] + right_action_items: [["help", lambda x: root.open_help(app)]] + + MDBoxLayout: + id: camera_area + orientation: "vertical" + size_hint_y: 0.7 + padding: 10 + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.2 + padding: 10 + + MDIconButton: + icon: "camera" + on_release: root.capture(app) + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + +: + image: image + caption: caption + toolbar: toolbar + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + + MDTopAppBar: + id: toolbar + title: "Time left: " + anchor_title: "center" + left_action_items: [["arrow-up", lambda x: root.exit(app)]] + right_action_items: [["help", lambda x: root.open_help(app)]] + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.1 + padding: 10 + + MDRaisedButton: + text: "Retake photo?" + on_release: root.retake(app) + size_hint_x: 1 + pos_hint: {'center_y': 0.5} + + MDBoxLayout: + id: image_area + orientation: "vertical" + size_hint_y: 0.5 + padding: 10 + + FitImage: + id: image + source: "" + + MDBoxLayout: + orientation: "vertical" + size_hint_y: 0.3 + padding: 15 + spacing:10 + + MDTextField: + id: caption + hint_text: "Caption" + helper_text: "This text will appear alongside your photo" + size_hint_x: 1 + + MDRaisedButton: + text: "Post" + size_hint_x: 1 + on_release: root.post(app) + +: + name_input: name_input + role_input: role_input + + MDBoxLayout: + orientation: "vertical" + spacing: 10 + padding: 20 + + MDBoxLayout: + id: step0 + orientation: "vertical" + size_hint_y: 0.1 + + MDLabel: + text: "Before doing anything else, please download the ntfy app or navigate to your organisations ntfy site. Then subscribe to the topic:" + font_style: "H6" + + MDLabel: + id: topic_name + text: "Could not fetch topic name" + font_style: "H5" + + MDBoxLayout: + id: step1 + orientation: "vertical" + size_hint_y: 0.15 + + MDLabel: + text: "Step 1: Tell us your name" + + MDTextField: + id: name_input + hint_text: "Name" + + MDBoxLayout: + id: step2 + orientation: "vertical" + size_hint_y: 0.15 + + MDLabel: + text: "Step 2: Let everyone know your role in the organisation" + + MDTextField: + id: role_input + hint_text: "Role" + + MDBoxLayout: + id: step3 + orientation: "vertical" + size_hint_y: 0.3 + + MDLabel: + text: "Step 3: Request to set your occupation, people with the same occupation will be grouped together into the same team. People in the same team will be able to see eachothers posts" + + MDBoxLayout: + id: summary + orientation: "vertical" + size_hint_y: 0.3 + + MDLabel: + text: "Management or an admin will approve your request soon!\nFor now head over to the friends page and send some friend requests" + MDLabel: + text: "To get there click the profile button in the top left hand corner the homepage, and then click the friends button in the top left hand corner on the profile page" + + MDRaisedButton: + text: "Done" + size_hint_x: 0.8 + pos_hint: {'center_x': 0.5} + on_release: root.done(app) diff --git a/client/requirements.txt b/client/requirements.txt new file mode 100644 index 0000000..be933c0 --- /dev/null +++ b/client/requirements.txt @@ -0,0 +1,13 @@ +cython +python-socketio==5.8.0 +eventlet==0.33.3 +pathlib==1.0.1 +datetime +pillow==9.5.0 +setuptools +python-dotenv==1.0.0 +pyinstaller==6.3.0 +wheel==0.41.2 +packaging==23.2 +kivy[full]==2.3 +kivymd==1.1.1 diff --git a/depricated/server/recomend-old.py b/depricated/server/recomend-old.py new file mode 100644 index 0000000..5c33775 --- /dev/null +++ b/depricated/server/recomend-old.py @@ -0,0 +1,132 @@ +from modules.user import info as user_info +from modules.algorithms.univ import dict_key_verify +from modules.algorithms.uuid import hash_string + +class User(): + def __init__(self, username, origin=False): + self.username = username + self.friends = user_info.friend(username=username) + self.origin = origin + + self.exclude = [] + self.count = 1 + self.depth = 0 + self.score = 0 + + self.friend_list = [] + + def find_friends(self, exclude=[], **kwargs): + self.exclude += exclude + friends = self.friends.get() + if dict_key_verify(friends, "friends"): + self.__organise_friends(friends['friends']) + + self.__find_excluded() + + def __organise_friends(self, friends, **kwargs): + for friend in friends: + if friend['username'] not in self.exclude: + self.friend_list.append(User(friend['username'])) + + def __find_excluded(self): + if self.username not in self.exclude: + self.exclude.append(self.username) + if self.origin: + self.exclude = self.exclude + [friend.username for friend in self.friend_list] + requests = self.friends.get_requests() + print(f"requests: {requests}") + if dict_key_verify(requests, "requests"): + self.exclude = self.exclude + [request for request in requests["requests"]] + print(f"EXCLUDED: {self.exclude}") + + def __hash__(self): + obj_hash = hash_string(self.username) + return obj_hash + +class Graph(): + def __init__(self, username): + self.origin_user = User(username, True) + self.graph = [[]] * (10**7+7) + + self.friend_directory = [None] * (10**7+7) + self.friend_directory[hash(self.origin_user)] = self.origin_user + self.exclude = [] + + def generate(self, depth=1): + self.__add_user_friends(self.origin_user, self.origin_user, depth) + + def __add_user_friends(self, origin, source, depth): + origin.find_friends(self.exclude + [source.username]) + if hash(self.origin_user) == hash(origin): + self.exclude += origin.exclude + + for friend in origin.friend_list: + friend_hash = hash(friend) + self.__add_edge(hash(origin), friend_hash) + if self.friend_directory[friend_hash]: + self.friend_directory[friend_hash].count += 1 + self.friend_directory[friend_hash].depth += depth + else: + self.friend_directory[friend_hash] = friend + + if depth-1 > 0: + self.__add_user_friends(friend, origin, depth-1) + + def __add_edge(self, node, edge): + self.graph[node] = self.graph[node] + [edge] + + + def dft(self): + self.visted = [] + self.edge_stack = [hash(self.origin_user)] + self.edge_queue = [hash(self.origin_user)] + + self.__visit(self.edge_stack[0]) + + def __visit(self, origin): + start_pos = self.graph[origin] + self.__on_visit(origin) + + self.edge_stack.pop(len(self.edge_stack)-1) + self.visted.append(origin) + + for neigbour in start_pos: + if neigbour not in self.visted and neigbour not in self.edge_stack: + self.edge_stack.append(neigbour) + + while len(self.edge_stack) > 0: + i = len(self.edge_stack) - 1 + self.__visit(self.edge_stack[i]) + + def __on_visit(self, origin): + origin_obj = self.friend_directory[origin] + origin_obj.score += origin_obj.depth + + def recomend_friends(self): + self.recomendations = [] + while len(self.recomendations) != len(self.visted): + largest = User(username="") + largest.score = -1 + for friend in self.visted: + friend_obj = self.friend_directory[friend] + if friend_obj not in self.recomendations and friend_obj.score > largest.score: + largest = friend_obj + self.recomendations.append(largest) + +def recomend_friend(amount=1, depth=1): + if depth not in [1, 2, 3, 4]: + depth = 4 + friend_graph = Graph("user1") + friend_graph.generate(depth) + friend_graph.dft() + friend_graph.recomend_friends() + + recomended = [{'username': recomended.username} for recomended in friend_graph.recomendations[:amount]] + print(recomended) + return recomended + +def main(): + recomend_friend(3, 4) + +if __name__ == "__main__": + main() diff --git a/depricated/server/recomendation.py b/depricated/server/recomendation.py new file mode 100644 index 0000000..fc6da6d --- /dev/null +++ b/depricated/server/recomendation.py @@ -0,0 +1,156 @@ +from modules.user import info as user_info +from modules.algorithms.univ import dict_key_verify +from modules.algorithms.uuid import hash_string + +# RBP +import time +# RBP + +class user(): + def __init__(self, username, origin=False, **kwargs): + self.username = username + self.origin = origin + self.friend_list = [] + self.friends = user_info.friend(username=self.username) + self.count = 1 + + def print_list(self): + username_list = [friend.username for friend in self.friend_list] + return username_list + + def print_count(self): + count_list = [] + for friend in self.friend_list: + if self.friend_count[hash(friend)] != 0: + count_list.append({friend.username: friend.count}) + return count_list + + def get_friends(self, depth=1, exclude=[], **kwargs): + friends = self.friends.get() + if dict_key_verify(friends, "friends"): + self.__organise_friends(friends['friends'], depth, exclude) + + def __organise_friends(self, friends, depth=1, exclude=[], **kwargs): + for friend in friends: + if friend['username'] not in exclude: + self.friend_list.append(user(friend['username'])) + + depth -= 1 + if depth > 0: + if self.username not in exclude: + exclude.append(self.username) + if self.origin: + exclude = exclude + [friend.username for friend in self.friend_list] + + for friend in self.friend_list: + friend.get_friends(depth=depth, exclude=exclude) + + def count_friend_frequency_old(self): + friend_count = [] + self.friend_count = self.__inspect_friends(friend_count) + + def __inspect_friends_old(self, friend_count): + for friend in self.friend_list: + if friend.friend_list: + friend_count = friend.__inspect_friends(friend_count) + hash_friend_count = [hash(friend) for friend in friend_count] + + found = False + for i, friend_hash in enumerate(hash_friend_count): + if friend_hash == hash(friend): + friend_count[i].count += 1 + found = True + break + + if not found: + friend_count.append(friend) + + return friend_count + + def count_friend_frequency(self): + pre = time.time() + friend_count = [0]*(10**7+7) + print(f"friend_count took to create: {time.time() - pre}") + self.friend_count = self.__inspect_friends(friend_count) + + def __inspect_friends(self, friend_count): + for friend in self.friend_list: + if friend.friend_list: + friend_count = friend.__inspect_friends(friend_count) + print("returned") + + print("") + if friend in friend_count: + pre = time.time() + friend_count[hash(friend)].count += 1 + print(f"count lookup took: {time.time() - pre}") + else: + pre = time.time() + friend_count[hash(friend)] = friend + print(f"append lookup took: {time.time() - pre}") + + print("RETURNING") + return friend_count + + def count_user_frequency(self): + user_id = user_info.user_id(username=self.username).get()['user_id'] + self.cur.execute("SELECT COUNT * FROM friends WHERE friend_id = ?", (user_id,)) + rez = self.cur.fetchone() + if rez: + return rez[0] + else: + return 0 + + def __hash__(self): + obj_hash = hash_string(self.username) + return obj_hash + +def choose_recomendations(amount, origin_user): + recomended = [] + recomended_hash = [] + for i in range(amount): + largest = user("user") + largest.count = 0 + + for friend in origin_user.friend_list: + if origin_user.friend_count[hash(friend)] != 0: + if hash(friend) not in recomended_hash: + if friend.count > largest.count: + largest = friend + + elif friend.count == largest.count: + largest_frequency = largest.count_user_frequency() + friend_frequency = friend.count_user_frequency() + + if friend_frequency > largest_frequency: + largest = friend + + recomended.append(largest) + recomended_hash.append(hash(largest)) + + # RBP + for i, friend in enumerate(recomended): + print(f"{i}: {friend.username}") + # RBP + + return recomended + +def friend_recomend(username, amount=1, depth=1, **kwargs): + origin_user = user(username, origin=True) + origin_user.get_friends(depth) + print(f"origin_user: {origin_user.username}: {origin_user.print_list()}") + + if not origin_user.friend_list: + # NOT FINSIHED + pass + db.cur.execute("SELECT COUNT * FROM friends") + + origin_user.count_friend_frequency() + print(origin_user.print_count()) + recomended = choose_recomendations(amount, origin_user) + +def main(): + friend_recomend("user1", 1, 3) + +if __name__ == "__main__": + main() diff --git a/docs/write-up.pdf b/docs/write-up.pdf new file mode 100644 index 0000000..6015a11 Binary files /dev/null and b/docs/write-up.pdf differ diff --git a/flatpak/.flatpak-builder/ccache/disabled/ccache.conf b/flatpak/.flatpak-builder/ccache/disabled/ccache.conf new file mode 100644 index 0000000..4d6556c --- /dev/null +++ b/flatpak/.flatpak-builder/ccache/disabled/ccache.conf @@ -0,0 +1 @@ +disable = true diff --git a/flatpak/.flatpak-builder/downloads/bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1/Pillow-9.5.0.tar.gz b/flatpak/.flatpak-builder/downloads/bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1/Pillow-9.5.0.tar.gz new file mode 100644 index 0000000..90b4cb7 Binary files /dev/null and b/flatpak/.flatpak-builder/downloads/bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1/Pillow-9.5.0.tar.gz differ diff --git a/flatpak/.flatpak-builder/downloads/d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d/Pillow-10.0.1.tar.gz b/flatpak/.flatpak-builder/downloads/d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d/Pillow-10.0.1.tar.gz new file mode 100644 index 0000000..31bfd42 Binary files /dev/null and b/flatpak/.flatpak-builder/downloads/d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d/Pillow-10.0.1.tar.gz differ diff --git a/flatpak/.flatpak-builder/downloads/e8b8610c7f8ef6db908a139d369b247378f18105c96981e492eab2b4706c79d5/Kivy-2.3.0.tar.gz b/flatpak/.flatpak-builder/downloads/e8b8610c7f8ef6db908a139d369b247378f18105c96981e492eab2b4706c79d5/Kivy-2.3.0.tar.gz new file mode 100644 index 0000000..7f3e4df Binary files /dev/null and b/flatpak/.flatpak-builder/downloads/e8b8610c7f8ef6db908a139d369b247378f18105c96981e492eab2b4706c79d5/Kivy-2.3.0.tar.gz differ diff --git a/flatpak/.flatpak-builder/downloads/f434053ba1b5c8a5cc597e966ead3c5143012af827fd3f0697d21450bb8d87a6/Python-3.6.5.tar.xz b/flatpak/.flatpak-builder/downloads/f434053ba1b5c8a5cc597e966ead3c5143012af827fd3f0697d21450bb8d87a6/Python-3.6.5.tar.xz new file mode 100644 index 0000000..e7f365d Binary files /dev/null and b/flatpak/.flatpak-builder/downloads/f434053ba1b5c8a5cc597e966ead3c5143012af827fd3f0697d21450bb8d87a6/Python-3.6.5.tar.xz differ diff --git a/flatpak/flatpak-pip-generator b/flatpak/flatpak-pip-generator new file mode 100644 index 0000000..e93a9ec --- /dev/null +++ b/flatpak/flatpak-pip-generator @@ -0,0 +1,494 @@ +#!/usr/bin/env python3 + +__license__ = 'MIT' + +import argparse +import json +import hashlib +import os +import re +import shutil +import subprocess +import sys +import tempfile +import urllib.request + +from collections import OrderedDict +from typing import Dict + +try: + import requirements +except ImportError: + exit('Requirements modules is not installed. Run "pip install requirements-parser"') + +parser = argparse.ArgumentParser() +parser.add_argument('packages', nargs='*') +parser.add_argument('--python2', action='store_true', + help='Look for a Python 2 package') +parser.add_argument('--cleanup', choices=['scripts', 'all'], + help='Select what to clean up after build') +parser.add_argument('--requirements-file', '-r', + help='Specify requirements.txt file') +parser.add_argument('--build-only', action='store_const', + dest='cleanup', const='all', + help='Clean up all files after build') +parser.add_argument('--build-isolation', action='store_true', + default=False, + help=( + 'Do not disable build isolation. ' + 'Mostly useful on pip that does\'t ' + 'support the feature.' + )) +parser.add_argument('--ignore-installed', + type=lambda s: s.split(','), + default='', + help='Comma-separated list of package names for which pip ' + 'should ignore already installed packages. Useful when ' + 'the package is installed in the SDK but not in the ' + 'runtime.') +parser.add_argument('--checker-data', action='store_true', + help='Include x-checker-data in output for the "Flatpak External Data Checker"') +parser.add_argument('--output', '-o', + help='Specify output file name') +parser.add_argument('--runtime', + help='Specify a flatpak to run pip inside of a sandbox, ensures python version compatibility') +parser.add_argument('--yaml', action='store_true', + help='Use YAML as output format instead of JSON') +parser.add_argument('--ignore-errors', action='store_true', + help='Ignore errors when downloading packages') +parser.add_argument('--ignore-pkg', nargs='*', + help='Ignore a package when generating the manifest. Can only be used with a requirements file') +opts = parser.parse_args() + +if opts.yaml: + try: + import yaml + except ImportError: + exit('PyYAML modules is not installed. Run "pip install PyYAML"') + + +def get_pypi_url(name: str, filename: str) -> str: + url = 'https://pypi.org/pypi/{}/json'.format(name) + print('Extracting download url for', name) + with urllib.request.urlopen(url) as response: + body = json.loads(response.read().decode('utf-8')) + for release in body['releases'].values(): + for source in release: + if source['filename'] == filename: + return source['url'] + raise Exception('Failed to extract url from {}'.format(url)) + + +def get_tar_package_url_pypi(name: str, version: str) -> str: + url = 'https://pypi.org/pypi/{}/{}/json'.format(name, version) + with urllib.request.urlopen(url) as response: + body = json.loads(response.read().decode('utf-8')) + for ext in ['bz2', 'gz', 'xz', 'zip']: + for source in body['urls']: + if source['url'].endswith(ext): + return source['url'] + err = 'Failed to get {}-{} source from {}'.format(name, version, url) + raise Exception(err) + + +def get_package_name(filename: str) -> str: + if filename.endswith(('bz2', 'gz', 'xz', 'zip')): + segments = filename.split('-') + if len(segments) == 2: + return segments[0] + return '-'.join(segments[:len(segments) - 1]) + elif filename.endswith('whl'): + segments = filename.split('-') + if len(segments) == 5: + return segments[0] + candidate = segments[:len(segments) - 4] + # Some packages list the version number twice + # e.g. PyQt5-5.15.0-5.15.0-cp35.cp36.cp37.cp38-abi3-manylinux2014_x86_64.whl + if candidate[-1] == segments[len(segments) - 4]: + return '-'.join(candidate[:-1]) + return '-'.join(candidate) + else: + raise Exception( + 'Downloaded filename: {} does not end with bz2, gz, xz, zip, or whl'.format(filename) + ) + + +def get_file_version(filename: str) -> str: + name = get_package_name(filename) + segments = filename.split(name + '-') + version = segments[1].split('-')[0] + for ext in ['tar.gz', 'whl', 'tar.xz', 'tar.gz', 'tar.bz2', 'zip']: + version = version.replace('.' + ext, '') + return version + + +def get_file_hash(filename: str) -> str: + sha = hashlib.sha256() + print('Generating hash for', filename.split('/')[-1]) + with open(filename, 'rb') as f: + while True: + data = f.read(1024 * 1024 * 32) + if not data: + break + sha.update(data) + return sha.hexdigest() + + +def download_tar_pypi(url: str, tempdir: str) -> None: + with urllib.request.urlopen(url) as response: + file_path = os.path.join(tempdir, url.split('/')[-1]) + with open(file_path, 'x+b') as tar_file: + shutil.copyfileobj(response, tar_file) + + +def parse_continuation_lines(fin): + for line in fin: + line = line.rstrip('\n') + while line.endswith('\\'): + try: + line = line[:-1] + next(fin).rstrip('\n') + except StopIteration: + exit('Requirements have a wrong number of line continuation characters "\\"') + yield line + + +def fprint(string: str) -> None: + separator = '=' * 72 # Same as `flatpak-builder` + print(separator) + print(string) + print(separator) + + +packages = [] +if opts.requirements_file: + requirements_file_input = os.path.expanduser(opts.requirements_file) + try: + with open(requirements_file_input, 'r') as req_file: + reqs = parse_continuation_lines(req_file) + reqs_as_str = '\n'.join([r.split('--hash')[0] for r in reqs]) + reqs_list_raw = reqs_as_str.splitlines() + py_version_regex = re.compile(r';.*python_version .+$') # Remove when pip-generator can handle python_version + reqs_list = [py_version_regex.sub('', p) for p in reqs_list_raw] + if opts.ignore_pkg: + reqs_new = '\n'.join(i for i in reqs_list if i not in opts.ignore_pkg) + else: + reqs_new = reqs_as_str + packages = list(requirements.parse(reqs_new)) + with tempfile.NamedTemporaryFile('w', delete=False, prefix='requirements.') as req_file: + req_file.write(reqs_new) + requirements_file_output = req_file.name + except FileNotFoundError as err: + print(err) + sys.exit(1) + +elif opts.packages: + packages = list(requirements.parse('\n'.join(opts.packages))) + with tempfile.NamedTemporaryFile('w', delete=False, prefix='requirements.') as req_file: + req_file.write('\n'.join(opts.packages)) + requirements_file_output = req_file.name +else: + if not len(sys.argv) > 1: + exit('Please specifiy either packages or requirements file argument') + else: + exit('This option can only be used with requirements file') + +for i in packages: + if i["name"].lower().startswith("pyqt"): + print("PyQt packages are not supported by flapak-pip-generator") + print("However, there is a BaseApp for PyQt available, that you should use") + print("Visit https://github.com/flathub/com.riverbankcomputing.PyQt.BaseApp for more information") + sys.exit(0) + +with open(requirements_file_output, 'r') as req_file: + use_hash = '--hash=' in req_file.read() + +python_version = '2' if opts.python2 else '3' +if opts.python2: + pip_executable = 'pip2' +else: + pip_executable = 'pip3' + +if opts.runtime: + flatpak_cmd = [ + 'flatpak', + '--devel', + '--share=network', + '--filesystem=/tmp', + '--command={}'.format(pip_executable), + 'run', + opts.runtime + ] + if opts.requirements_file: + if os.path.exists(requirements_file_output): + prefix = os.path.realpath(requirements_file_output) + flag = '--filesystem={}'.format(prefix) + flatpak_cmd.insert(1,flag) +else: + flatpak_cmd = [pip_executable] + +output_path = '' + +if opts.output: + output_path = os.path.dirname(opts.output) + output_package = os.path.basename(opts.output) +elif opts.requirements_file: + output_package = 'python{}-{}'.format( + python_version, + os.path.basename(opts.requirements_file).replace('.txt', ''), + ) +elif len(packages) == 1: + output_package = 'python{}-{}'.format( + python_version, packages[0].name, + ) +else: + output_package = 'python{}-modules'.format(python_version) +if opts.yaml: + output_filename = os.path.join(output_path, output_package) + '.yaml' +else: + output_filename = os.path.join(output_path, output_package) + '.json' + +modules = [] +vcs_modules = [] +sources = {} + +tempdir_prefix = 'pip-generator-{}'.format(output_package) +with tempfile.TemporaryDirectory(prefix=tempdir_prefix) as tempdir: + pip_download = flatpak_cmd + [ + 'download', + '--exists-action=i', + '--dest', + tempdir, + '-r', + requirements_file_output + ] + if use_hash: + pip_download.append('--require-hashes') + + fprint('Downloading sources') + cmd = ' '.join(pip_download) + print('Running: "{}"'.format(cmd)) + try: + subprocess.run(pip_download, check=True) + os.remove(requirements_file_output) + except subprocess.CalledProcessError: + os.remove(requirements_file_output) + print('Failed to download') + print('Please fix the module manually in the generated file') + if not opts.ignore_errors: + print('Ignore the error by passing --ignore-errors') + raise + + try: + os.remove(requirements_file_output) + except FileNotFoundError: + pass + + fprint('Downloading arch independent packages') + for filename in os.listdir(tempdir): + if not filename.endswith(('bz2', 'any.whl', 'gz', 'xz', 'zip')): + version = get_file_version(filename) + name = get_package_name(filename) + url = get_tar_package_url_pypi(name, version) + print('Deleting', filename) + try: + os.remove(os.path.join(tempdir, filename)) + except FileNotFoundError: + pass + print('Downloading {}'.format(url)) + download_tar_pypi(url, tempdir) + + files = {get_package_name(f): [] for f in os.listdir(tempdir)} + + for filename in os.listdir(tempdir): + name = get_package_name(filename) + files[name].append(filename) + + # Delete redundant sources, for vcs sources + for name in files: + if len(files[name]) > 1: + zip_source = False + for f in files[name]: + if f.endswith('.zip'): + zip_source = True + if zip_source: + for f in files[name]: + if not f.endswith('.zip'): + try: + os.remove(os.path.join(tempdir, f)) + except FileNotFoundError: + pass + + vcs_packages = { + x.name: {'vcs': x.vcs, 'revision': x.revision, 'uri': x.uri} + for x in packages + if x.vcs + } + + fprint('Obtaining hashes and urls') + for filename in os.listdir(tempdir): + name = get_package_name(filename) + sha256 = get_file_hash(os.path.join(tempdir, filename)) + + if name in vcs_packages: + uri = vcs_packages[name]['uri'] + revision = vcs_packages[name]['revision'] + vcs = vcs_packages[name]['vcs'] + url = 'https://' + uri.split('://', 1)[1] + s = 'commit' + if vcs == 'svn': + s = 'revision' + source = OrderedDict([ + ('type', vcs), + ('url', url), + (s, revision), + ]) + is_vcs = True + else: + url = get_pypi_url(name, filename) + source = OrderedDict([ + ('type', 'file'), + ('url', url), + ('sha256', sha256)]) + if opts.checker_data: + source['x-checker-data'] = { + 'type': 'pypi', + 'name': name} + if url.endswith(".whl"): + source['x-checker-data']['packagetype'] = 'bdist_wheel' + is_vcs = False + sources[name] = {'source': source, 'vcs': is_vcs} + +# Python3 packages that come as part of org.freedesktop.Sdk. +system_packages = ['cython', 'easy_install', 'mako', 'markdown', 'meson', 'pip', 'pygments', 'setuptools', 'six', 'wheel'] + +fprint('Generating dependencies') +for package in packages: + + if package.name is None: + print('Warning: skipping invalid requirement specification {} because it is missing a name'.format(package.line), file=sys.stderr) + print('Append #egg= to the end of the requirement line to fix', file=sys.stderr) + continue + elif package.name.casefold() in system_packages: + print(f"{package.name} is in system_packages. Skipping.") + continue + + if len(package.extras) > 0: + extras = '[' + ','.join(extra for extra in package.extras) + ']' + else: + extras = '' + + version_list = [x[0] + x[1] for x in package.specs] + version = ','.join(version_list) + + if package.vcs: + revision = '' + if package.revision: + revision = '@' + package.revision + pkg = package.uri + revision + '#egg=' + package.name + else: + pkg = package.name + extras + version + + dependencies = [] + # Downloads the package again to list dependencies + + tempdir_prefix = 'pip-generator-{}'.format(package.name) + with tempfile.TemporaryDirectory(prefix='{}-{}'.format(tempdir_prefix, package.name)) as tempdir: + pip_download = flatpak_cmd + [ + 'download', + '--exists-action=i', + '--dest', + tempdir, + ] + try: + print('Generating dependencies for {}'.format(package.name)) + subprocess.run(pip_download + [pkg], check=True, stdout=subprocess.DEVNULL) + for filename in sorted(os.listdir(tempdir)): + dep_name = get_package_name(filename) + if dep_name.casefold() in system_packages: + continue + dependencies.append(dep_name) + + except subprocess.CalledProcessError: + print('Failed to download {}'.format(package.name)) + + is_vcs = True if package.vcs else False + package_sources = [] + for dependency in dependencies: + if dependency in sources: + source = sources[dependency] + elif dependency.replace('_', '-') in sources: + source = sources[dependency.replace('_', '-')] + else: + continue + + if not (not source['vcs'] or is_vcs): + continue + + package_sources.append(source['source']) + + if package.vcs: + name_for_pip = '.' + else: + name_for_pip = pkg + + module_name = 'python{}-{}'.format(python_version, package.name) + + pip_command = [ + pip_executable, + 'install', + '--verbose', + '--exists-action=i', + '--no-index', + '--find-links="file://${PWD}"', + '--prefix=${FLATPAK_DEST}', + '"{}"'.format(name_for_pip) + ] + if package.name in opts.ignore_installed: + pip_command.append('--ignore-installed') + if not opts.build_isolation: + pip_command.append('--no-build-isolation') + + module = OrderedDict([ + ('name', module_name), + ('buildsystem', 'simple'), + ('build-commands', [' '.join(pip_command)]), + ('sources', package_sources), + ]) + if opts.cleanup == 'all': + module['cleanup'] = ['*'] + elif opts.cleanup == 'scripts': + module['cleanup'] = ['/bin', '/share/man/man1'] + + if package.vcs: + vcs_modules.append(module) + else: + modules.append(module) + +modules = vcs_modules + modules +if len(modules) == 1: + pypi_module = modules[0] +else: + pypi_module = { + 'name': output_package, + 'buildsystem': 'simple', + 'build-commands': [], + 'modules': modules, + } + +print() +with open(output_filename, 'w') as output: + if opts.yaml: + class OrderedDumper(yaml.Dumper): + def increase_indent(self, flow=False, indentless=False): + return super(OrderedDumper, self).increase_indent(flow, False) + + def dict_representer(dumper, data): + return dumper.represent_dict(data.items()) + + OrderedDumper.add_representer(OrderedDict, dict_representer) + + output.write("# Generated with flatpak-pip-generator " + " ".join(sys.argv[1:]) + "\n") + yaml.dump(pypi_module, output, Dumper=OrderedDumper) + else: + output.write(json.dumps(pypi_module, indent=4)) + print('Output saved to {}'.format(output_filename)) diff --git a/flatpak/org.flatpak.BeOpen.yml b/flatpak/org.flatpak.BeOpen.yml new file mode 100644 index 0000000..d0cb532 --- /dev/null +++ b/flatpak/org.flatpak.BeOpen.yml @@ -0,0 +1,25 @@ +id: org.flatpak.BeOpen +runtime: org.freedesktop.Platform +runtime-version: '23.08' +sdk: org.freedesktop.Sdk +command: runner.sh +modules: + - python3-requirements.json + - name: cpython + sources: + - type: archive + url: https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz + sha256: f434053ba1b5c8a5cc597e966ead3c5143012af827fd3f0697d21450bb8d87a6 + - name: runner + buildsystem: simple + build-commands: + - install -D main.py /app/main.py + - install -D modules /app/modules + - install -D runner.sh /app/bin/runner.sh + sources: + - type: file + path: ../runner.sh + - type: file + path: ../main.py + - type: dir + path: ../modules diff --git a/flatpak/org.flatpak.BeOpen_1.yml b/flatpak/org.flatpak.BeOpen_1.yml new file mode 100644 index 0000000..6019819 --- /dev/null +++ b/flatpak/org.flatpak.BeOpen_1.yml @@ -0,0 +1,23 @@ +id: org.flatpak.BeOpen +runtime: org.freedesktop.Platform.ffmpeg-full +runtime-version: '22.08' +sdk: org.freedesktop.Sdk +command: runner.sh +modules: + - python3-requirements.json + - name: runner + buildsystem: simple + build-options: + build-args: [--share=network] + build-commands: + - install -D runner.sh /app/bin/runner.sh + - install -D main.py /app/main.py + - cp -r modules/ /app/modules + sources: + - type: file + path: runner.sh + - type: file + path: ../main.py + - type: dir + path: ../modules/ + dest: modules/ diff --git a/flatpak/python3-requirements.json b/flatpak/python3-requirements.json new file mode 100644 index 0000000..fd95fef --- /dev/null +++ b/flatpak/python3-requirements.json @@ -0,0 +1,287 @@ +{ + "name": "python3-requirements", + "buildsystem": "simple", + "build-commands": [], + "modules": [ + { + "name": "python3-python-socketio", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"python-socketio==5.8.0\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/b5/82/ce0b6380f35f49d3fe687979a324c342cfa3588380232f3801db9dd62f9e/bidict-0.22.1-py3-none-any.whl", + "sha256": "6ef212238eb884b664f28da76f33f1d28b260f665fc737b413b287d5487d1e7b" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", + "sha256": "e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/4f/ca/b14136484c9a10230abbf44a89041ccd2c696d0cb425e53f48ca0de0d1e7/python_engineio-4.8.2-py3-none-any.whl", + "sha256": "a357f0aba275c311b66f22181472ed5b174bbc541742eea1d16feae2fa1afabd" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/5d/e9/f296186e2a91f1472b9da74346163411196dc1b17f425acf088f293b32cc/python_socketio-5.8.0-py3-none-any.whl", + "sha256": "7adb8867aac1c2929b9c1429f1c02e12ca4c36b67c807967393e367dfbb01441" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/6d/ea/288a8ac1d9551354488ff60c0ac6a76acc3b6b60f0460ac1944c75e240da/simple_websocket-1.0.0-py3-none-any.whl", + "sha256": "1d5bf585e415eaa2083e2bcf02a3ecf91f9712e7b3e6b9fa0b461ad04e0837bc" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl", + "sha256": "b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736" + } + ] + }, + { + "name": "python3-eventlet", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"eventlet==0.33.3\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/f6/b4/0a9bee52c50f226a3cbfb54263d02bb421c7f2adc136520729c2c689c1e5/dnspython-2.4.2-py3-none-any.whl", + "sha256": "57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/90/97/928b89de2e23cc67136eccccf1c122adf74ffdb65bbf7d2964b937cedd4f/eventlet-0.33.3-py2.py3-none-any.whl", + "sha256": "e43b9ae05ba4bb477a10307699c9aff7ff86121b2640f9184d29059f5a687df8" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/17/14/3bddb1298b9a6786539ac609ba4b7c9c0842e12aa73aaa4d8d73ec8f8185/greenlet-3.0.3.tar.gz", + "sha256": "43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491" + } + ] + }, + { + "name": "python3-pathlib", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pathlib==1.0.1\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/78/f9/690a8600b93c332de3ab4a344a4ac34f00c8f104917061f779db6a918ed6/pathlib-1.0.1-py3-none-any.whl", + "sha256": "f35f95ab8b0f59e6d354090350b44a80a80635d22efdedfa84c7ad1cf0a74147" + } + ] + }, + { + "name": "python3-datetime", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"datetime\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/ff/d5/f508192a563ab7415d1efbbe8d39cb9f0e510a1f6aaee3ca7d4ffed2a194/DateTime-5.4-py3-none-any.whl", + "sha256": "88caf4d2441fe479038f4740a1071953686f7c1ed6c9e8c7df9ebe84e592f0c6" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/32/4d/aaf7eff5deb402fd9a24a1449a8119f00d74ae9c2efa79f8ef9994261fc2/pytz-2023.3.post1-py2.py3-none-any.whl", + "sha256": "ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/87/03/6b85c1df2dca1b9acca38b423d1e226d8ffdf30ebd78bcb398c511de8b54/zope.interface-6.1.tar.gz", + "sha256": "2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309" + } + ] + }, + { + "name": "python3-pillow", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pillow==9.5.0\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz", + "sha256": "bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1" + } + ] + }, + { + "name": "python3-python-dotenv", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"python-dotenv==1.0.0\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/44/2f/62ea1c8b593f4e093cc1a7768f0d46112107e790c3e478532329e434f00b/python_dotenv-1.0.0-py3-none-any.whl", + "sha256": "f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a" + } + ] + }, + { + "name": "python3-pyinstaller", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyinstaller==6.3.0\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/4d/3f/3bc3f1d83f6e4a7fcb834d3720544ca597590425be5ba9db032b2bf322a2/altgraph-0.17.4-py2.py3-none-any.whl", + "sha256": "642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl", + "sha256": "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/5c/b5/79e53c645c3f458cde165493ed71c1cac478fce67f204ad6ecca48b47440/pyinstaller-6.3.0.tar.gz", + "sha256": "914d4c96cc99472e37ac552fdd82fbbe09e67bb592d0717fcffaa99ea74273df" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/66/1d/22823dbb4a5efaf8cdbd476940fdd19f644e4349a9085f431694b21ae001/pyinstaller_hooks_contrib-2023.12-py2.py3-none-any.whl", + "sha256": "6a601a0d783fa725327fc6ac712779475dc8979f639419c7fcd460dd8d0a6d2a" + } + ] + }, + { + "name": "python3-packaging", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"packaging==23.2\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl", + "sha256": "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7" + } + ] + }, + { + "name": "python3-kivy", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"kivy[full]==2.3\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/b0/8d/262e921d3cdfdca4c0fba6834235aa2abb6d569f781924a850d191cd23f1/Kivy-2.3.0.tar.gz", + "sha256": "e8b8610c7f8ef6db908a139d369b247378f18105c96981e492eab2b4706c79d5" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/6a/55/cd1555bde62f809219cbc5d8a0836b0293399da2f4ba4e8ee84b6a7cc393/Kivy_Garden-0.1.5-py3-none-any.whl", + "sha256": "ef50f44b96358cf10ac5665f27a4751bb34ef54051c54b93af891f80afe42929" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/64/62/428ef076be88fa93716b576e4a01f919d25968913e817077a386fcbe4f42/certifi-2023.11.17-py3-none-any.whl", + "sha256": "e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/63/09/c1bc53dab74b1816a00d8d030de5bf98f724c52c1635e07681d312f20be8/charset-normalizer-3.3.2.tar.gz", + "sha256": "f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl", + "sha256": "96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/b9/e8/f99fa2fe4abbdcc2f80d4b24cf65f3a049566e2cb61ec099d80ac51f367d/ffpyplayer-4.5.1.tar.gz", + "sha256": "d55d54563fcf6c334505b45d4b64825f24fafb5acfa7a9e472c08e877f549069" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl", + "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl", + "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/96/94/c31f58c7a7f470d5665935262ebd7455c7e4c7782eb525658d3dbf4b9403/urllib3-2.1.0-py3-none-any.whl", + "sha256": "55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3" + } + ] + }, + { + "name": "python3-kivymd", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"kivymd==1.1.1\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/b0/8d/262e921d3cdfdca4c0fba6834235aa2abb6d569f781924a850d191cd23f1/Kivy-2.3.0.tar.gz", + "sha256": "e8b8610c7f8ef6db908a139d369b247378f18105c96981e492eab2b4706c79d5" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/6a/55/cd1555bde62f809219cbc5d8a0836b0293399da2f4ba4e8ee84b6a7cc393/Kivy_Garden-0.1.5-py3-none-any.whl", + "sha256": "ef50f44b96358cf10ac5665f27a4751bb34ef54051c54b93af891f80afe42929" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/64/62/428ef076be88fa93716b576e4a01f919d25968913e817077a386fcbe4f42/certifi-2023.11.17-py3-none-any.whl", + "sha256": "e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/63/09/c1bc53dab74b1816a00d8d030de5bf98f724c52c1635e07681d312f20be8/charset-normalizer-3.3.2.tar.gz", + "sha256": "f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl", + "sha256": "96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl", + "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/35/55/d979644cdc9070a9611ab023db986aa0d540fc8f5fdd2c0f49eaef558751/kivymd-1.1.1.tar.gz", + "sha256": "931a0435c2a079c6dca755c50d0023b5e1c907f7b4ac8bb9e2834daa3cefe906" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl", + "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/96/94/c31f58c7a7f470d5665935262ebd7455c7e4c7782eb525658d3dbf4b9403/urllib3-2.1.0-py3-none-any.whl", + "sha256": "55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3" + } + ] + } + ] +} \ No newline at end of file diff --git a/flatpak/runner.sh b/flatpak/runner.sh new file mode 100644 index 0000000..c64f7a2 --- /dev/null +++ b/flatpak/runner.sh @@ -0,0 +1,2 @@ +#!/bin/sh +python3 /app/main.py diff --git a/server/.idea/.gitignore b/server/.idea/.gitignore new file mode 100644 index 0000000..1c2fda5 --- /dev/null +++ b/server/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/server/.idea/.name b/server/.idea/.name new file mode 100644 index 0000000..dc58448 --- /dev/null +++ b/server/.idea/.name @@ -0,0 +1 @@ +content.py \ No newline at end of file diff --git a/server/.idea/inspectionProfiles/profiles_settings.xml b/server/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/server/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/server/.idea/modules.xml b/server/.idea/modules.xml new file mode 100644 index 0000000..239ce8b --- /dev/null +++ b/server/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/server/.idea/server.iml b/server/.idea/server.iml new file mode 100644 index 0000000..d9e6024 --- /dev/null +++ b/server/.idea/server.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/server/bugs.txt b/server/bugs.txt new file mode 100644 index 0000000..7b9cf78 --- /dev/null +++ b/server/bugs.txt @@ -0,0 +1 @@ +time slot bugs when ticking past 12:00 pm | status: Fixed | Tested: FALSE diff --git a/server/builds/docker/beopen.tar b/server/builds/docker/beopen.tar new file mode 100644 index 0000000..29967e1 Binary files /dev/null and b/server/builds/docker/beopen.tar differ diff --git a/server/builds/docker/docker-compose.yml b/server/builds/docker/docker-compose.yml new file mode 100644 index 0000000..cbc051c --- /dev/null +++ b/server/builds/docker/docker-compose.yml @@ -0,0 +1,6 @@ +version: "3" +services: + beopen: + image: python-beopen + ports: + - '9999:9999' diff --git a/server/data/.cryptdatabase.db b/server/data/.cryptdatabase.db new file mode 100644 index 0000000..85d68da --- /dev/null +++ b/server/data/.cryptdatabase.db @@ -0,0 +1 @@ +gAAAAABlutODUI5HLdxxhX2md2e_o6vk1Db5JVxJUZ1MQiSzoDNAcIr3DnBgCGPPwkEsWCejTX1L3khg9AqWxiR1OyromegtZJ7pbwuoA3sjbi5NnEtMEMLcu6eVI3Uk9vtyXzcavrYmAXUXDDzhsjSqeNKnTYcpnDw-aeC7T7yLMrt9PfEF2ZxltUowcLBTEYus1ifTvO6uOe2tARMucv-KM02qSqb9pz2Qppp-bBDxFAogYqYx7vvwAO76CVeohed2p1XtD-aPL4PdUWLqGwT8ucBBc2BJGVS__fzuanf8i6i3KinD4lwOZv5rv0dxbMBwFwH95A2hGVbMzSzEmP4udIEpuDHOKajY4Lwq-U-gcmoXmtRY5XiVedS8Mq2v8GbXeAgWXbR4tKTNY9DzI3AN01jzl3uYvSKN0lW_v88TSThSSTffudvAktyn8TEiv4lyOzH-LAI29DVFYaY_g5wnnglNqRXGSY2n2dBh5-d1wQtSNkEpZJ1rFSOPXWDgc9zCvlw6G-rqotZiQN8zoOjwrCzOKcBKv60QuoHDMH8qBrgCBfMMNVB4MgZQsfGRC2LL3qko6SYRDPIgy4m8YIoEao4wjMDLmzJ5Uoi4MazLm52HCE4-iiBwwCUUvxd5i2ERiMaChLHfrhSDCvXuVjXEK4bz92Y4WMv3eMHf-aXJwtNa3fFA-sWbfeLQJ_a2TbN7wj25INTHPxpgBXZrInNnsoELpQr0X8i8yLhOH_hqSuvENP4qGNfYhlcAtSupV4x_jbYGcwMv3MbL1LyEVgz4gR_39C9KDNANr2yjbQQZ1oyjiEPAvXiU0ockjNwtupkJKBRfqQ9YxmvQ8j509lLV6Btcm1Nf9YcHXIq-pLDv2HQQSJV4jCp7JZLkWLoRt63Brgl8kVAEJllw6TnU6TT-gA-MmO8puFSOUcGmkmX1fOxo1G2gqaMSN9p4QPrtrRvXegGxoYLfqW4zw85Q_cd_OaYRPXAyt2654w30moUDGt7xvWbGumL0MoX-RbUElCoVxNY8kLkk-puMb-wB6jN8EIKj57591OPS2yFvMfw95q_fuoRqh_E4wKgrjU57CQAe64Me7jIe6KXcDLbw0NU1XMRNia0VAfIG2kDOKHPrBClToLV-QMe6FmGpc8_mN76w5a6Q3l59c9CXEE3QT25zHS-7wpXve5B58zPh2xd8V4FkXwNsqCW8M8xQ5kpvxdw0A-ovbVb6JTnBE3TIXtnGvMoCJZCt5ZoylVNv9FHOf-J3U-BUYYGUX5cURvECXiRpLxo9wYiQZOkcCvD9hV8Qv4S6px_TmVr2LLo-R5FdHjbg8XzvhEqmZffPymkIXHi5yzLF40q2rmi-cMYTlK7oV---Lds_2gtAlcEGumeaxmSRi9s94MQYysaZ_IFMQl8LT9WPf5KNeqM-ijylIXZS09GHW-wqQU1aY9hpaiV5_Iwy1nc-2s9h-S0DpUtw2Mp1cPtYUPtrsGYLiWHgim9Urhgx9tQ70FFwVe-QOW_c4GIbiHopdlRDcKn276BbG3o60w5ad8TgWbVsxgnnzeIGOOqOwf7Zd0Xq3bDNBwnrl5_Kww-TvQPVWQ1r1UO3if1XbyUpXRke1uNZEfiz99_yeTTgU2FCOYZ1s6gi9jDyfxaE5YMo8RwpjzO-Fjf_uyyP7Szgc0hadG0-nRkB4NjfzNN61q80jKLfv_pmAS_HTQ5_JmrpyJRw6m4VC2k_VtvnYzfUBhtDwhg4XSThyFgZ5aTBJGo1N-51kpqwAOTth7dE48bjvCTDGhqUZ2YrcDMF53xlEqkY6YrAKh6Prg5ptQdpWreo_Xh6TQ7tYr2TZZ6_QRz0YA3XkgjO0GsJ115XTOYZWAyRSAh27ekojU0A7QXsHaGksdW-gvewjDAK4cAnOJbqLS4_j5azpqg29QJSfRqUhbmtE4WC_wYG9UaQYIEqcdhhpY1icBoGVtkoInjzUTQsaTqxRS19SMarIY9pcJfRKn085xe33_W67OagKc76j8MnirkvbVhamYHXGe1LSgM9hwOGRwE_6pWzD8nYB6Kx9Zv6rGP80NuWJhGxH5b2ckIMjmk_4-V5qUhhqCGS1o2VoNu58HIk0JvU4XZeMPLSatmt9QeVJWhfxYXD6Czjj7wkNpUAOi3HW01jaGAaotuvMerXmJJox3uHzWZccXhFchICxlmxCUn93F0c8Yk6TU9_N4EUxSW2jQ5LV-cGseqdwwppjlO-DHMCwgtlaiG2wN38zqAnEbH5y1ah0M4h2C47pHtVKIp3E6mYSry0qkWgxlKQzYD_bmFhsSnTtvUQ5kutedPHrtP7k-Xs4N1oiNvWWPYDMTiqLfXt7M_J0JaA6P7zAGBUULm5RhgYCfADHE1AGLIuNfKUsRKIB6xXdb2Ex1qOgUFKoHi1l9QBrtxksPQ3GIjGrjZC3aE4Bwoz0WpMT8rHFvgNA0Icg_O7_yUsjeKAO6Qxy_bInqDwOATHjGDcvNdIcBFHdfR3OFubsk6Kt2qcrL2Lna5LsYf6mrULC6t1c1FxqmlJxFDLm9jRKT9XJIbst1i4AQKvCQwxQSX4VHh5xsyNvKeZG5Fo8o3Io3JqbLuR_S7gZ9mKgfR8pTd8AibIkYjB1hAGUEkjI5f4vdsLaoc5QFq8JS6m-duJ0zerZ8kObcp7EPp9qg8eLp85KLgbHZw60TxanbVvBOMFdkzn5X-VzBcDrWQImbGmKgELoEzSg9DltOQyrv8TedQtdZuYLKpMHEPYQSU2FHy0sLLMrKigqktpO8Lat2fHVz7XrCXOfTpOvoCL8Pnmn6fRohbOE2VW2GypueED21nRvbhpjXoC5PLdgT2qyxiLenpeoo3xyY04G9l9TZlhaWnZYy0C8mWJOLrR2GIcHHq0IJ3LVJOchvFZWsUzcApLThvT-ocv7FpSRAVSHlTEgeIewlrkcYuut6m_U2xHsfTIauxXh7lh4ij_dCj_gUNqh9mzKZePQaw-w03RBNIEqoFhFvh2s06BFVdTSOL1ihpRgOgA3mc425fMj5zT4D4ro6_dlZuFEG18XKtp-s72DauPP91QZx291PF1ABSDfHWz2-rM5mtJ80UGD9RJdpaOZNp18pcOov6i0zWoyI-T1KBcmYjB-aZcKrc2mP5RLpCqxLrpu3lVJo8mNhv7SYhWUmDnqRuJsnv-wwfcBfwYPCz-FDzNOZldrJMkzW_3zz_9ooCtDM-CIzQEr0e7HgHA1UIinMWXGc1D3-H1NlhBz429PIWarKcVYtYUflCosmVECNEQTyoIMsTs9Gcnet9dAbAEybh7v2uxPKh1_1bfvVc0VKRh11CYXH5st0jEECelst7njmeuO1j335ijQf5--pHu2LK_WeNubqo7BP3zwDvTCkR66dIb7WduAwNtUUm0kfFafc0bXgJaqBGI2j1sjjVK8KTsd704TOYjCAQLpbh5kBtiH59xmjT09OtQB0iS9uqTbuWsMtdt9wcWxNMO6mc_D0ckj3eaKX4WXqrgaE-R-IzvoGAYutUIfHtSLS1JTfYo4KWlloGpStM7fAxrT7STzO9XckI7PiN3eo4_eLvLyXgfKjoNQzWO6BtLHb6fj8ctQUlh80WZXFEfAsKks76D6mv8NRF4eIJnWhbjOrJiWA-gBWNSuEx80bF57oeDpoOCnH5oKAVmoHK1HFj123yRxQ1VFsaABQZ4hv7nL2EqGSAnK2Com0PlpJRtSb6KxQw89gNqs9P4CbJc-MwFLf9D4oqnm6KCm-CpaO5odp5BtJ4qY3jOmUi-_mXqvr7eT1tziT7DDnfxnpdBi8oPau8_scEdGUSuDrR1xIz6rijYTCi3NWhQ04B7Bq3FzF7uNlGhcoC1006T9eRRaeZESRRyP94__7tYm84E7xuXri5Hiw0qfVxETM1D81okbAg0Xt_7D64vTITy4djE98C3W_oY0C-VVZ_lzrujifKx9JNVPWOCyjZeFrpxmUAGTiY-DWCv82Aai77OhVMIyTTVMr-o05S38NLrNbrtpRDnjBcDVkG_SCsAKuARM9JNFvh2n2Y9z9htN-Pezt9rDuDsn7vMNaK1bdiP0sJiUQ_nbN_7RtEfNKuKFi2pga9jpLsrPv91befLRucjgkDJ5SDVTik3b7iq23Z9okgz9e87CDM7yxVMgt1-RpavfG2HC5s3kZVWo-NhYxwvcGS7bZaiSG4OLqB5Pso-Z0lmil0w218r1SYVZnrO6EPZvpamDxQZCg2ZB-T8_tHfu95h7M6xnkAJowQSpg4CeJxYgymemi9d-Sp4NW8Twvxe5IM4dcjA8CW_pZMizoBgSGFVndiQD0ed_UrIjDapZHNrIyzAcBPHr8Hnn5Cnd7VXWQFX345GAzSOlIkpkO_hZDWUehwOKv0YV6q-gK_7uPiyejyckVfFM1oSWB-8bZD8tpSRB2YRAsCP3YGPrKO5uotpuZqmxR7e8DZa3TXUAELITqFaqfVYSTSdAj5JdPnx9qawasNauLP24woZUMf-E_IhFeD9d-ZwbTO2qB9kubgrcTkmM-X0h321zxxeJvkgvOa7jvmSuPe7q_tWU27DiGp83u9b7nnjZlw2RnGotLJBYaykfZ1iP--w9HPv4-xlZm44cYV9gMqQEPVe-1B_9feGBii6GKzfSUq10rcuDmgHxdY8ys0U407P6lKZpL11PTUrD4EeSDOO3IPFxCySWW-v4JJDToTdoqTPruI5Ud9Of-IWjKHsy9uBUYtkj6FGrM95X1IQwmp1qQkI8LE3aEnGB6ahysZq0SFkk3UEYJoa4weA0PvQKb-n9JZbuN7ZW5UxPNzccrSsECR9jyk9Xj7CmQsEL6VfEVKt0OviVDKI6d2Y-Zfqo5khtgUCwaeC3PSiFOydt4p2sdRIa8AKkYtlSug6fvHVO9iYAeLRxHbRbVWoIzQmBgQ5gOLHvag2HocyWId5aQCK1CBmJeASfjY1e3GzVpxQJSzqFDC3_l4GWAnVLlfmI3TigS8qwphpWYzWKqL4TBaIqTs0bpdST8gFi72i9hxrbfNR0ROUpB0sPvQjwEkJ7OkS67i1o-6pF8-GcnZ0zDLPuiAyM8NRqK7D2SebTDO5f3zkDGr0nRjVDIrMFIqyHkdrG4eZALWBWiJcM80HgMnUtLeiwJY_R7SKXX-VErMypAzbM5yoPzKT6nD09K35zwEcmv2e2QFH3vHJQJEr7BFf7Wb-CaEr_2VoX2d84FKJn_RAROvz-lumRxNrzFdeMEqd7UsxpNDLEykvkraaJQlsNTwbrfZJsdKMYBMa3KSykb7g2WKifMSj-M-jSRtzzGR7I5OTa_soyKPKdXQF4_ccSdjYEHmGFHNCGjNqeSGYcXtyExDECRSqrbGUWOnCheo-4yw6BIfC-at-7LPq_XosPNiv1ak0927EcU-ZMD2srnkavX4IEI9tva2e-IJtWsVAuv4mEdVpl3EF0K3LIhlfnkCprmgL7MGbjJxLBPDI5_YueQq_rdrDqkshRpqQhrysIK2xdRMBryAsHDSI39UlM2pisaGpf_WFvrYv1sLU-Iw7o29e3ARbRxpFHVWZ4Hweu1B8siC79qnOxPcxE5QQk1Khkl_w4gAv-0vrVhgTj4waTjqIM-UiJYgZuej3bRLMNpPRfedaVEn9kVbqB29IQrCmB3f1SZTQhMJU1moTiCYoK2vUzu3-89Y6ykaFUDOI01EwHm6-9whJEDLLahx3jKtfFGUGWg6BpLBuY8FaPKM7CMkYELj67djNW_IGLSRGRD9mhaF2rItZ9ycC8ihxEB1RL4lV6UVfSOhHUtp25_YuXfhvs8BbR6bZU4voKs7IVlufjufq_A8CZvn24G0umoFuH4wlUokAorzUrPyAo2iL-vE0q0Cev3IHiuAL4UAC_3ai9i4zeDcx4sQ4oc_EfrajK18_sEZ9csibyVuXpDlmur05iBCys_-3QLeVpQP7E0J5afJCbunwG0Z0BBKmro7r0WOUvggo7zNpvrPh1ntoDqiwiH9_YfsLqmkCbHnW-bwtMXfJjqklPnl21j-5oBMkwJyAKz7iNX4CkHlH5WIOig_rCp5rUw7k-fROC7Hzdqn2D-JodnlLZP4MNX7pHHd5ZmttqxGElcbcEiL0BPJZr1aMW6VTZBj-fny2tKuPKt7QnnXDMSeqkzfqXVVeUOLR87m-I7AivtYaahybmbdUaS5KT23jtPb3I7eI1K7IqGhyHx4LZ-TCpCJ8w2XVsD8dB1a4N7p90MuQHAaPoSY9f83SaJdhDw4WREsLBLxQZVhrhkrpbXOHQbbKXkteADy4tOjvLn4-IrLjC5lGRfY-KQ3bkZQqU4F_hBc5AJm3CSHaqJ_4_lyey2UIxArmRQmjEnnRW5tc-_39E1wx8x_sBkx9m80N9nwbyAALNFHVXP7cF9dDoxyTP9HA186dgK24CXonL_hWctHBi0bEOu_nRvGdROtXujamPlzZ12wV66KCJjQIr0gDfZiWbxwUw-EZ3IoRWckBJH30TbgCsAAiIRkoDadkv6c1H3kO1M1-VE24SSdL9ZQ2za8FBsFXIgZrYLaC9l-p-ASouYJpIqOZG9Uty-k5QWSzqz1NYP1ymE2utGVrhixkn1LKhb4J7tBTfrtgZz14wnzb7W_sdCoY7QP1SmIkW7d9md62y3HGneGes9_M7DhJnRMd_lqwQMOHrKIolmIb4KiPaLpeFjE-YJYhaNcXIovj63RIsZefd9F6Kr8_0dEQJAEqD9gvyjNHHCClbyng8eX-cBaDuz0ruLMjFM2DAjHEFPpzMvc_P3r-3MtKYemuRGSKlvvJEj8yKUcMmenLviQ0nfyw8P0VAE2ziSpHZRqp0WOipP5iV0uoEvKWgjaDMY3_fiFFk5PKmwwqgB24S6OwLpScUa6Jzt2TtIj9t0E4R_-OkYcL8DtPEc7p-x7eaDNIw5Q3y6M0C_db65zCxf4iYAiafeCz_vOpSuSQs02bi2zv1FvglDMBTfeAT0CrOYzCawcSqZEFrtXml2SnvpGOm4sx_YgR76-kPUzvxcOX4p7e_0q_SmRiWVF0fV1FGjsr3Vgetxs8DLChWbqmISSg-eyVJpOJpsFS5FQ5up_PlwTMTG8h4Y12CDLfTySQD72wEDwyfFK23BrKcdH_6lUZis7TEB7E2FsHTk_53pXqDcejpJd4gUMuWzF8n-oTyUS8jP4r48Ub1HyVSYqCXgmBGRrjOEiqbOuyh92xzwwuL4aauD6hX9USfv8cZeg3RY-yCFyrpcWJ8e4KrgIdUhsfkkq2mzwGkG5pdmHMtTJibZtY1TKFdl4YDeGj_s_CRgsA82i-Mr6XgACU7BX5JB5GsJgSP4NLqV9jqelldx1bN4QoiPSQypAqmk0cQim_8LRwqFJXrMgZLz4cx6FoGv4BLJhFRC4n-pzOog6xlzNDp0EFTFuEiTrh6h6Fobgq8giMuri_daHA8J6GP0aS2xV5h5Fip7BNX00m8AST2NeZFXsQC-osL7q9PfyUbP_MGKbj8_yMRu0CF6sz0GqV5srzUFMYQs3WtekYBsgjtjS1FkXYeAvITlUT32kAxxAyGrWaYCFMyY_LMy7YMESzzolCYJB8N-2A1faEnDcVLuqViIQjUEaJpK-SlF5HOjN41mfTWGQXwEw7j8zQSFp4Z7nyWWnGiHZsWd3li7Ibz1c1viykZTJKcVg9loQngInv-BFbJ-j2_TfCXPrlU75Xz8ldX58cHYclvAHAfZb8Di8grSTeSUEI7dTikZJBhBSMOCWpHoNU_Bg9PwZCKixFio2LRfEYF-D3Bf1hKhOACOq1BOZ1yahQa4kjV9xSnLDVJBWRAinXJFCpqLJUNNlkvjRvpiaV1BP5WrS2-ITCIkmRrvGS3gwQvpNMC0JPv5UKEC-pfC6ROskU0x_OlnERG30zntp9syzRC15nNK74ana0tA6c9l55uSqtnBDEfZGVvgwwlScGIf5U9TjAgTc4PQSlTyPTsyduf6XZjfeGacm5lxmacwhpWZhCrBJ5mgCswX2woJ3mY1kg6YI-K_xsqxaHERK4MA7LES_59_S20TrSGEg0DWXvepjNQ8YSYfLwHjkH3A21AGPIHVxUEaUUZaQi_VlXkjD6_ScY5NKIbDWcLYcZWRL1pHFk0rJoSlDmyjyECQHQGym9QwmjGdoeEyUVj3P_ByUiXt0lKn8BxPUQ_zk_56lzTpfbJsZALCdhPJhGFT7scvV5Xy3yljgOgxjx1MXQ8Vx_4gyfB8bceUImArb2s2njzb6aD97f1c3_Xyy1ty__xi29Vw2FuGYVTBwMQH3Ipr8hW7J6Y_yQfsdl4eHqzmHIjg3fNRG2MbwjamMa3sY_UhKce1Xl_B4-JmH0KNyNBXJbSTTS4fePN1Hd29QtpKzRs4iOMhS5WbU7pDzg7Tusjf5WI7gHIqVLNrq_zreAv80vNAZlwGyj38Hv0-J17_CMF-0zyUL1PqwdA2iBE7hfcIyF3Sn44hhRiCflHZZpQZRRA0waq7qsD2w_l9Oxzry3mTYW-2lyEbs8misxA5C5rfbyhqXeJl3VXAz7Fi8O2fi-p5m9Bi9FB7iDans5BY17YrqF-xQ0HZg98TQEtXDH3QH_7MshBmf46R6f4uILiiqDjv3bz-V4VB3WAFCOv0T1UXqkjsCOVBh3W2d6lhFNL3bR0Gh_-943fDopRBHXOJDS5NH5gj4faXC-xxNf98wSdC9v59KF6kjdovcZYXek9e8IjNaidNkQ5FaYanbjAXwHnC7jmw5qCPRlSNbDuWmmRiBLvhVJK4HeQQEkQHAitJ0_a3yHK2_u9vNS2LjUd56tRdfCG59LURLNvpFfhQ7ZrFqkqd6FHmaqSJich91FSiMApK_PrRnrZGAcoWDZ1H_Ah_f68xLPiRJqAgODZ8OXPXQQsdcK5AGsg945ELTaRXxMhcfr_5GiqyFTWcXKXZ_ouKXKJORncGGhDlp57atphF6uiZqHDvkAoQbhJ6mY4cE4gzcMsfH4LmASpq14-Qh1YMVXgmNrcLUe5gCKHUxcwthcmtr54YRg0vH4St44DHrw09HZn2NNoCA7JeUUuHVydrdPwGHKqsXxqQbLX0NcX4ZUV7_E-jGclqw2JCTVojV9Sf5VSAicXUaKUB2QKo7q5udnr7GXrhdqQF2-6BQAGxqKZyg4NR4xG5AgwumOe0z8kLfSko2CXKcYkwdC0jPmAuHUOY3unsKOYjEG1ZwuzRH29ghfMv-Jlr4thl6N1zbB5iKQVIK3RG0CCZy1YhdH8J0R16tyn1HqiW_YhTtpb7YQBISqYmCslwCjBhYCH6Uw6oEwq8b6GncsvBPWwNsUaaGqKPwe-ybI-0cVJxNjdwGpqkFzgDNM9-kZEstXt2t7P5eYoca1t7VWTDlojAoyrQejVNjdSlRNtaCxh_eGtzGDN-kR94T85NEsBUx2ykkcWejloEBDKgdtCStc2MuXo8gVb1Q40gCT_Nchzhe1fRp5YY6nxuHAgl6nL0s0i1Utf4CBmquXvaA7qXaQdSonVMK_afALWmuk9rJbafGsMv8ZJ9QQvRqqpEq8GiI8KE1zqvDqvXkyB8tyfIu4ciSmC-PHD-Yz1j2Jvf9oUD8wTfTM2xpJ632aKc5oiZDBsStxqDqmjGI_f1NDvTs4FgPukJHEah5EjN1JOisiGdrUdW6f1sGD40WuoYCpJtRsDv77CHQ0HvOJG4pDB4Q5Fgrx8dcH-MKU0zrFuHkfq2pJDNhn_FFjoVRr5wuFTidr_PVoaBLm36R8767M9LTuXuRk786wxA_b-Ybn9kb4IHtbGWni3VRrqlIHQ4I8_fsxiNxUzaD4Gi97c4msX4Q0JoVbXhowqzKPNGNvikLCfaLjbhyT_pqnFe7ZfhUxTDPzY66cZ-v0SqZLl3n4PhqN-TaD1ljpWJz-KeN693RDLMhHbt9P8JTocuphJftPx4vahW3pXFcX-baPKOyzzIvqGov5pBJMdcj0OQ8QUlvaTFEceXG7Wtof4ANIxOV26ecvEocknYzW4lHtMHCfCOXypMvAZcIaidaCuLgd__2KHJ5VMmjFM3GfFtYRzr4HXgzEGaJ0GehHbXymqPK7-6iE-t2icp_IsxcKF9_1hm4DN0T6kt7LGMUsTdEbR4c_8_SUTl19yX5FandPQ31ox5exi098rx5OTWjX7PZw__mVQPVajYIDoTzuTcnZEp3aPOGwLG4n3N9VmZNwpdUGjj5ujh2YuLsEEoMtxIK8-9amawJ-iS9z7ug3e-jt4RB-WQzompLH1zxPW4dtbgHRRyrZT3INTuaiq3Iw2yPvrN0saKdteQzNLcr8Nn3uBMsMj0RNEO_NNKMUe4e5ntgLnSOo24eFy0KOSMKL9lKxB-76Dn1w4Krqa-vfo4pdZoUfWYYC_YbyOdB2UiG-MEX3BabeJ6HKFhj4Ax-mma6dp0zXU_8N-jGdiQh11YfnZLANVlk5SQrsfD5nGseGWVcMb6W0YoezkEnxVY1HOXJ_dAWb9JapIrijop4HuYh43DMxfdCXQz4IhpzkRxqqeyGGGBEkfF5ui1wSENhr-bFZzI8i9HqpPMNEG4q4kZ_Iq2Bml5nK_vRCPzyrxlYpyUa8h23cA64snBY78XELwFSISY4w8bYea-0NyZ9XDAYrpb0y9832RJNtPyn1hp9TBAhB1dTus3bMJJxX0E7dx7NZBy9seeqyrTmJJXyj8-51AD2NybnBcArEnqjdpClosa_GFlANM26ABzeoofziKJvPfMXSySZxVjkLc68WZlr3FoHRYrMj-vGoUst2TDgBFxiATRT8rjJem5oibknU9nQRLG_2LZsUhFoCBrZXUxckT9P_GvUENHnHCTgVwQI3w35NH-6mfRhI4_x3XHsfhDx5PU-g3vqZAkeRixgR9IDEb0hvcCzWfEPXFM9mGjfAQTlCN38aplvk01JpBpSbArBY8FsEdnYVFReixiOtxSOu2GB4M9VlcTQB046VrjJ-zHQPbUUrPEOnArT_7eQhc6aRZCiHkr1zMj65elQDLiA_sg_PkuQcpUh5rcqM4v2oVBjnwo81vRQbPBYdUoo6p57RMYYrvsVmtI39kkdYS6e6Yg-i-k4Dkz4iH7aalxspRFSVlSDqlWXEMeb4UpNo1fQ8Qvj8q8o2hhgKumNki25lQwjLslvqXicFGlsGFG-j5qOsq6Jm_PCEbbOGhDDj_CuVd0bjUQyNxbhken1brz9YooelkK1dIyBGbhmpJTJnRI_CP52S2GaKwGE9S6JPXYdiKqcHo7lqutuGdWqmvc3TVGRhvBSzKfv89XKyp1Li_QdLza8CrzYlg0P6ODhFM6xT8Wtx2X6EcBKYKxtkm9YAqKy1j-bpmQqm1H6gNTT-TmB1tNfCfBpERQUh6TwyPZ7KarcjZmhbW0zfEhN2zf-F9AjclUpPpjydFJICDQRaGHHM5CMfX8UjU9vpfIM58VjrN70Trhz58Y8gPbBwiGYYzgTKgsgm8dMKb5hOtvT3OU3ciDYvXNSLyolInFNN_BRj7W3iD6Juqx2SJ86F_-SU1aUlcWJclGetxcBEC1CvpyTT4N9UEY-_pv36WGNEBj-ZBK__F216od0Ft41p4NPlqdvE1LYuB3rKlp0eS3wJr2vZhIXxCRTg5SYDXWRlRzDJ13EyOHrH_oqVvE3D_HrkxWCzyy44f_zQPVNyqE3nL39t0BhPcRsJ6az-IK500q9ZzSth6BzPB94pumtdyY6kMojmvAPCLAKg_aQqTM4HuO8QTQtwJZS6RTgKdUtOD5k7GDjRGV166KKhuqr0pz6bb75zqkSDUnmQVZi-4nocFMnajOKZSQf00hf3vcnSKGGqXJq37YR6jY-Qnue75BrX74JkQuFrnmEDNm8Xmger23G6LGmsboSssqmMAQ4tDGNxUV4BMlvDfkMXjcdj_rvj8XO1gjvA3UvUpMud-VyVmcSTfPMLCX_uabBJLT7TU9PI8_v4qiA-Rbz_mqQxRO_QUab73D5Zh9HoxNBPiwmHAJux4xdhSH_N0O-wW-wSnqXzVl8QEnxJaLb7Hr_apNXzD1EvOzBFV24sLc2FG5tPJkBIs1fJ6ySKyw1skeSswr4eRHz2EPBUPcpOrjvnZV8sGY_4ol4C_27W_DcsJhUEIbzSKXg6srf4YOnfARVWawiN79-4oTjyqwMoeQPyYm88sCc1DcRUSjjLgjUpaIHjTRYq8I7xkDjc6Rbx4DWG-5k-3kDRNyFqrruCH3b_YFrNytVycbgZ7ku6x_QXZCNGgMJlvwEQFtlTinNY55IZ2EkbyWet43HqYR0IKRGnjJ8ELO5In-9adUh28c0u1E_eJeiKVK0Uoro5mnk3FG7ZqdNOoqAdtyjhYZYjky7z98QLCjgybvN2ZrpfMR5bfDu7i6pTkpsuC9BQTyflkEZluAqInCN4mVyqE2kihM2prWGSNuwwX3cWFtdXq8by4Bqu12VVPhg7-csNce4p_8kni0Ni9vb6aVigzBGDZzF_4Ple9ukCRUqzoEi98meTkTlc0K5bUvFBq7oLAf145ufa7x2mexNwdc1YWAbBiWfQvN4xQtJcyEGSp03SD_aXTGre3q4G5mRLrZ9QTSQQ56oXUGjaH90uSMmWp4xWj2DSOcuhFpwLq-z_Bmr2NG3YTw2jzuiiBYpv6cM0NwF2TnDCtHdSHBvwCauOFtzCealYydMJRfIzH0ZyOLJH-vYjrdmuq_zC7H82JZPS8-ZVUoq_5rallHDawwT--41mPeUn2UmIN8LocflOmHGGjwqxcy0FPI28UM56DUHULELoJfPd93Mb2u9hpJCXDM4_jtjrnBuygawYvv2tQhXIjpzEb0XfIPlv-IKTiFELWSrEU4SEDS6XFe-vUQBFyZr63GiTBbL7dUKSG7siJWcIDzxnBmYcT1c3Ab4Nj0-xBTgceQJ7p0-RqM8SFg7Ig3MHfhswGP7lQ84UG5OEUBVdemLKr7gINpljlKl85kayUF01jYVIiaUy9EBnGHUs_kdBUJ39HgpJfOWv2A1EKt5g_K5ktUMjTjSYsDZo0mQTGOFEvVKY3onQuN1yoYGf-oWgvwQpWIZMI-7IodmJht06LEZ4iGnYq3ABkUG1tw6CIRJYQ3lZjxsohdSyVzR-UY9chpNsWCfDCXPY0-6fTrpQgOL6AmHe6PhSb6XSvBsmxcy2a3-FgsnRUYet1Y9tZ_f8P9t1dpWHhRSLHUTBP1KRTCTTXzDnd6_asjKx2FyYkT5ZlZl6zFA9h9B2oxAWAsByAW-kFJSX7ajdM6LHUPHQIlxxjpcD87kkeOMMlb5YgWA3DXJqkSsS1nswJC_5vUMeFA6cXjB7fn68x8aGAQDpq0vR6Txtm4kW2lkOqtvFNp2eiGJ0segaYCZTz3Z7DJPfZuow4_wH0wBqfvweEHPX3qX3gw7uidsPldAK5UeXIapmiiRHcTBJhGdS1f08hYSR-D4RSZeu6K7tnp5qsNHsJSc8dtfksDAcKLzvJZasfCCL1NPaLaqnwZQgFoRMsCamFBSn2b_FYdQ3ObT4W8pFBDkflxEmRrxM9Ydm5UlIBIEvGUYrhhS_8nb9mXynu2mVlWVMYo6f6xUSSLmYmeuD7RidHnCq9oKBkNH14MNTVqXtw9XsY7TdxWrJKu7UjmW5AmmRy__py0dsCEp2HvdH3ahtEkX0LE1_j752kCs4eVsijZD2C8Y_w04wxechNBKvtJwlMzqBR-u-kNx8tUYZLumCzqsCy1KWOSDGOig-TVbQ0tGDTw2eJkRZQdB6t9CzNOpCiWWPlxh1k58_ZGAu5yFcIM2Lwunal6TOrIbjNos_zVBEeX2BCML5ivsAYlmgid-7ARZXuRUpEi1PF4XuIr0yvKrNUQuzoi8UMFM54qwVus4_UERcBxW1BFEkshCbtayV1epw6BMVVAt0F9A2vTwiXZWpN_y1kiITCHacEpNmPQP7TxDm3wHKW65RAjn96vrib6GKJCSdDvp4fqmy4sgo8_ZAd5PBttO8keRR0KRTL-G_KTzP0wpdszdEn2fOjseyz_Mg0CkncnW4YMllOGX-s4QAA-hHdAr_U39SRIAdUuws0COwRAeheawD0axQoxYpCadkGfIsmaO3v83Lfmh0r2FuY_C3OxSkG9iQjonLjC13EItfP6STAimc1mhV0CcDokh6j0tM8gilzfEXPYeY6EGNOCWalO2N-tTiQEOHMhHY8uuQiYlgXUzw3OEJVhVqPCTipZWyrqnd1bsdLfM1aXrYsfhL1EvM6kj1vo_6vwWfH5x0WQ6kgKwnP2fnjpgPXeJsycaNVYlaA3S3H6R76C7FoQ7Zc0tDQ0c19L8op8H7Qqi45nM1ZWlK1nF_j4uEAShvKEgtZSe17dH7DnzPHsJbFiukstqeKEek9DsxciTMBu7OcVyO02HWqClH55XwctlA9Tp1qVAaiX41Lv0HyS9_iefykl0caPkScpOmBIFl9XzO0XgHEa9ypE2c1NMRKGqFE-1gG8aiiudVh63Fyh6qcKFen9qYQzvqfUuPeUNtKAYk1aAMgXJWDUW2lz3vWgziWS4s4PiPvhX5Rhgc1zg_OBr_n4_Vw_0UmvpBCZvNimX-ud040VK4u5KrCioo804lwnkBFWP_u8mhB5KzSl5O8bXFjXVM5UwvK_qsbeQmm4nTRVSW6_X3osmqNKuREQHlWD_QMrBhcxmMOwV-clMiRB0NP2ZxcOGfKvIrQ3Rt-lw1FdbqmjbxuI14eXU0ueP_2nCBlN_KeFIhYJ_tJqGjmGWsDBu9BCI1KC5QFd50LiBkWU-htvFjOrP9gcZwAGajQrMA_nlaBz8oxd26UyjM3GzpltfjNL89VupK3hU1AWSICO2LjRj5THyJscpgc6W2qwQa6eTRLsyTaOZsD669GlfnVdKJIWsYq_KlrX0O56Faj-yNTBTZia9aK8Kacf4s-Lzwu2KG_uJFOFQZwgPbeKWuves2fDLHd0HUxOoJGOY75_YwbacSi3keKU14TBK2ZJVntUHA-08WcHwPtJ12W63N1toQhQXiOVQch7mBNkVBMfVtUBiN052R9X2byhMZvvP6qfscQOzUpsCA0tYZOGVSI4exl2iX-X1fWDDYUOixOvc8NAJE25G21x6__crBTkhjdHJWI5qV_Jow8ntAfbjRzNRt1nwFcTep2DiiCTEwgRWvZ73pVhOOWJHMa2oEvLQrwgRf_wY-WAQJYkKIcupSoi5tvhLWF5hBMoJQcZoh0vIyrrKGnFxztzOLBwPJgGh4j9HEL6iAeHOQ9PFj9rV99xbqxywkJBRP0jY_Phk7kxA-qItzu3LrUuW9mPdAZHMmI4b5GenjDlAYyukU-XTM779ppYO_uO81-dU2jdEcOiq311P5N1XLYsRTRWdBvWkJsBib934jDk22gom4qeSZM5orjeAbJfPwF4-lZnGlG46983nAFO_Eqgf2jhdtNKZlLOWu0P1T9WsK0_-zNQv_GOCPM6z-tG0Ff4hTIvT0sAhgEoafmDBWiWuOuzFMo9ffUB-JXFtzw2liTGAQIIjF7SVwpdsKEJpIBCWBz70HEhPzzlbuVuv-eKNRs7orPrhFJPmguM3mEbqoYDy7RAyM6bMio2Ow1cgaHWOGaREqYIIJmeFIbbcMuoHN9XBi0NeLK-SsPB-hKYhJ1w3ZQVRTgrw_dhyB13mh-3PHLvAePtM46qbEGoxkBx500SYydYb_yM_BoSelxj16--W6FIhQ-DMPFtg5KFGKAKj4O1gOz95Rqq_lrtfwZxJPe4ieIHRz0kYcwr0W-mh975mIgyY7aaRz4EQP6w7UDNNPVm-GDh00nxbNbSefwoUl5r30xPXNdc11mGWHuBbsI0x4UNW_cUDWwKYEwVAEiMx_kTuqxN8Ey7sqJ2BGUaOQxaRGT8wHtee24457Ja_vGHmcot04I5NrcDva76dcmhe9FZhNAJF4INAjIhahg6TMNky5HE9vVwn8upiTWwN_jl3BrqfPgMg2RA9RE3Ur-Ine2lkTYmoy8y0OShY1RiUpuysJV1f92cOTnwA4_cRQK486KzBhsn92Ul1TtCGjw3mBEIErwFzinv5gvBPvG5W671vZKmXT7uiATVW2s_cWXblIhwiPs6fn0z4_-ZQPbOh4yGfpN9etSee95d-bDaWGrVp_8ydZrlVKY0TDK-zPjDCGk2146Z8iD4yrminKLqFqJQy1g1fT-ze5VvYnvDjPI1xDxL6AexhdMsim0INQCx7IDylL6FwapTC6lgG7Aq1yRhz8HcDSX3IZaQvSjjLCAFS-riFr4fCKlZw-XdeDyb17_umCD-vkrxUVHSRW93L4XHP0XbycnvoqOSRkmOXK2xwQhbjC73YPnukN2pfNq5hdiSxHghRJr1vWBe19qulvSBfCAZyhJbzYLx6Ttm43Ftl3nUvgk5FE5K2oXRq_K8DiwWll26FMngUj6IJ6hxxvxzNUmrFjpyXA7hzH2UnRE6FSu-S1GRh-32LgR9cUivMSdjjo4JdlgqqvExhLY1EO6nIit5zdnizKCDU9IJmVnSbUeijPSJixfZdkqfSskdrUXyYoo2U3cpLgs9-NiJBlus_ASPpviCSOMLU78f40q_Rs1Z5kJu2UvTDc6QQXl_o10aajasBEmZe4wGHB0KuzMAwlpkh0bVEWapvaGy8PzFYtoWHf7eCgsgIvWU08VPcob-4GvcPk48P7wAVpeRo1U87zi2P2itTTkHdG2PDXPkG1HQq5TcHQiy74-gC-62FvThPOfpKfaVT5wADot3IWr2kSoWwdl7suDPv1rJU1oGeu37E3y_2csVRunkqozLW6Aw2_sFDTrpTLhnhes8tFm7UNx1jvM1qZ4B3pXA-6C05JpCgToe5rVX566n-5PxJXFBcmc0AOwpYVvl3aZWlmfWhlHwWWrk0CsI_fzPxv6aBqxg2yWtWpSU1IxvttgDiS9Y21AL3kNmpm5zty63yLDMjhM0_2kcPuU_VQVb5FE5rkeO_YLb0PAiPg6N3M3z2X6sq4ZoUknH5b8-z2zA0xQIJ3haKp8GjLRmu-ghAQvJY_1cn00bry2UssXcWIG5OgmHvZjkK1myGTKx1hBu6Nq4NLfqkYxmDPmWbY4MAbbG2Y_JmIGILtB_QV8CR4cjU3iNHlOemCY-E3lsin3v2TXjNrFli4yXE7cvo6hYNn0efUl2XVrLPi0qhHxbGAtDXDoT57lxfMrri7nEJXbMaBFtmBQS-SkYOwmr3e0XabWepxUnaslEyVCudv1ZYnXd7DEQZ6CbTWqgcxOK6udmWiB2miOT-uKsAQPXf_r_c5PWb0ADOK9h7RfnsbIKzNLSUtorIMBSuMVk6Nxp1aKHqiO3MQzmktN0riAltrew-fwbSgOJ4LwECwpfyUp0yXx5ye8PSmBIRZ_sg84nQg0iPEMIgkUaSAoeuRgVEyxjBEtDmkrYluwlwOCEWnKfyMf58mrmS89dbGrgUB8GfbPqSo0oZipRNrMSVXWpoEigM41O1tfAidnAHo1qDmXBwNxXdJh0mosugyGvzrRlvaqUiUG9G58owBlQVEZ9YNCphAPd7UyCEJyVaGLXsd2V83NgVQcw1tBk0cydqJq1q-sVAaMhFbjQqR6hZLidVXgtp4QLT8iEsExEuuwzvh_DLXzBjHN4XYm9NXc6xLHqlDJ6ljwukAKqbs2lcWSpxPYpqN46K2_JcOcD0zIXg_7utYQB2zZhyWaA5Kp-N_I6rf4cs2EafXlD1S7eKWOft0XTmpZOJ7b7LZJvdTrYT3rjYwQpQgzqb4sH2G4oP45qHRGVL4So8OTaXY9Oo0111YMjJqLLPAN3UY1-5YXYLucrjwi5kDj47GHDlRT7qGaH6pSHKs6_op3L0E6jfz3epED4kP7AvjV0J9ZG7DXqhaEXM7RuSzHrtxMJyMyWxAM1h3K6fHygYfzFt6LR22xeOIQb7S13VDPRKOjsrZFlSxAp7ZeGzYN55khOf6A2cduvIuilKtHWzeC5hUumE0V7JG5tZktKCMSUhVwK9z39m52q6nDw6-h4I6S-yKVYRu2Q-Sh2C_OFwzFfzV4ss9fkfZBBsZawas6KnqDUi8YAlKMOq4S3j9e-Ri_acW-JSatsJIqpj5UsjBzUp_YKfLzX3BMGx8URD22AeK2tdjIlmziuVSqvvkkxIb3R8wSm1rIHaNceO5KSor6vgkAiVLrrBzFg7I3rxK1bE8HxZN41_NVsOmVDNFsZWkQvNihOvCP_2dq_vFHM7Ns7UkI05SUB8mDcCV1dKTV5FxslljSSXqjGLV89mAhEkoW3_8pc15PxoO_MGchh9KJT1JMMSESUsauRgaUyq2zosgrbkr4jVqD4B5fTSryDOVY8JWAR9SkRTQ058_6xd733Axxk4ZOK3H7SI1bjmWmk-1k8g6erJb2UkQpTK5j1g93LIx622L9GfObyP6EPgj1-bmRA6kukj3pKV24qY8adcGdXhrcEdep9pfiY_72mMdzbUAcAhtma-iK4XXUhqQ13wWW0xNxdh_vttf56ix-fn9fZqi4zVbkAv70J565Q_lSRvoRcgyqV6SHPMapP2s8Ur7AkGCrLHsIxSjmZvRZ5PWjHnUuExgukUdhCHyhMXFKi1YFYndts_l_TR5zhIVbNCT-uxZKn1IDCDw-Il0zeCr5e8Xt7BPN1YYYcHHtKmoReTEWeBAcMEGhNZCHhFK3Fpj1BFCBRaHSIA9T-_m5qsZriUjEI0AuM-qR95Pixf6dTjiY9Vp0cnxbKr7c9BnKr2lxrPe_cPZKUp5S9o85olvyOKAr3vsn38yxT_M0h8p3Qrbkholo83OGaIdwQUrZAVlM5M6xtMgn5Ek4DCo9dxD6I7EVTn4_ouYi1-SEAflKGsbxE1S5GFD_vot7tylYEx7_f4O7UFQ4GhRj11K9lF9-zrApXwcNNiGz9EQtxxZqNbcYMuhOM76AJ9Pwny3HpDGewFIKKXVI2kwC7SrURol4q2qt3Eex0RpFxbdRoLeUo9s2zoMF1niT9a0S9Q6MfBGYofxGuZLycZbIDujIJzE3ulI9-pm7akN4eMTp-l8U2-_3PdYz3gBBj5199swEPd4KjaaFF8a9ZmJpEn7gLYHIpYjYhgLIeh_6oX5SWsoJCc-6w5BL_O0IXyAGKm8wx5tgMe-Xg-VHohGrxucLU1u22oz1YAMmHIIsJCpiaCQMDuladyXYILNFx2R_RKuWlfqw9-u54HKwxPiRSe_cXUqp7UC_jhsbrD3ciDKHCFoHQhH93Trk1DwRKC8wcICiaTJEyYLwgD2FWT81hZY9Home0IK4nD9nv4jjkUC4pQYiVe3dT1NQnKkSFuTaJIC8Ezz0HpA8Kc3xiK2aOoEv4B9YDV99Uuz3aqIGd9HMrXV1Ws-74AqtS6TUKjpN8OsR_hokZq5SPsojKjO-IuxylF7XGa3XerilWizXHN4bZtFKre-5CbIrNdsm6_DY3zCPwEsDk7BMfZJEw7V0uHGH-gPxpwwGymcIhMqaS3f9sqe1hiuJ89w61njMhCWie_t3skq55ZAdT2XI7h6T4doyPmR5s5YeDChL_Td6vsio6TnqTy0_nuWQK2m8Whbjy83MDLkTaWMTlDBuuKt1BqySNuPAHZMaVisuVDQkkl5-5dnV8XFjL4fsC1A-NtKrDI0u6GWcneX1SPJJbjPNpTa57liegahlo7ieuM7fk4ZRIT40SpJ3Ca_72va3ho1wPAsZQnK7seae1VgEKtVQG3STWycHl0Vfuo6cASg-nB8UNhAjauOCKlpZXvibaOApp3euFq0INuFrithi208WmlHaYpiXfWkq5JL1Q1qLYiKe9u4rOV97v6mka_AQ8g4QdpNaTr-GWEsQ-leEWeFriUoJ4PYgSbWBqFCOu29uuEcL-KZzX1Cz4gHe4JVN3O36b50biA2o1ViHiiX6xh-wj4kw4D9iIfptmjQiWDzjnD1lypTtCbf-BRZityavQ19SFB00azKyBoI1g-QcrEtsNmYRHJ9gGnAWQsi5v5twUq-nzLu6JHInHBG7SYs738PDqaICXv1iCXrjDdcTwXlYWIGjNa3CyF9D6zKW5uzamxsB9_02ppRCXdqm-Nq22Ue-W8UhRjU20GsUo6RFDRWAgzpI2iJBSSp8q2sYjpHrHNvZmwl6UCKf3RLlsK0kLES0mbH_mAWryAb83VgAktRHzdB6iMi79D4y1CkJPGSyrAQmC_nqnoCGEwA8GtZ_57b5yyf9LbCHIjVhn3_Vlgywl5AifimykXKBSviRniyoxO-4P7Mi8fwW1RYHGwvYQfyqNM_YCjFSrENCi4YqDiFaRB-8QwT6r6Ur_FtL3pD4YxL0oSsNlPz7XCbW3pdZ8FCUyDv8fizYqXnLGDafxkeGVR8WdZR3MRXO2Os3jzKmCdhlI4FZW0EfbAikK8AJVY8jYTIKup-3QgqixJtVDSxsBBv3XCCZnVMpv1W1Thng03486e1Hx8aZhr4y-QMOgd6IBmqcI4EKNeC5Bfi6AwIDXzdrImIWRg_i8IzEsqdT-t40Ufa45u9HCm3C_IwEH-9TuU0mh74e23eS8ilEz0GaB49JZpBrjY-RYgQklXbgfDIXkjVbK85vD8N5kL4OpGfKrEPCQUrQ9KYOnsxsE7CC4YlkQOCr67syZKLlu2Y8kwasJbvPVTm0T0I0g6531DG4GeP5rJP0z7-jku4QKRr6Dw3BPRU1soPrno8H3XFBW7AjTknwFLfNBdKhnoanPqj6qbEt-9-Yk1hccg7Ib8IR0NnvoOQlxjAcO0pQIeLXp38w7_GjeUyipRifPIHUw95LNqnDocGq1OkdxXFKzZPnoZIVd_gsEsYSonOVi-ynOMkmfkYSL7dgd9V-S_Mz3S8-mZsPyeM451bxubpkk7Us7lkDqF94Zv_iV8kfjdwtrgEIo2obMXMFr6SVFOLNtDRlcVaE502CbVtsJdoQ9lDxRQeALSXFADg3rHyLyogcbx4xF_I-3M2pn0OGQuMmhxXke37ZZQuvioyZT3W1iPS42CgPNegBHP7pOHE9HJ8ylT0f5dmnMAjAmBkiMT00dwucaDso1D_XvI-_vZTmuyuPnQsWTgOnNauaViwxJbyG_hJc_zKfTfdf0PzP8pUwNawVnQCeUkDNB5ulovipAhaxiHBMJhc0RZR-b1hHmc5mxQX11Z188C6pC1qiigxQqkTxIGXsbV2m_4CgveiEdxCUAcGbiZc831O7-ZJdeu8T8_KxYuR8ARf4Tzc3xFf6JLJIRXQAmZ-3ohHUF3GurAN95ZZoo16Em3gGSgy9Cy9NhHB1trp7Oq-e2tvThRZy77GYDoJxICHLPYWGyggY0Ty-YsKebk9wLH-rgpyXre-wkZ1IK9-9IuE4B_jFk7qtVbyBtG0VYD_KggRhRiqXk3lrZjwjXI_lVxwKiC_v8R6eI6bOK1oIoIJYgSuSQyG8hu1tZqD6ZcF_RhpB_UPqG-zqpX1uXaAD1OBbVKrmf5dA-OiQFMUBuwtzj3Q3ey3k3oQe1SuoyuedAN9lFRH1pUgM2XRh2cJqBOF8rQeUiJBVkpLfeh3GEMX1PBucWKz4yUa8QVaPugVH5nOnwKxaFY37c-8nVd845jUacDQlZwuNMVUWkmcKay4JkCLojyX2pRWRFizHvs4tYvjmk7YhWJSrlE7c2avFNNrAQXfFYya5HZkaa4RAdlGk5d0APFMn8Qeuu-K9zmhxkQo8Da5VZ9xCHoLzWAt8vfYHahSajp6pS1JJ-Vc2KAvDPnT6F6O-Tw12Cl4eI1BBGg-9EHWsIZCVmAbPL9vSI7Tl0n6fnAmuFVcME9yoXJvXksqmz-oReuVNgaVsTQdDeY3Qg2Qm4SLMZxhuwC0kMNDYICz6tMLQumDTzfv8Et-vv-WDbX8S6fvXsquTpZ9edptKyZcKas6pU7VZ99-6Gn5D0wRgkbfgdWnAOh9MOILyuI2ErcAg7M-aMq_HwW0s_u1pfeVrRXjBiEI2BrSkVt6OHMkB4Y1qIdgbj_A3FgPiCG8eFzFR6HoNM95NRVbcK9E4FJmJSlst6WUl_1Ho6iqRRJRlO07Ol3801lfcGqRP8IukUQ27zeeCmgvhr7sLzi-cb2_DBBUfZhg7aYy8R2KXnuAtTYhJAQWJVcmczWfPHCQysA6e4ZxxW3kJaM1G387fjQod2PLBoe3bDEvTNRRnLOiNJq0yeUR7Fb0rrwi0hHPjUQ_ktrT4BhZNse-xecndZqKX06-tadscJiuXZv5xbas0npHG9-vq6z1ZRuiQUFbxKYl1gBDE61w5onrFvOVtxmeI_-ZnoR_TwEDPZiXjWnSz9YCQV1JzgE0o38UJvGy61VkEJ8LQfFKeoGRClyN_mR7hmOIF_QLgXxeJqOBWgdJHTUdNhAqO-AFpy1fKYSj966CK-637TMYxCxirCiHydv_GSS3iJvJaiqDJpzMknIXolv1fZxLQ9ySF6tChXTKKecOpwIbQJvrpfGCxcFW6PBSTkvUk0tCTGm2Ah5YNFdxya9J3ULRJ-s0n2kf3ME_CVKxYIUuz5-LHI4OG6mIkIytdxZUtiRAO-wUuO95jxyrrZicbrDViJGpp9I_MQ5rW6MBW233rzfXqACQPLhSfG62ePdnL_oDGip_ZoK9yhHqRzxtm920blS_P5UskoftCaSwByR26LBcMdp2xlwfgzb-kjWTMApQmSFDMLRqhrYlc7mHAoDeKGayV4eyh00kl6UFvrMvtIGVrPgKKacQq4GZ1DIrO4JT7iOnxtiWdiyUa7gvjXOAchjgcmwlIR7KvaZjPdp1Ssht4nKlTbMSVESuz1Ga3irMj4mdSFJtQkrHVKRPQdMS5lCnbt8JIrV2GmkLVv7LF12_Z1zZb3Vf1XeCDjHeoDJ8qtCQDTEG7dNo5ACZdzpk4ModJ_Hk9eTe9dGddwUe4FwVXUtwK1u5lSXjPVi8qx-A7XPJKfSfJjcWg8kvo1wCl6Iv-twO9RkuDkLcVKm31271I63mLhGp7Ii5HVJgRVrpeMMrLJDJi7q-3XYcJGPdQMemGEBoTonlhOPrxb-0TSdxaCwaL-obPv3PY5Pw5x7OSbBMYv4DE-kN4WXvDDwVRh7OMSpNJuTjx6tJqOhBI5X4vyQnSgJlYTqUwea3STyzWwro-QJiOGFgkhfzzPO1c4kf6jRK-xKV8Lu4MxVhQBc4mj5NDhvlGCNgMwcWadZbe5KvpoTNZ5FZQ9FUX53wnD9T89oQacneklRjLnhCwZkwOkSFTE58f5Jy3gQ8bMUDfE8TN6jeVRTF3k9Rh159T0aj-VdOJ_cy86lFf8is47Vb5oBYYVyQvak1fc-e7I8XmTYQfdwBGAhsX5W8Iov6JJQ5KrzcFijrLx_WylX28ozlXTDDXWv38gH9piPSyz6XoQbEZe9SZ8Cf9ZiRTEYSr5pRfNTdSypfRBri8sd2-l3EZAzRDGC3dpANyUww0ycJ05UoEII-QYx8Mpm5nWBOFr5czJbuBmvnlOpefQL2nECIAue7s3zf8oyBA-7E_APILuSQX-hnbpbXyY68QFXmTldLB3_8j4uRL9cwTG13juWamiF138jB4cgeEQQ-f7u06DTFzjkxx24pSYXL9hQkoakRi9MdS7KvEak0Sc5xdRczd7UoPikPUvaJkU-J9-Wj88MlkYYeoeuf-_sDXYHLgmnYOZxT_wXR3ZuW1Cl7fHKPlu2T0vQ8DFZ8suJIsgfR4CiWJaMzi_yqk_ynFtpVhlXL-Gj4rZNYrS0FLgV0z2fwrI-KPWCSuHvcRaRUaHVNjFDi4kLp_qejPjifcny5dKKYyc8_b8RajX-BUPFEaJHSQe7P857w2pH28YikPIBBPP1lWMlDORIzEh1YNDEf5s4e1aw18wK2jc1ZeDr04g3GoBUvBtjeSwYap8C6aYdpV1XRLJkYv3gmN_fgCoEMR0zVWG0kjNVW8hU7mNsfUt4DK97rgmfV9hX78awRy0_mn-keExUF7kfbwfaq-gjJiSQh57GXXFb1wodCSiFoRfl_X4ueFCoEdcF3Uiw0AtKBVUYwN9opTmgEceWG8qW2683gJYOXghzNK980YT138NrMIRs2Y5ePZpUcpTvZMs69ENh0C2hgXQwgmnSmFC2auwfZOl7pl5H-KsoI8lTRwLHRL5H-Bv4BHLjsFpbzPewrHXL_oh9YVaCYuAdn02d1310xVzxZ7mP56xTkMuOD_f3v3pNPhZqRH7NfS1_VIVM9FGv2qJH6vw4ZKKVccT7V7dKdjv0Ayt5ISk2B4UrtCMOn7UFZsU5z9enXShqyB7AZwfam8Gf3ydirU67HrMckK8sD8rGkiCe513vj7T2vJF4ngDZm_BxtsBpXytDUcuADpLbrY67X9g8gRHyNoPIcvYiXYtaCaY1BvcPspQgs0q6X9VTagSulgjNtoV3XmXwHAwV_vZFUEqdxMFTZTyElNF4YQYA1Zud9_z-Sv07PXDvRSRhbH4mzB3-j6ufbOqqwP1OZZNJWdwttpB2czjkkUJhJNARXG0VG1ien8B1h36A1uHa1lje-j4emnZ2kPojjUXIfwvd5NDBiQq1Rcuhux5ALHUj_pOY2dtmwgEf4J7z2QAliWVOkc8cA31SLvy4C33Qld1DHXdu9VpbvnEVzt5-yhbhs2lV85HU1dxCbR7aeJFjyN-4ztU03gaM7TsbiYOtx5fZwwUOMUZrGtzkRzGpasYMENa-Jb6nxnr7FjAdqyeu66Dt3PRQ-5XkUdVFIuPNo3MYgPHBs18h0VYH6fCSNCHqTep95vd_TlNDxm0c7oDB72HyfyMTA6wYth4HrWHcg5Y6WmKAtwS2KCMiDm5CTixWhS2NqH7cPeNhnXbVNZ-AdU8sQ-y-SquGGZsoUqzDTiSbm2brwrKZXiEKrbeOg2gymDAHQW2wFgEMbQkZHsPz3FH6oLm-0NuCNlLpIrWwuGwgU1I9YopiOkKkH6s6TQvvJRPPCnM5ijFuNwzruoECDl-afdphjeilHYns7QkRR3AAOPJfduYndXlOzHwpdORWw2onGEyEvUJnnukRn98FT2MM0oulTDWYInKx6tXqEBQ6Jb-kdaVvL7PiZKgQx17PdJtHGjGQzysfu-h6b8ybPdpUz9EWj7zpmBidIXvFr2LG0YMt0O-0NMARV50XNp771i_nh3pxUvhPQZCkA7cT4JnasQwMzCVM75SOtynHjYz3LTBRdybZqnX_gZiMru6MJeD-XSxBd25o6Ld0IStsbLXTf2Q3buQI5Xr4PcPfgAwhNgH5fCsqSwQjqSnUT6ZSV3_XUxh_hLrsq4AxRuTvwufcIZ4ZjSjGiVaPHEFx2gjExED6-8jpCJXgPdpPJXjBgfozfKEQT54nHhd1560uY0grM792_8l2o4ZFspf39BFzi-4KmRmvwHHKDFAPrSp1TCMb_gf1GAh2D3njhQCSj50RKO3tpvd9_WgAgDY6WQnCd8mXDxfPhXZC2HIL7ToDG1wiDU9ij9rpOZHwFYcTkN3Brzs069CNawZf0R0J_kNbRiSKQDdi6IX7f34xj3SsEe0b5tepqgb9jMK6Baq9OmWBOLvmrQyQU3w3jR_AI_ZDEtm5Ou4EVM8Yti2OUbYKSB0O_rBMdvvGB2kBIazvQAywgHKKMyBjq3cr78ePA4F8RIIB43wuw7QTyR0TXRjlBNiEnVxyRWu4RtvGMRsTz5oQHqYRHO9Kr3T4kHo9TI5oJzRw4udOAS_JhwS7uyAG-fzOKRXADLLGJYP7AFIv2QoRvZSTv__pCeyo_zLiflmCkhKrfpBSbsmuKsv4QovTPLjYguYla_GkWNlQw7YB5SZaGOh8zf8tk7hXNl5fX6gS8e7aBBOSTlahMWM2C9O1mG_ZyUpiJ2AdQddN80gfWvyYbBpZ-dKk2ld5lHIxe8wr3vBCd1b0s9CwH-Vmu1ZKt4z-hyHxmEKc_AAAJiyetNWjBKA2qNqsAi5r02-dPN5L5fbceyzWJv7E4ln15oMguNVgLF_bPqvfh_jdZKfSSzKbwtM094XPnpPwA_uPIMSnYP-VplZC2oZ5yykHMqgre5LgVopcI--U78cxcc7qZW25rfJw74bZh6ozqFZPAmiYekF8TJtnrbgerN1Cbv6j6FYzg-3bX35jKmjZ0XU3yw8XsXNvZXunuLkZuBLY_7d4DF85eVsu1s82-LTUZy52AiJT8iqYTnQ9tnZSdSxbvaeFp_4wTsO47focp5Exzw_4NcG370yoQJMRrZWKfSwckYrwAkqPGPYSyxHT1K7TID_1p3FPW84fYnvlukRy4PsYaSuwtmIi7CibI98XcM6U9CXl4pefEzuExgfl-W1vclc1T4OnVaj2hM1KrZ7ZOwHV7u-9VloG_vawK4kiRIjA0C1BvyiVDcTAY2fTej2Bq5HGz4p30J3FEXk6zppCu6M8Vp29Zdp3RSna3qVGtk92j7gtiLgayuAf798PYXGsrdEw_myEpU4oCB1xwLJgfuVvlvCNdXTtfHRhmEVFGhNkLNO22nhrDpFktQmdYy7edZ5rOyZ0xk5VHiZV8NbUH-SsHReLKTPvQHlQlDy50ojZgYWTPMwMTdVgdkS2VTsRS3jY1A0TtR_zpe5lNxIkXCD1gXMFD0zo_qHYl-2y9F-OzS3jE8VGAPLkYZneFu1m7ykmAkgKhBtWEB984FTznW1SymNiv_iB-0f5mQ74KaO8fk8sIiR6P4YHNI1jyiA8qN5DwXPfoHlHApKfOttqxl22k2Xe1CeLMgiBXe9Mwyen3IqVb5JTfzwAMyJkYUQxHiW_tyiNjn_9LxVMe4AMXLE6l9YBA5M0ZgG9uw6xtNn-PGj9uIZ0P6AMjmBgDmIg-UKu9blRs-DsSwmwzxTvs7gTJaY5ztGGG3XE7dSpDAWMj1vFpwDSxubEi5kPTBQ-FMkyM9eG4_M3MGsNGy5eTgnaTpqTtX_gTFaxtPDRXTABwP6dOI3tcSraPGuL1flTQIlmDSn6xmB8NmtmUO48aqbEEpolrTT42Eg2xd6s4F10kVuXkgFR2JKxyq6irz4x3z3hjOL2lyzTrceayh74j91qte3Vc9zH5I33_Tc6fwN1oIQnpcVfGwOQq8Up-a8pA2CoBCGEFjlP3tiET6kJcPj7c2_oJwSUmN4axe0aSo9hAdT5ujJKiUr0TsrXy1tMwTwke4lyVLvf_kVnBzhZMXoheuxlw58jsVfREw9VsWogSiT1Dko6At7VqUU36l9T6sWnxm3xbVELER7KJ47RYV2Zj2aM4z5fLjsCqu_DiUQo3MFvxs9em1vXOPRC7ZBTA1oeTu3scC8fwTH0RnyZojZ1n0_6ClPxJPZsVogW6id_gxWNFAtujwH5zdpWe13D0SkKKkyWx5xbFE7TYdXXRnbSmbNY2DYsmkiMFA2okrnjsdBKiedr8SdZ9r92qKt-d1hf1Id_VQYpzsusQY4ab0jxSw3341WRFfDkckTBIlN6g0NBZzzzhgKxPS9rBqD4IvaDMFj0eaHNi_rwpamqSmm-FsOdc1DtoLpwM-dag3Aa_p--UYEEPbWL1Z2nJZz__TTSjxNHhn8PDO8-3sdP6MtxzaMvI8MuBqOUhkCchmaJgiZAkWqAse7QEjS1JL0qAuNKm2kObhrzByiKS1GW7OamN9ecwZUhE7C94dRVBT3KvbljLwBh5zlJ49I1X2WjWRj5PzRnJeCVw7UcQmRR7PJ8nWrJlP3RoukEvZsjvytxakgieoXzGrr0a-9-879lrImvYD_XU3XWuzoDpmnVRdf40-_GBwqATB218SR8UCPtD_4iu6UY2ajgKEMWozk98knN4BMjRtxwQ69SHmq4Z1ECfWgQ11eUpjRNxv69zhjevP3sR4lv6ZEIamLe_n4ZNNiFHsRoz8F0JZyICITM6MH0-b7GT--i7p2BXrDg2VUWEDDd5criRSaretsJ8sCdWRZTEIZPsX3TrEN8wwidr4AC1gilacHAkF4s4qn8MT2aef6FM-d1nuX2fTe9I1eqiDc-7TwQfsJdEETR0CFzf2Ng1k67rpLpxCpVQLvRR5PZN7E2BUzhw0gDo6EPghxfV32e4XNGXSqcOmbBZ73LTMjXoyx-skG5wPv3yI6Z6pYffNz-bBj5qCNpuToCPQXV_qDJHOK1EFk8VjlkCzKkArm819MNqwwqjPPxxZVrGmSeg0TxieG4oe3KqsSBf5HTymrODj82jr3UolDSGpbq4fkFTn8VV7BVpoGfFVNWrn7bg_bJSLT8rNm_kdnAcuOttyzPsEATY6uTcbXF5wf9N1xQaY4Dh2hNrvAv7l1ZTWAcOqt2jO80yoD1VFLscY9a_4Rs_m-UnoCiheGpacBrGnyMMFC97tnlJIBAg9j4PeQNJ_7Y89l48nGfQWIpc76Wr7OfhgoXYtQpJZifyA7_QvwvZY2j3qfXW0tCN4fUoHcKIHKjMyIaHr7mweSnfm_OUM2L75ll73taVjssN-VKjOFsASOJFTtYUNhViwRLIUmRJju0G5qGwUlv-qTzRKTRSU9y0bSBLo6ZFLbrUIkL-dS8WEHUIsP1SZqgEOETD-EDJYCiveHbCVTSIKWssJmGKyvcbjSpSRkXKvRHuK4vanEwnCaG4D3_7Kcnjo-IsdUXTKOYAk2NVg4RuEeyfEPKtq9ge1G7iEWrzih5pNvC3VwhbubI2dY1safsg_WyCE9dUyJ6AKGXVfLQBrReSzbH_xnfKPPt1IjyZ_2aGnA7V58PprWt9gQ6TVZcR-MEs0iu7QZhpG1VtQq11aDt4Po3RQ3jpdkNG4TwIohVIGR1InuuVUJNHZMO9bfgJ4AK0y_I0VITEjZg5wfLYsVMzH5SVxDvSqw2Sw2gXjbzz-W_VXIaQFXbY2aJBdrQm8yhTaD6hpfIPyek11ih4Jd8LtWYlXVjci1kxdwAwArJ6541THMJ4b8Fcirj82zMox1zbr4AVxNJNmuSO6FeEvL5rQEmd-22PPabcsPGt7gOamDp69M4SctoUct1kEfUX5GWwcOf4q6zW_-EUk9U1RUSG9CWa6-r-VIJl1242Qs_xxy7XVctP7KVE5b3t6VyKd8HRksbpCgIsqxN1Ht1NU2G2thmsuwZEqlv-7IpoPt6C18RFO-nFhPs1yljdLxptmIdDBINu8vKrGRrVORnsrwe2S8eSgfBbiapmBI-IvSkwWGxAIRsuRVz1HZY0Cdvw45VkeESryPAP-7Tc_FRv3bXswC4HUaAIUjXVxxE11A1_ub3xlSFjFzZ6uo_sXmmoSyCKl4xpJ8C2DatBaEgMqcdXtzr0s_6MB27Zi4HNAoiX2Yzn4_hFi-yQrnCDk3riEgIAujVn-uQIyPJaTLMSVcPFWB01bqCuIXKPSdtnMqUwdF137e81_7hhxDw8RsJAMrjEjy2F3jUmUUf08-5VuZgE4ccg8NULGIStIYZbz8YMr2BKls6eE8KJk0lkzc3MJKJNKeMhl3ziBYxttT3woz4vNLwzlxp-A4FOz7OsFLgdNtn6F9Y52J5LyLS_YNhM7JHCML-T1D9nkYpcrLFzjf1SYyJIzYMjVi4Ar_IOMfWg1iYedvjEjZwZdsABNHjF7pqAZXO13xktHuX5NFDaIdju03uCLCgzPWlRdMI28WBv_AhfUZXvkZYkPrtAnPXaj_ad0fASSiwK2ytfnlXKdJfQBRl98yxU7SlInFi6yKQ3cQVHu8BJy-tYy30vGaG-OpTk3NQCPngo9kPcvZbizPgqrM74tum6qVSgKMQQNbVyci4B1z0gvzhxtKAyONjI5PRekfp6winqgDFXOoMjN6WZSZvXlmofUCgomvWxOstDo3lN75xF5Y-p9evYw4hmWmHlgWuzMIjGTDUKdxBRhjQSzYqNIA9-bqJodA1hyN43JMuLeMRyPK6U_Ga-PepExls7lV4OvWZmFGG6SbL9jkpWQKc-S5g0-eCRazE_F_0neu1QzPBvEB6xAFwZfNCtQzsbsBFAumuxOcECRRi4s_Cmue0rH5dwcQUPNe1gRRcKbwCCZfoxLS00gbUAKsGEyD2I69ngGKgttOls7uqTqqodIRa1qoH2LRkgew9VohX0kKu_t3ew9pbVEj-11yR1r5YIvnLbmkCFcgviyVrqalC4Y13I5o78GZiuUNsy0GwmrgNRPRAAZE_um2OfZdgGK_8HRlo8AOIw72KyYGfBbXbHjcxUCYRZanvWmPauKrJj3eEwdy3t3DQHqfbsOR31mEhMZGpypCCabME8tL1MnZDPUsmSebnidEW4KuYbrAWKtAfj6l4Rd7a2W04Aph5-KkQ10SddAsmozaaBZnMpyeGMtUEdF_TL9gxVZsSbjxDn7Y4ev1fy2QuZcX4zK4oXfQ7M2IZoQgWNLOD0Bwxy4B7gn3cXGeinReziHYBp79ytzS-mIkJDy8OGuIOtqugA2aEoxqcOZaOR7cqKJSa6PoIvTe_UXqJYzC2aXEZyPuQIZ-8kiA0RFnD4IoWVnqypEdSYoJiwBgr_G4MBKImVRWDP-ZuP_Bb7Ox3-MpraSPfZZhEXLKT-iw4qtIjLQEsSKSpq6qSMQHjHCgqCM99PvPBFibdmUN8u52cVVoXd0vhY83JwirvKZp00vuywRy1603z3RJI9HTi91CklxsvHeDHE52yZUYpvAshrff8aY2X1dZ8QhuHJm7fenxnhaRLlIzK8taF6H8VMEvhNzibQ_k8WDyf_-s71squJH4fRETWFHbt3suXZk9D4ZZf3Uh888AX3evWaijNbSn_xNylhJU6zGguSK6inTZEpjz6mOYjv3GXvfGFK-a9hZWWxUc5QSjZqoLmHT0qLP0Yw0wf866_neSQysO8GnAdCLU9HL_cLGjekmIDUhC2a79fNX3AW5l6tsRx13v8lezZc8vp824VWYj554bHVgLbT-EH5Zf6qr43aHtV-2tS9G57ar2Rgfyu5VpwiCW9BxzRB62SWUb7Z_6VkCwbN2crTQRfchzs1CTCI-yEvvkMzdWnBBcFgV95fvJV4hGJ6ApFFTn-A2fdSULa46ZxLtZD_zZlWITCEeRvRdRnXYJ4fV5PmSvOUA3zFs9DtSUsB6AF3WMdafsIsIGAnm18Fq8Jpy8J4oM0J63NeHGepvXhzZJ009sk8GeqvprWd9AKChNdXwaUvfzijS1H-CNMWex7EM1t_B6H2MsEBfATtIkAHhSDINIKRl-6cy_hHb7YQOMAUs2pLJNIemFqUYpK_iyxWBdzehQ0LgMaTdmK0lZQyLTeQS7UNpngJkZI0_kfDSYGAU2-rMtO4h3urpw1u80DTtdjOhq1W_RIL4axYQzhAOQMbSIEbMbOsB7bkaNiWQ9yP10R0-oYJbRC0931V6EXgKbGcBst_tB-QV_YIVF4tgZp8aKm-nI5W-NeM4feOYZWQP5-tb-UZwphsfzd9MY1grQS03ObqaqMj62_Uw0F1V5-gRmJYIMc8kq_QI4dKaCYyIXEJj9iZU0Gd02xKxOtYyWGFTYrs1Sm0e_iBzcODEohjEXSos27FkoxQK5L66RTHy0gkfZ6IAO_DIdBc0S6UkZFyBjzAQIpPRImrImiOYIIxdRJEBd8rLkz0qsIsblmPs8ne39KhTXz0gbkJbTunHYQQNxqGhK_UBuUa7KEODjYKTII_SFDhmGVU4ea0xpgVeqzdaWDeb68FUQuJr-RRq6Z5rqQo9VWcV1IWERMy2yy06JJmZJakdQsiZNCvtA13kAa5oda4sE2I9BpjaLSwPDx1gT7H4E02OVEJaDMJ2I2l7Udb8NkpK6hoeVKLezr_Fn_t7gqNDpUpe5Sy20VAIM2XYvlcGBiMSLlBckIag_iYSS0xgnAY7kL0-6Ksy31VcKg25dBouUdh2vpMjMwybRf0CeWe-1WybZNRiIIHpDrrjRKxVi5ZEGI67MfAlU1S7b2VDBXAoUX3fFVH_1NekkPxYEhkPNbCaf3_4kzj0wZqoOOqRtlnEQ906uQTBMRcYGMi8ZzmPlufLZbeCDmUqqG6rknDBMSUV1VVnsAlPaZ5IC_xbHBJEFWGuvdBjJ_9WD12MQFznPJKQ68GrFmpZY-MDiVPx2Qht8E2SZXCud-56YPqQoRvhejvP0aus6eQi6SYJjJCjfZFYJqyQ5gpo_E7-X3zugDkMW-coD8H_NCJzUyLECNbx5t4kRjArT3qBgE2IHY5NIgxT8U6R_WNg1Ajf_aXMljUZ58-EuJ0dirMPK1HnenYijhVxuPjg6kin7YMHfqKDFN2OC320mGS6JwO1o_guXL4MrzsQOwH5NdfLHoGpri4IS1KS1h2FOFaqldoIfDwAEI3pynWyM50fF93UL6CZVsLFyMh1FLPgbHXNrwgJqznM0ZWiH7REW03UFL_C26sCFEOvos0yfWDScAnogqOGaIpJNv_O5FVj2Mk7IH-S_hIbo5ImRezsZi1C2wbrIF4cJIKtdKxowoMRVZii9qDOuEBfhkcdTlyqJ9hlJMsBciFbgyK3z-ETwgey2BqFRPvw7Oni9xkiOXX7g_qqDh5RRsvtRIndRJ1xWBxF989tbx079GlPwEv0gOXRqVinr2KW6Y4mDxghThB0D0t_6WndQ5kCU8NK-yBIF1hnb_krVFxhU3dEMZsr2gr_SJ8K2ss9SJ4GeDXDiWuH49r8CC-1zI95_ETkv0MHDvYS8ez7-UlPeBEqlsgoud6pf7c88h7h1ZfJsGTIYY1Cql1gHvfPmvw92S7M8rYrwhKv7XVVBhEgblu_DI-eK1XTC7Z0boSUvPKMVxl7U_Dnphy4wvFujoJMskld2mz5RfJFPB7TRFgLuu4j6NvM0Lb-q5fz0nmffMmgBEi4zGTUDRsO_w76Gj3xlCXhw9AiAK7xh-fWvPhjZkfR-6MvtcL92LjG8WDPBhHcUeBKICZpT9PERgvMAD5mVRpXFEfBRre4nxU0zmUQyOg2M7gPtuW9VOPK0OP8VHNUdUdUqArUctWuLoqThH71iL7W1tZkSgZuAKJOwhMgekAAib0MrlgLAdIp7SebK-s7f6dnI18vp64i-1AHDG2sViJCUaDVdxIbGOdE74peoemLQVVPJ_ndgJJwcYqwZDXXzymJ_wcc-7Nmsy943fEoM9dsN1Oxu0KuvyWzw4IpEOA5eNWoBp4-NXryHTRpZfssRpIADucxa4Q0ml_ClAm_6QDmVtD2DhDWke7le7NTv7hD2PhbMZSR7tWmJtoT72hkxvpTL6JSLJWEVh6UiJzGoFQs-7syN_i7NOVKoh6peInd5XfzwFl4pCSdnGLRI9eDPETkjbusFWTF5cDLMUWVCdPWnZikJKfbOf5LSg4weC5Ae6QCv-UCUtHkv0nTwV8CG5kUAq4ZBe3Ov27nk5xhzVlYaT8bflTi6DNPdTAyTLk1wWcZ0s1CnJG2ZHue0E5-AEnO0dBCcATRzfBLeZ52ERm-WJ-Mb0xRFuQAqDHJndX2Y9wagE98TXP4qwE9H1IyNAM1-NYcT4XAcK3Qm5-e195K36fHGR0CzVxUI4R6BcD6s5uHk8WmChDk-jKop07bljc-vXdZojN0mq7-Sot2ccK0m1pnr8s5W29HN2G9_3iH9Voa9IITbnHcVJEUEDZTjjT9UgxPDhqXN-R1AWbD4h9KBQzHlIOVMZ8fzpjiyhKn83k9p5uWneqUsUu4utecvkTgdjocjns-OMjg10oHa08R052nOH-KQZuZ7wIA269M9dqgTbR00XNePCTH59ChJjS30q8wWbJZ9eNhQMjaFjjwbkX4XibCQoJGFT4PQ5B3iY_SdAk2adK4fKinxkSXCTHisMWdNgd5-b0J7jHvhShdia7LTz2daDBJ8j7DWpvxBWV6nkAYR6VaOtjNlN8nJjW9ucqU26sXvlln0bZfyY5Qi4dlVlQMML_sa5ErhFZuMAwRbTwnH3hOxmygE1B7l2f2c8EG_6AnNc99uFu2sAMcut31sgyNPv6GsSP_OYFBr_mv9-MwUuRlcQhVX7mCdCgL_2YQcOf8jfiu6IGekwbFcB7m3Uj15A09VXssK2KvL3CuCxcgjY4xIPwhlmyykh3fviOSz4PSTByIlUNeNg8eyd7ffk6WzjQEbUtpzFSVhNeAZwtvtPRs4MbLC2jALSJwNvFlPAmeaGx3DMfmglmbAE2d_A-zhaoDSKkbA1B9BkY4R-dT3E4N7NE1uDNofl0_yEsQJZg1hWcvOEmsDC3pLfjyUVnKwSWzCLal-RsKU4gWcmrqYO28mY7hniaz6FECSRusgqbHhU3hWoKPvuybmLczf9F-qt2wPO9TN3kawpsiU5Owsp-KGl7ByttqCZstAWq1LiE-2eDesT6U77_7yspguIu_ixKHeneQu1NTyVspt49zf65gVlgIV42yuRxMX3fWRVhCMnIRU1IeKROTe4wTalwXdTpWAExiQYzOIZEzSA3s8tzHpTC38Z5QUIBSI8surQlv-gAEKLikU--ONae_adsGX1qNdhP7aEwvU4mchINJymbOH225pnbcmM0ZLtXYYmf18uLIukNLnCPx3sGdSCZwvYCwtSPjqUnWoVOGAnuu7-eSQe8mbexUkubAl2VN6CN-K2bgbmm0s1n8HRgfCRHZ3DFSJxe3WWjXQLYBw4DogatgP7BfKxf6ug808cXI-AKidqdMbHCWrfyfOf9WHwYRGJsWntSLYzrKZ_P8-GUft4xJb0KNQMaN04glAwmDvaSkr8wO98zHnoF6L-E8YPOTRwK32_leZkIZIj0br9A57Ly9ySACIhpCQlyMdDdDJ2KVfgUfU3Wq3klPjR4kId-5APo4IQ8r2WpK2rbucB0Y7ukf4ek-hWJYBP1KYBh_DpDZ38z9_Q9aF62J-QUTP2QRHn39txdDI_BUA2WtOhpqO-GxRBcOgi71zASpFKadSuurUI13wgTguy9G4mCqymFRl4g4PfYqULBt1gUOM0uDy36B7dyPryFOjPLWgT7Ihc9xctwJOB8M1KNhjot_qp_LcZ2lhmJhuFlyXDo2N9lGWqdppCNtdOxzsLYO1o4AZOp67axVi3EK1YWiLrKbh-IsP2KAdoeCTnQD25G1kNxw-zt5iUbzfeW5wpJopdHxaeKj14GDmi0bV0KOhmaw8c57vF0PoYNqab-muW7__nZdmpqpHVEU7cp-g4bkE89YhS0xdeovkF-gLbf54bN9EY2PxqWtpD3m9sqRU1-bMnlPbl6_Qah9-dnHRBqV3eWlTxTN6zclpOM4KQ8faYvXMQrzrj8McYxUl4VdR9Rh3hIPrQGi6K3HxDI-vksbBR-6JQOuRd-6bqznP_LjOYeD7droBTS7GSIwTHClwCke7ZGKcGj6DCh9mBteJEY49sOJz9FSi4tC1XgRathyvpmVbwVOKqIOqhe2YhX-CNjDnhuqoQYYTbiYEzT6wkL_roZCzBXZiOs0MWovRc29zzZu3-PunO_mhWIuNOCQlhMVk957O0ChMiibc206DFikYeSlicC-ksVSkqL49ulPQjwXuEXRUfE0AVeJjxae3WPK9B0aOc6vPYpkeWSetSN9UPV7-xsvNVk8tXPVH3wfxVGk2P3jNgh2SoK0MdKrPN0qnERjViUZykkMjOMTqY2hFI9jAyPl7doVWMiuRNjKpcZxByfUSuHMsAFoVy4JFRskMEePtp3TnN4PtQ2vqu2L02-_tKjlu0PaezfuQ1-kU07zrtV-lW67uSA-FU2ogFCMB2_3lc85lTpU1HUPnpTbn_ON8DcC6ZLmGTu6T4aKHuMSeIU8Xm5VY8ZoByQdRepYfTkvlgRrEje6GmWp-w69VREtLbQXlvsuxXbEPwEjj5DdixfRlnFs-SOtbcOQK1VjssTfflCEmCSduQvMlPRhL7BhLXxcZ5Ts8ERRMBZEvrbndFEAXyrTJiGou9femlvgx-WDwho7Pr2JKPOMXGJDfpuaZYRP9hUqhTtyeKqy0FJ9KwcZY2VCkkVJX3OV8M0EPr0BAAXkYII4Y_5sWT3mUl-kpmKacDygP90TPpVi9UMISQv6EHhRjNw5dQfu7mSufzTxBCcx_cxKynEEmQK7Yo4k1IjqGDlbKH-TkBaXBbaOBBx5hflYzWbfQ3J0eQqLNaqoikQh1F-DqP6BJqL7oxUKWXzCazvB7qP0zrBO19XW55u2vbCIhJJPsqkMX7z_CQee5jA8uA410LqtLG6iiN_sXGDYtVns6u4yVH5JlLgj8-bCOaEmaDxZL4C-2qfsLWKf1yFeKZ3KlqCukms2Zqem9pmipvColwvETgN1XF3B2d6uax7f5enyy7QSOhWG8omFq4_jgXt23zEZ_UYnH_FbHnremF0WxZS1EWc86ixCbJNLmvfJxpgiTZCfxhkZRBi9NZUHL1eIjuaU1J9yLMILIJthzmVM0A3phbmh-JOCXU_V-NpYtKKyvevpV8Uh8KLXA_7fsLafK-F3CKoxJjMDg8zWq_Y3f-WAhKQXlN5XL3YWGyxOfRyVcyNY489HRiiobEyGFidbXnglwN_K-95AMsx4Zuhh8VDFwnTE-IwDu2DNOEdNRbBswHckpGdO5JqAJ-6GjHYMBPX9WIj_7q_TvlCouX0-zpPi7aNIxN6eqpjDTHKxWfiOsePdK2X93VLvxLjyTCSPIrQ9aNa63ZIWOo9mRfHfSi26mG35KTKdjpYxF39X2H3fyW5RjHV8mofEuyt2QJtHUeeyBz_Pg4PXQc4Qm_yI4iK05bWL5RxTFR7hbLUriDA9G0lUmCGFyPfLeXd-oPtL_UrTQk9IlaqBO9C6o_8O_iyTXT0gyDYiG4IOHOYY32W8dAk1Ypeqv257xFSfEveTF-dlDeowmYzAKxfMEo_ImcYKs_NQLHJGrn7fUvPCOfpTn7WRV7jDv1D-TbbXIOVft7tq_wx6C5obE6l8aXm3fPFfQDF4AsQ8ZWBqhoMXll_4rtg3PPzjJHy-fnvH_Lrk5opS1HkYdO_b0ZX32ME6n7goxeZALCBsl_k7M7qO6SNtXZXBd5Ao2Ny-u8PaY96fB62h4h0Y7Va-Wx92uSjZmy20R4ugigxZcSxLXc19-qV_wi4IRsgp92FJG5_ZHwxnUlp_ajaqjTUeAsEVWNBqD6bIQqsjG1h9RncRfVS8WjHSFu-spKqoyXUmZDI3mbJ9tdBvuU9iDM4BaZMDelu3c-HhORFC2nVJwqKS_K8RsjJR-JxSU2i6twZ6wIM0sN23PanNR5lhxwMkTQ06h88rRcZKPJ00rY6mk9BE9SqzExdBdTvbmu3pI4FLQHBBxciUZFTgnR1epR6UVnXVmEPVMrOW9Doo6FlChDOHyjysR9RuFQtvw-ZlgnM72UR3D__MeD3PTWV6JHrg0amcaTEZoOIZgJYarhwX5RDkooSuEelg5t5Z1dGiDh--hE8w8ANDgeT-DxjAKQtmQCGapZiykEFw-AJbZFum_kUx6SMAnkT79nl7zPmm7r0lwfhyqrcBFQvz6xsSa8Erq5K8uFGESQ3FiMkKOOSI3FN4Ocr1K3dCsMYc15IEbWW0Runvz-9HIYszQtroXuJmakLmAIeLaPB-cA6svDIi4KqHPiXrpmdrYS-gcyabN9tJduOD79T-AXUXFABoPh4eN5DojLVlKYGGaDdxLPyi3PvDTFvozCHMo-rThktUehjZbarO-S0vpvAW2udr0x2oSuhIxpB1575z3qGXH7WugILvyRCXAqerJhPjXeVUXZ_52qAF36bLNBF-EQ-qGLQJhh9CKz8ZHWhNyng0M-_6HgUh90rmSAYA_D926pL_styNfV6oeut-LZnsdyw5c8eJbNPOirsVTCG4FyZlYy50Vp8kOxSL5Wi2kU80H_CPj3KANW2E_FPmCkF_6C_zj848iVtjqWoDft6-cOHKOdsUJmb8wMJNRaOvTmSlawGzydPJuDOKZD8snM6yOmCb8Ro2SqXa_RJOwg8wAmbMouPmam5lsAG2sWuiFcYdEIgv1lR2XUfa_nm1jRdWJ_xWNBaFJfd5mLI4TlFD404aLGxLl1TMi2leCgnqcilfsw29OiYSKpH0cmjScE2w7_B3zefn5pJsqlz9lgd1TZsF0zbXZgt3pDsf7E-lQvJnyHyRwoQD_O6lE_rfJSRQV2PfULVj3-q_CEXHY7gdWr5B8mRAbguYtXs9mNuLZweeMIlrzDZQfYhclrOoLm-yiJKJxPSNJNwJdnb3wY5xt_JzW9tKfElCsAzd4F1yi7asXjLAxCLX4qbvg2swvvqIJvd1ZQ7aqsVDhwYTRSsN_ioMKQhIEMe5XI2HJLIvv2xqTILZ7f81K2PBTyYDrfMO4irJASMU_wyaAZrne9RSPCEReY3gUjdaNhcmiEnLOsRCecPEguU83_Vef-ify00D2ChUhEd5BxyqCuK0iBYD2XnADDl6GgyeL0DvNkqJUq2n5WD2YOX7Fl2EyLukzD5FNjpXZ-u2pZMZp9_gb7nwq3JgIZuBAnTjRaDX8qfhb61YpDQ2dhdpJWOiGinnphX3A32z7PyiNHNgd4fkE5aRtC3uLeKKBWCOQy4tsQg9cdRuN476waeqSCjDIQcAeMnIMnprFzxv6L-22rpzA_0Wb1Jhv2n-nSDByik8Kv0Br1CPb_R2I1IqaCqtKqqiySafxvfZh4vPKofSHdPRP34mBCRBL_OwL54E9m13o4nrNbrNotwgPfGCXB6MsBrYvz2xIYpQ9OSwA0HtNpsKoFv6WDWsRf5pDksQBMwvPgPtzMx59G6XPCKVRMEjdh7AbkPrO4PLVWlJPYk8AOYeH0tTg1q-rKeBGO3HSZKbIkFhQIcEFT5132M7nY7uL7jWFz4KiRXu0gpvt6YM6sd_HqOE3ClGAj6Oldo2XqFmVE6slU4UIFezcCkY2K9kmCJdbDOm45aAj0t-bjLaLa-ULUEyYC7FRGdXKJTzvkzOGu2BPdko99VVPNVsa0q04bnuIsG39A-LUk-jL4UHcGKiE3qa0c87BgYiqKmLDYStcFnRtbeVoqpo40878vlByZO1f-gA239p5-iaMv2cT70d3hTsEFcx7YtMN71EC2OZO7iIE8syBWZaz-ppRL9yRvnyVJ8rw6thc0Lhguz9z_BYAh1Kwybz7QDdZ12fKL_RdDHuXx_UoZy2_NDuVG34BNpxAfCA4OFEEWkLKxJlN0nTGW1uqA2NSc-tINzYmsGujIrHNxmOqGaOhKodlJvd1XScFnRGU935ooi-0TfPGDc_NidyicDr5CVFivyvDQVKWEdImaaYzvps01F2UK_RbgxKaotFvsucg_787LMNMk1zmi6nmJP3RS17tFBtqlVP4vt8TGbFFs-9BxzxxueSnxD1h279-KBdRqfZ1T5phB66bTUnhpwU4JznIGdqsOEryeeffQ6nnBQT8DyqUCYyUVySaKVEO9hAMC8MTetGXX0ZarxKArHJRkhP6ytJ4XSMoZu4eChczjLiyXyMqE34QDIDRzOaOkPzPKlf_i00Uj1CftHbTWu3HkOKxutqpZg55eASdIzFzkHI8w0iy0BX8EBS3Kb689YZheoqKiXQ2RqPV9e2Njo7aXHpse6asJpZ6fl4MK6N8XzBrOj5Ii7ZJ88wlJDthWgS5YNw1FV2z0oSRPNbuUWuvzT0LvbQcEiGrtUL20CXe3gx7YWJAHgiXuRase805MXgqGRDvuOTBQZcjbcALtKhsIX20Z2L7zQWYjw-t_SYwX0CGlfsj0tXFzNuwfFYiWgwcXzhuERQJQXErLFwffYmXxi_p-7JW7EzrUzLq1JoWWpJcIu46ADEnWuGV1fXzXWgf503opB-A2PQcHf1VGKnxSoMNwKz32O-r4k-048DJoipT3wQdxky0s9dXgONcUz98mSUaC_rdsBgs56piVcuyvAAMLv1mMcV8OjF2QEDPTqG43iyryJs_tt_tvgbvuIe8mAp2kQ7VTS0fQa6-f7hLmnKawBCY9lPPFJyh1VCUA1DuatDGRloFpwxEP9xX6cM5ZpIExKuDiKkuSBW0a76v7cyYvcy2rxmJQE6jUO2GhTO6tBu-aCWBKDSs0Ef9m8CE0SpMjsXavdLEK8L5sV5Km2xwX15cxkCbZKJqTPkxpb2sed2Z-800Ltj7eyScxnQvWnBNfd1uiWjN96dmzDoIYbZkNMj-M20niK2cIK1U1UcgglVbIYGcrUcixBLYLw2huDG1aMcKbIJvEyV4VjnbDsulLioxh-r_it0bxx2LQYrVxmBpJiQBpZm8qOJXqHB9C7-JCohTSN-wGzYtpBuArKG94wHddON1lA10xfbEZuWpU2kVtvs_lAElRtw-rXjAWT8jPgN5OJyuYy1aBWdHPwP_8neRzTZyxb41FOXVVb6lgOYyH0Ffe5ZcHGkesZw1rokMSmlj7X8R0ORagdVZsbaLxiyo5rdvot1yUBj4v68zgttfyRu5uJEHeLPC__FADmGFZ0xyz2V7LNt1LQgwunVJCp_sLz8mk6Qn5bO90l9eBZgXl1bLTag_BbzVEYXoRLor9FUfzowUDZzR8E9cSgIyfy-TBHyELYEHwC3atAsQjR9Ea3-UdZuGuxoV0X2eMRRGpYAHCTq1_SdDiaYi_7LQIvxNQkeVVKdZzByj_bO-VwuybMorZYKKhfMXlYof_ANZqO8ylNf-44fwjf1sTZK8jeBKZAvJ2QN64EkNjCKgE98ohEdV-2hbq8Uzgye9NXriK6NmHHU61tZs5GxciFX1meWFdKZh5MGt6m1wT02QiJGlsq4tGO3JPxtiMe9EfXpjWloNQn01g_bYmCsoTopKYYqxFWtPDAaE5IxE-TBfsCOkt7V0ZKpW9swJmhoWRe0ru6PJeBc1JX7zd0Vr6TsGK86N7tyiEds16WNa2vYiWLYzbC4dmI0MUB3RZoGfx1sj2gGzyZbr6-SESNzZCMBlJX3M7nzMvTcSIoYdbjsHXB0GLY7BL9Uu-VSvoEkAReYOm2P6gRRuaBhLV_qTbuchjmy_XFdoUseMSekN36tSIQuOIpdAjtTGxH_30Wy0rhWggmb-8BPHGJxYZoxjAFmnRiuqe4uuDwzV1I3pWxuT4xew6P5MWTvPvTEJv0XY-Q73b9E4GPm7ib5FkwZfddBmikwigST5ypjuak1W2-CSqppNbeh0SYzEQvII4nhX3gdXxwczwslXkG2VgUFYmQuAA1bJTYEFrYrn14AaCoW4zUO2HUR8dloFOHB2fr1isKhVP2vOUkNGHHxw73NPirUzzTKamGXCztk_Ct4yf8t21Go9GUDfvNbgJ7FDbbsxcle78axPigrbYGWbIsNrdE9-gqehnwPfR-O37Ywf9SJZ98nqsSOkaNk0C3SL1x8wmoR-SPVC508rWuX7rgIyTuAuyMAV692I0LxFFIhulTCHVBK8ui35OQ3y58csQ_NS_8ooHzBv8Ys_beIGvj5PnjafJA4v1DDpWqsKxIm1oYkBrV5d8QhE3WRoyPyPfVQzwjofTHDIfQnbiXmxVDxMgDrj57uOdNl7ggP9zP8R07CgvaAA4VKbMGfCEqR8P6WLRaYedLQ_dJyD4WEQ-7yFHlZY6NYAAIYeOZkmJlZRaSmvMeKMM_pYWl25JjJcGPed66JIPkHfsBn5Q1LythcjX2ifz8n3lh2OsxbTlQbJOH7ord8ENnnhBCYRvkQlm4541jqrC8InrE3n81yxo09S2RgODiAgknG4PV3LGwUCtmXsMCPWfB0wTO30K1VFdylNDtN5BVxC796t1XSirwqnllv7HL6qgTW6ozm_IZhLHp20SDp0eLKfqIF98e_B8ZW8FH2cgSJgKfVgvsjcztOxOUQh_BV7tqfPLctvV-y4028Dx6HeoNGcklraAjDpNtxu-VZLEYgClY0fg_dR1LblMUwLokz28l3DC1HX47low9XgZ0yywLfkSMrRHU5oWDl2MhBs-uHoLAV3D0flq5hrMqHOjl8dyU7OnM75fBWhqkGWS1uqPFHf_nZk5FoWUzix0zFlHphGgokn_akoetH9tQXHC2JF5jB8GdbiF-Oi4_yjH_Esp9davCxw9RcrJsu_N8w46hDr2bUSEEXb1ZjyWuQvViNybX8T4APJ1KP02JxBZzp82-_sBLJcEP9I66lEgeZJCo08bMDljYaObMUdQSAi6ujOLQs58jDEcMGRve1Yp9CPz1x_yEX1JSoU6gXHQGKumLmUqHHFxqmAkUnya6xnGlzFNhvRkFpZJ_kIZDip9ZVyZr8fNZ6FJZFnZaYIaBxaCWB1SQ51EqhHZbpQRgmFmIsFeTvEFZ9nwpof0t8CAiRB0hpdEqb962qsOpvyZuluCL97FemWeGN7p7rrdu4SAL74FknnxCiRNzfve1IDyhek4PocGCWvGqCbFpOuBxCBWbn6gi84zSGVQKI28USAR7xqoiJnzwn05RdXhanptasj2JPNaY4BTt19pm3eHFokbDAB2L249k9qwSkDfcvlB3RwdL8qZBLQNWbeRW23vcqAG68CuI3KPZ3V27e8ZjFEyTnwASFww6BvV23dUBaC2LdPfFLCvJE-UYVBdaF7NPvmVSAncYR5MvJsmV04quejvLU_O0NjFAtz_ojSi1YrE8UB9C4lLorFGNnkgfxE1Mo-guwAwrgbQDfBL6QcAyJFoTjLZ_6bybXod8vs3IPetvrszS_wwPMXTNfUtHKzsq3DQNThnrnbtHoYNCu9Y2p-OEOML2RvtH_qj58C3XtGpRjslAACih26H6-P8uEv7ImjmRksEa_GH_phKB2LEvf0HOuTCDLQXWyDsllDir-VO3cfFOG_MlVO4NAwn_BbWd3W6KAhBfLB8rAZphUgd1vB8PW539pgOEV3_lt-u6ArZLxCyN58ZWQok_3Y-wBK11e8MCrn30bS_9-7pX6jOVXtnYK2nooWMdDHZ69ei26iKelM13PfOtou4CbN27txrsfCjKC_WQ1QWBqKHC24uq3e2ijh9lHSVH2hhkWDur7WMn1amc9lNfGfjPTm2VSvH4VdjEE3prUow6GHNhwH1bZRJQ2ONuiUp_F3f6jituZs_mu9RmSTWWNtQ55GWF62iDV8FIHcqtPIZsbmOhiDapCuzud_4RFbcbmEnC_n0kPKB1ktpJUCrr1iib-PSdj3vmlrYrSfiRTbsIb8WPXyiSPDbU6ILGDafl0L52S8BX5_SF_QzNQZ-vD843vIAi4lVHtWB9wCbNKFf1Qus-yijgt2vdBt-Dq-mJP61sLdO5zEW9yMa99qgxo4deBKIHAV7oAu3-T0bECOmMkNrepeBSA4mFBvdThy1MdvLIwKK4WUlm84DOQCkk5T9TABocn-7DkHarcg2EXztm05pqLhgTw8EfOdSlw_ZekP-CXg4QRz5dPt2oRF9vnET_B0hD9xyZTXVppNMcvnn80kU5g1vm_LFXBWsgKwK5IZmqHFm6yoRNL-E9_Z0sjP7fkScZ7nxqOQMLp7AzNAzqk3N5sEyf3iPa5o0MvV-07tgMhKA-hv0qbewZ7MVCR9Gv0IcCOLpU7h-w9xP4ZP8ya78ulBXJcFqn0ynunevoJaU9XFLablHLHejQmP3a9U9uOjOnxo0xmh4_aV9A7yRUaaEKdjRRlofNel0Z-8IYSBoQUr4kmPMz8rl02L7COyUmNBxPbJKrTQ1uP7LwEBysUmsjxeaNj5JvAJ5iCcDdt_bwxo8sPWfLH2kmNJSUmLM4slGoBzMlhmjdYdc5ba8VKLSk6-XY6gJfk9t0HQytsUuzsDUmXFhQjjdz1c8SN_rMtwkfFX6Mav3-PRulJ09h2RfjNqCcg1tvCX3AEVHLCPz-V6Eddo6TtFRW_AeCK4G7eZdGzWQK00jf8r8-etZEL9N4A_qxjiyPNIpwhyfI1gR9YVBCBYo8JCQ-ppbKgh1hF0dBZQIBudYsJAz-byh5XMO6OXq0ZqdwbwxPwNXgMNc6Eu6xJbihNGUIoZLe2FnKr4xUwnkfn3Y5XH34vnOEMkbiMn_H7K1dLYrqBReQHRmtVxHMlKeFj5oiCTNqc5Zz0C7WfB1wh1sqEhedh0wjFIr89v6s_SocxT3SqyKic2LCH93u3GvPJ61RpEYjZHJ_4FIsojtUye1mp2RTsfGVKDFfhhjX_kJnjeU4rbi8QGlvofPcIwo7_L0w-8mxs1foRAZYVkbimgdSkdqxHsDyvnGpCxpPMRRdQouzqgGxNjsi6S2KeuO4P1piTMy5x4z4e1MPZ6N3SX5Bf0x-Rvpa9w4DYEm1zNhYPJWzu0exEMEGf-qQ-f5XbEpiXNbx3S1nIZjH_2I_p3D1nRCooTRLBoTlzWBU9YadskN2PAz_iRyDp06RY6EhadtjsH-Ygz9E7cYsEfsmgtEyKGOhCV1mo50hfDJcllxilyPO3KGEeUcN-zZT2J7nEVoMpy0nkTXcz4AlyJCUA0Q4WBHbMxw8ekHLSKwAIaCc-VH8DOQNlFj4d50xEeduQepRrneeKS0ZRRTI48Z0lktr_RYIwbdlNrJPjOFZWmcJCKk6xlqVkFZqTpgIjr7cCITueMFmynaU6-B8M4fR9UJ6wu8Df4nXrKr4O_eP3DY59ZIP8QiJXbWj_qZZTPGFIjSAbq5FDRwTOl-0Xw3tdeVH1hwFULIBJKBa2nbGOhV2jCotEv2Grh6VkuqRF480SAEv0UuXHADshFc4b6bwq7DWz6oUD8lHTM9_UATBB7vGgFWWEvI_ZhbgrYMiViBtqpXWHqQwAe0sPRBZq5qvRiVO2iifpjC8YSj3pnSJPlAAgyWejFKc8zz5-A6Wk881jT6Zf7kP0B5H0EVwnrepJCUwQa5fadnw9qDr8fjogssE9hVQxjLaN7rYvmttNMGEej3LZBhrFvIsMYMf-2iex2yqgsXCaKfBsItVolcpqmyOjIYsLZeyN-f9PLlWfadU7Y6HPm5HllsCvHz7jtxQ_2l3a7CJmL55pKa9J1RPUN1Y2G5ROjmp6aBsl4mvNkiKTuUeNk0ylyr6yPGAl-cLuS2SNGS2HpKg7I8ri7ovnJZjvsCut0AotZktESkQiwRyceJttjDBBk-YKBd5WAKcFauNMEi93pp0tlXb12BRbJUJng6PcpPzvDnbmL5IaUtdZSh3G2pF0Pg9pvwA015NG7zq_JdrzhHr50VxopQlZANIYKUBHdkNUHAJ8pxMjqH1hwK72WQ5OG_z144l4zq_03PXxbyfMeNMtH2Zct2Tj9DozuIhQmALsooclb65HBPN69oEbAILUvJ7gUlJK164800oKsUug4KmctTqgkZhzNEaiw8FUM1Ok1aheUZqwFc5kHFAnZs7nqRrwuhn7O8jBkKEgE-vCaztLm4wWx6L4QqUqeZauYfuTI1r3FHd2Xr1wQZlBDG7NGDQRsZis4qPovEhAOSn10mkKdR4sZ4iwkjd9mT2YXlMB7hbbiC57RaCpsj5hTyv9LiOuP2_zz7PnGxAVbjTcaswnhVZE-2PIgxYn8gDSOQl5rd5g8KsrmJR-KLtBid5PzlIYx5MWstSdz9ULsdG4F_ooIvuva4Cdzrz13bMBTRmFpS50VDWoQGjNr5Tl1ooKPVcXgRFFCSLe0MSuZ50IFDaJtZ7qlu2-8D5FNlfEKtE86WNeB2zeyNZ5gvCvXJU9ICp3qi9O-8s44yAJ585mAruWHTtvAnO9emzj6UyLKQfXp9BF-GIgEMl8xgYbnN-W0V_aM0ABc9Cgfo026TbS_rUm9_BypWx2PxmoOYGZT7DLk6P2rvNBtKRIRTAPGC723YBtwvtwTSoaOsdYkNCMvTh2T_kZZrAF7VST9iJTbyjbumAuUuCICTYKPBtZD-6UHm04o1lzyQga8WAWgM3FBjdQrjiJuRLQzhHk48HgSGHnL4yX90K-n6C8ygDZtVMZHjAb7bDt-ZQsDpvMO1bVAsj8yX3LW8FND576H_CIdAOTIPrq1d2cKFFkH_4m7Y_BoHMr1t2mrClbkPG7u30A1YYZNPsVr2_ubfhr1FJgGE2Z2rb6O1krrXPe7FK0feWl_BSKl464f_bjOGO4QAGqxPSHxp9IW1grdOX6pV8H6_U9j4Fpvl_uFPRv3TGPATt3PanqT1eA3jPhgsz0JUD4GtOBz48B6d8xT7sZq5Q0kMCqg3ax8uxBXnvLXHfKz9fRtq-uxv-zKXvR-SLX93v7WgH_oVPQRLmASGU_GmOHIR13PHRTcqp9_Ijhs0CRo6H6OCK4i9wy11Zw1XOXGYSOW2oN_HuTrJXWTJOV7QFDg3JbcSWmfCTPfWoCniHJCksyeloufzr-RLHjylQI9b8_87c3nRIOewEZjPmHVR3Br29FgqSHIXbRl9irsTcfh70SXu8_DgdealLnlvhkv-1S_DSewSkNLjeEzEOvJqOXNS-ObYGb-7-zokKU545s6W_PZVK-bDWGEOUMncLW5U2DrNFCIdqqVuB0vPnwpwSR4I5p0re6wsr658uvkahptzhOWrNTzg3gr90gk8LCc_O1cdYsrS6z4lIfIR2tO9XCK-wp5HDojCULERBOyzV5VhXVxNwb0XeeYloiOtC7qROf1Ue4rO2OMTIzm7mxCD_R0BLvEpsMZulk62pA85iJT9LLb0UcMvfbM78eIxvgx5yqfMYUWQ8JHYK-PgS2siF3cD5acwcSB3QjN4maSgp8_XOm8XKb8TVlnRO4EYAHoJO9WNdvU5zAfZ_kOT4dFioS44tYHE1hwNrN2iTb6xyXkFvNGLNR2AOoRtFaOX2cGisv3nnGDWz_LqFb-xV-tcHveCXyniya5NK9HJviqDMeqH3kTdDzHsONqeS5j5bd0UxyUjXjtbWGhU-M-TBaQLdNKshSnKLEO4oR5oPApP-J-VPtiIKKRsFpP82PZAikvxgQA31OLvijZyJaCXPk4pTyAG_634TjMns-XKjjl0tNI6bzUJ3ux1UGuhBXtcWclNYHPRM1I8eDm58E9PT4M-Bb3no3ZWjf67CsgVp3l_Keevi4lB9_r1Tht-MCdMK3poxJGQyThIibZsGzV1DXNQcki-Fnnn7eDOxsCHIUbR7avFHHz9l3SruQNmqTSr9s7zzks1gIfM27gMJ26nJJe-w-Aciqx7jtxLcUvG8cnKRZPTPP7J4VSql-3o46LQrECw31dl7tQCZWWhed1AE5aNP5gHLSVGt0kpKeqGeZpSd-PLsbKDmYCmY1Gh9bgudoX5SRtqpDhEUhf0FSBLe2K7UvOdEY-F64xS66PAjleyx3jXUEqTsgLmhSvfN3-siucMPxtjGdmLAq5c1N_FGEfuttyqx36Qtzx9ZUWEkTq1EDNIsaNFb4e_SMPFvYsfPjJm-WN6UI23mmX6kYarxAZwcrwjR4Yw1mVCB0Kk5JCCggUGBOa-diW2eQxqkaWl7vuUlJdnEcvJaZxy0Mh7hLnzh6thp4kXbsMCnjRDAXEuuvlGL5pswld95_IEvE4C4ss89KobF-ZPsqbwexN5_Y9uST_LsVVoCdto-EUm9uvKa96MoANpuXxzljVep8YDA54nMm2ipamgVne-Q_4uGxQiR3-S_S5RSEHbdJBKpx0dXSg_3kgnfw_1BI3BByi_wPHFOWxnCvEYhazm7M36lf8ijJD6T963O5E-vTfua2-68T0lPMNFPq8YIt6XURQtNZF3w0BcIzzh1kaMZyhbKwCdyD1kxYkRhj3a0HniUoVSJua8tA3i3vtV2rWFvpr0sJ6iNY1Vmf5Jaj6fMfHYADpgC7RLrMnqz5Va2UJ_sA5ES6xPUWQmJ7UV-nBed2QK3BEQ8iu9sa-QIrj-x6QdA1zAEyAQXRPk25_EoWGeY46JD5HIIaP1h3bsz_omSgNdgBxYg4vVRzHpNsvY5U8pcNnUOkPfanEd6NZ_gU8CPqvMPqUi-O7xN7ACiWp87yJC4A3JBn11AvUe9vQnhpYEzNSuJnyVSAKbVYUQwpueIhJZuVm3I7XY30mUAsmO8QZf69dfdvd5219H1gNsUeLehdAN8JqImc0BN83EiqXebubo43FW2a68CVxeh3AbQALpKu4Wzfyv64UL9ZHAPdU50QNKis2h5wXoTSORW31XHLnJqI2i-AbVKrPV4ihLiY4xIJUaJDzh-6ZWLMJ2PliTllg8iJbQQsoN2QOg-wS6n48WQEvbbxRdGhdpLXSOG0B_CyG6RCNensKmHd4ruz-di2S8yRYs_SQXNs8QsJxpnC7fgh8ubMIK64YvSU6SYMtKSs5bIqreaAJ66yJ2ZmF0S8cxazlqkl_fbdtc2S88FAFIe83GGj6u4lyRYq-eBaMd3CfC3KJIGHUB6WW2sUG5Fwx6jLbhxw1eJac_s0ZJCx35bhh7nn7maWlLBgA_LHzmtgZ_A7aA2-zarQqtG6fHmAix9sYFwsVcpJESLJ3ricp0AmsoVStUUQ3_OyLiQlNIBblEzmrjAiePo5jGw_n1txm5m0w_xmMHkvnqL79usdWJKjqT7f-6lxPZDFp8jl67xcJUsEIl6h_yeTH-WT1RzyaSInvAOo55a-wH8ETnajSRP6tgWKIeGi6S1d6HfJWhqYv6hoTFgGxkgK1bNLGkgUj67nLJxUdMr4UDe6wFtAfz9I2apalOBSWHJY7U1v_eIwc8irCMmJXjh-rUtlHxxe90yTuCzvU2FEbYGBzDWi3ZaaDaqTe0PJCBhSnimuxExq44UXKF41MZ3OBIS9pxGtAeHmroAxzuY9QBPoHeB8DViAfq0NAgghoUyRb-p0Ddtx5kwDexWWU0YXvlVnv7tbQ1zgm88fiz8MwAnLJHfFQVrIeDmAAythZTN5FBpp7_6WZDeDT64jhJL-CDL6OeBdnk-TZ2ir2nK5ulo7Ljypu9iEozSchKuUPcQ_53R5Me2sZBA-HUdcWnHhHyKD0eucUdyDeMRqe6k32wwj6VnSBRusgOKs8MJruVlFSYcH22ZowzoR-LCuAf_dSiAsvaJQ6aoWKfkO7UNe3DKmiN4LFKDSKAkm-C86sxsxWFFuBU1EeluUosLYrRNH6vQTNiDRdMEiz7Gl-a_CLthwJmnigM0hzqxBP29jPt_lQuAPcpvJ2Zur_WmA0HJvfQRIV5mrtYM12ti51ri8UdCf-oxtDZ9qcxF7fIxkLK3yEWVasRfCBc75T8ColIOJ5e2T8RJF1PBpmFlvNAZfcvBuWJmtlwKcGoHS6JUv4q9L-x6VTc_f6WO-RA0qdpl451GDUq1pEqKYeAQUzueMU6rf6sLXVxLELdQvHbwLUiTOo7JICgs874s3G1q3mYwcc_kXa4W4ltbcpYl9NiNGaKbOUutFk2XVr7yA6t64f_az9tjOpzW_CVj44LjIaoeAbQB_wUF321pU9ZvyGs4rvbte9nkEycM7IQpBwXORFwljJJ7wNQMmDmiA6SJyP3GpY0u13CXvj48KbnGY5G7u4HtKdp8Ctp-kfpfQmcW4C8XnwNhBFFwx64XzQI6Smfb4sKKlcqMSbt-NfjqQrl_LLUpKwvp5jSLijcPWKoCajIytWNbUSXzQfXIVHESOInK62WeJQis93Oy0ZmKn7fCJnci-q-mo0t1Tw6CzvEJxp7DX0xM_8K3fvh-ctjXZYzBEDAz36zVa0VxBe3ylOxhxT5CkcsZTPQAqGLcgZwkjLu4UTGPcoSBVXTDGs1Xe-993IIi_O_IiiZ1Iq4z95fndNUPRSVG7G7AQ3EKLmjBFPUH-QZwmifaEyBKTgRN0BOOV_mF4yZgbInJ_rwfUG7SnUUGde0ua5_5GyzS6bRZBeSRytEgZ0jLsE3vKQWNa-AYON7f6Wm_fNqcXAz_rEaBctk2sU6fYoc0yO9PO4OFeU2OhRG-aG8OTEliampByDLctCq3hqi8_OqKCI2u8Ro0XNvuuP_36FUfEdFBHwaVfOacNfI9MVpC-KGsLHqmx_OrrYi5PcNT0UvydFlq41RLZobzeGTbedr84Y67FEYaqWKUKPzpgM-tohdqg6ABgRjEUgmr7h01ofQc92-zw8f14xxOVPmdyVykT3M25OMmAsiEadHKCtdJ-zC-4CGV9KWyvx-_0e2g1LvNOI-8rv56qAmC-niNNcKVLnJrCtdg36Pmy6zZr-BmqOAILHxzH4EoqNZ7BUp0Qg_Kbyy9MVZiKBgVoT8w56-454eSC0q7oJDZ8BOL9fgLZh7p8K1XXJmzpCJXWatqR9Sor3yWLcr9pIrtt_3NFwWaYp2P8iWMQFwO5q1TcacQT5I63VJ9-bGOUgIk_uewhVgLNNbjbkNQcwvBIBvJIMTItW5qTtsSgklkwI5QiQqoX7wXHO7xUzc0-G7q_tLEtWFxxODXVtmxx3Ery_-rJL2Qn_UIwETPFc8kpylYD2SZFjGhWgcc_rhBq-D_u_3UN8SW-NfoAaC7ZMwmmbS3IqKCyNxsBv31Ho0TXSPYTR0Q_-6L18ZaA9ApJHjZiqLHRhEpRf7vhBnLeVLB3ulR4NTSEkpSSFX_zXS0HjFPXlT35bW6P2D6JrNvPzxMe9m-vgcOZo8fjGBn4MFMR6jfZ4EGs_biN8gBO12TL8Ytehu7njvoNjH67goCZrYe88DEa_OAicNImZbT4JX3AejTsp_hZ9gZiIrdSSsJciIKrmvy5skmttdZ4pEDtB2iz93rpOyEUWdc5Bll-J1Na8wh1F-6wCrcknNxVQTvKPt4aenYER3ymodGroBCx-ry2APJwabhb7vdXYJjKksetz7YPZ4CkU-2XanPpSye5r0DRSlox1SLY6B4xlO0rtEqLzpHNiJivY1g6h6f4hNQkMXahJLfWi3MjJBZhxd4988d2n3BchnjqX9gETQAotZrmos_4vItfEIPbeYqbNWGH3Jb-i5UD8jedFhdYvpAQAEd_NyE5gwuhLCc4RgG06RGlhp9C2WnF0mvsNJV3lC8cOu6T5H39sGwEzLHVB8BaztEye-cA2lzJOqN75iQ3cZMVo-ab6nQ_-O7gKJoxfw0B-3JLKorWSku2sjTSRoeFR8v2pMeRkH8cYG-Ob4KPj5T8AOdmtVXWYbfv8ToRbh2C3HivLxajjARRYUrjCh9enOPN5BmOW8FR0nS_8ovGVNoVhmnzGI9BpOPankpeN2izSonWPkfEANNocvoSvbA37d5ka85t5nfN7ooJY6ClVDVZt7Mr-iHzx7hgoJ-tgOr4OEKgP2BNMkXfEGcuTOsKBzMOy8D9cWzrxq3buN_bRbjg4eGVRErDh0jsXcEztuDCq_hIDMBHluXEAaOEQScPNzEbEn5ohbhD3a9s-YqmA8SjQdHPZbtqSUgN_9rf-a8jxA1gtTH6tF41NGLGZ0JBig-Rv8CXXwwr4BkJEDgp4_Az9-qWlO8Hf9VDzcNUlq8JSAlAatPQ1sPk8wQX0Zdr8l0koKgN5uZJLvwiV6XveDT52hAoRoIL6f58AD7MUstQeRBL4HxH2G8iX6sOPD98gYiIhDr4MvSG7xLJdO6mvCzPc4I-FyfD7ZZi9Iznl5al7-XrreDwSIc-t1OEfHhzxX-9i9st37nCjCjpAwixX86rHEFBE0QqGOXeETRHXXS6Znqgwc4IFezuR46AXpQPRn7OoyCasIrtM3EE2PGEDREW5Y-yOrwigz-WQbRAVAXUbpNpkA-E_QJ1jpooyf_m3zSsLK3n-ZkEZGqZloQYNgZ7fCp8OoUfL0Z32iwiepAxCpoKhN_I0RGLBwsIYLMH3njdMngYewMK0fl6vBx2SFjv6kWWD65tKvQrCkerwQADV-wJH4YhHS0mlX5ZtbQQK_ZxPPAH7Thn5A2mfxhhczBvqQHk6JY6jl_Ri8OmaCMk-QKToLiAV7hfd7_QalVzVEo5FIMyqSrDhzRMQhdU3ocboMzxcS_RHNcnMc25Dg-3TkFIyfrlak5667RV71BPSUZBryQhYYDthbHLOj6RV8AS7RQ7s_L48HAeLa0UKD9dnDVrC19aN3Hz1-p67GYqolYKe5U7GvWtpX52TBESAcNAfB7Teyt0RWWJmuKB3Qhsr_Z5b_WeknskbDI_5Ma_w-3rZOea0qZ1AKaVVzC_FBycGnjcG9ciHYZMChpwrbct-LmTqvOAHhLBy5NavzL3AKxSMxycemBsmB7kdZSytSa6Jat7kEIcUsEFiRta9k7RIDUgZ8rfwnzil8t4pNKqjJW277sBuyZsmJt0Dl9zzslbb7eCjN6yGfJ0V0ozjyBPjcsL1pPnhyjDrTsJetngMQij3n8c5dMiRalWHH4SRmeHMnqhRcwlN8lHreLdQknG6n8wWjd4bGaFKorRyLjnGvZDkr9kso50uuzzAb2_LHxyqRpCK7bm1XWV1WVttLK5nnTwIiGv4HPenIXm_ZONIpsfHg2hR8yt8UjcGCqOJLu8qtEItMxFGQVLriiSwKbnOKs93Ca91oY-Wovpev7tdS-5pYCIETKZ3s2p7pr34c567MIxLSE3b1iHKIpF2sesrpN-G6OS7kX1S4CohTG0zdfyql96P1wGXm8lz30jwsTPfyCc78fgPxFaGOlal-5HavvpfjyncIGtuMjagxJI0E30my4_xK0WnajpPO1M7Jx_4w8fqogMzoo2j5X-2LYD3GASHJZ1pTBA1OC22OIkTCWA7XBSKgZp3yoT1sENGo2tsWS2LloteEvfeSU-5BWyxMvh_xU2FYJ0GlmTw189Jglqf5xRXEvrlt_obC2pVQggvhyU3pogTJaTkKj7_p5d_F2u9eKxqfsj4H1ur_B37Ez3_CAzxqboMaJt7uBjLLQceaM-it6EHAaJ1su9SBti4Pi-au_y24aWWLYSWXqiXISpiEfltjRe4FuBwk2R_38vo8mGUDK6ZdKKhNIv-uHElfJ3Ol5bCVTDdd00HuESe44UxV1gN8wU8E8Hx1VuVAqY62xotCVa9Hdk-fBTgIt5oc3aJ4Yu7KpzZa0Rs876ICR0dfLj9yzg5A9YbOhCK72GHy8HulYpTmWpWLjJGp_xcbgarDgzffAr5kFIdbYsXq-3QK6fSQDmlyaoUX9WpocphnVCtpqvRJ5A5lVuw2LltCd5QKbwLOvRr8-YE3Dh8cgTjcIHQsasZioGGlY50SD0_Z-YrqzshFU7fxan5APc1iOKOjz7hGbpLxEYtZ6pG5bN-qs9FqEc5Cuy0Sk7NDj_sUkYlf2Z3omWde2q9_n2ADmrnaBdNH0Gmqkn-LR9ShR3hcVZrPs_03MrmkACWWR6qaJ50BxOAJeJrm3RqsP_qLiOMU5mz0tmbPAutSs_O-pGpAkxT0SybjvnwE9zHsW7BCvtFiCUQdsCGttkOmh_B70lhCCz6np8CBhVjVOshZsO96ueuCfcQvOIR0DXMDTKZyK-cbwq8UgoPdW-2uIsisFIx7nbYS4xCemA5KfEC0QzNxr3dN5FKm8H6xab_LZPfDF66qz26v5i4a0a74S2cYMsvBTlxBWq3cyLk2bQP3ecuojVYlgiMb85lt7rujc00nkBrqZq0gFbp8TufBQe2TW7kD6pSIozYIL7XLwPA-awkCSFKKLHFc3Faf2jJF6nRLLSsW14POn5GOLc72jxRKP02fOGoKV23SE8O69XVfSpFr45wkJh10dleThxPWDYP-x--YIACPaNxPlsTfJiVw72uHiXuW34cxHEMGBQKVWAy6p0vyHQnV6bT8tyev_QLjRPwcUIFujUjr8-GPFZbYfs7cCuMKAfG61O97RqMlH_5RlJoE3SrUU3Yo-GuGPB4_w-yithtRg8vx-WnqUYg6NxxOfwQ3Dz9vZnd05ptIeiZql1ydU7PItVmXP1qmFVqZnkOKEBTmr2CMHgv6btB4L7OqFWVWu1TIfCFitA0UUnpEHTOwX1QgDJPCvwfoVJrtI21l671bH37FSuxjtzsqy3yJr0VAYkD-ZTRRv-avQKwWNsVNltAsxA0fXURaDDttWMcBHGHUwd4sVD5YJK4x_tPn_cJwy8a2qeFsA0c8ttSbvp9FyHK6RBGbpyqPSCVoDqg5FPtHzXFxrAEFYF3NLkHoR3aDaRW2USJIsbIkChz-NntxhImxk9mzwnPlq8Tw8mEIP3uXgCCWdRUBCeRGZN4d3ubbDjOrat27PeAvCWS7qFfjxvFHtIQDaITGR6rOCc8EecLvRjouMxVAMfPltsxOzb_0XXegbBG0M-zf_apkY-R29dw5iRJfIMyvGWMMCyTGqHMxj7mlQDWmj5dHbzIfMfA43wwChR-fKLDqaWT8tFnJO2CCZsPKeAB4m5CRb2LEallX5FQHjBxzafmzwPGhfoSXf1QstXt7LrgnCo5z3N_5migsYXox1z3YIAbYJsFzbPWntGGHsjLwO7qaVTvXmpNzpP1OUN9u49gDxn1VCB17O6SG5xnczUKzFN6hF1CW3p_MqkjTWOQ50jPBShqkq-_kFUeSOjoMt4JEq7Xjt8m2WjWF3MIPsmpxR9RCDNU-YBtJOaCnCo-fQO5C86q3Eiy-86XmCGKeYgbDw0FnKRWx9Anzi8gvoxPISOp6FqTw9cS7rNIC1FZK5wqOrDv4Zg_fhLk-KfXP1AxSnun8s_yVYeW5IJwc91TAzI4T2xBAV2naLzmjRcgJYfvCX7srtKEdgrM0DoKn-u4F9LDEfHzJHiOuYWxVbf4YG9oIg4IEw_9TKqt5gm5W7TwQXhEPu2OKM9dH9ZsaDIWwmaHff_NLgmEOkcQseT6hIp0muuAaOf82fPayI6BUb9e8Wn2uOf4gZOOPrQSCZ7PYyhKlQe8pWfOKV6NtYbdC7G6XwNDbMZ_p5bTnt7zLFBxnOEHrhqWM_6Ah70NR2txXaN9NnAAMQs6vKSG2eLqynrTCYkbV3FHxJvDGr-yuzVoYfnZAU0_4yA9bMhbYBYSSe2h6SBFfsGOUybZgWnk5nnrdzYBACkrOtLvXAsLZYY0tBdRpWRvDEjUrUjZUIpsbFa2T_FN6ZL4z6Uc_51awq4e06hFLD0PxhHhCw62ejZu6hDZH3yjk7d-d9l4RxAWu62YnpvNSTsxslkOLWvKdXcepXttKFTDR5AFUAPR7hmhjNTFa6xkdnJJsnODx10tHrIFhFIKG1o54tinY042nL4orB5rb1pX6wpH5xccaai0KoWTz1RofCPcuwGv8FHRPSeaKXnBAxYz6yBNsIzexiO8THC7RxjcqCmybJxlCb99D_1GJD-avC0sJtMuOnWXVXCEsAsGksJmzuqik1OkacZgeb2W-Kq08ZdqC2QpA98kI6JRQ4EMI7pTHU_g8mEUB-2qLXphQ9W3jtezAXuwIWjspdldgEw0mVlV8lsVWpBUd2Kb38d1FP4VrdCEYcWS1M-IrN01LOU_N_K7HPdbt7cM7OICoM4ljj45fynre0AoCbJTRYDYI3AdT8CGs8Y3hfgDr_jkpeo5NSMLY4pGvzNj0pxAjDkjHfQTAt2lG29jTA1PjfrfvpuoFC1-A-XJh-Ct3yrbhMvqNUmQu2Qw19PF8ROuW1fFQtLr0LaNxrHphYVDQQG-FqeMyDqJC2qf7LLfPZaalkDwaZ-4wqjckwoHmf2QbUDKKiB6BDr5AHoNWTm4OEP_vYi_ClwZaxSaQ5Mazy2t3H9Hf80hwj40-9e4GpOXJbPPaXZOSz17NercJZOKTLC5iLRH_yvW9mmFgQg8XG0oWyq_Y2KZwk1lGsq96ph-_ljAgYZHY3iNRngf4BS0Axl-n5UcZ5a-JWP3NTE9ixD2BZtekdBPSdHDrp7TMY-Vi9NL2WD8KLewR1yDKQaW144zUP-Yf1YfQb3akY6gSZe5X9AiEsNMMxj8poU70oXmtRpOVE6pqpoqf64WOpkuAdyYqicNrSOs5V-WHmjyjVI5ydy-6LCGwwjDz31iYfTaWVSP1WfaeFJvI6SBI4fK28ewoHFn3v_8gzZZRYVKQj7ar5H_8o2h9tqlZP9eDGR-kz_rY9BXg3li5dfPT3Vou5MhbVKyGQJiloJ1BVjQntwSrKESecAqfMC40AeHz1FC1mSGt3UwlByM9z97xA6tIhvt9jgog3Yl8LNu6fsdTVN3jILdHVZ2bu8eDp_VflZzcZS-LsQIwQxhJYfnmWiLlGgjfCAFPU4iy2feeK16flO2rjioJio5vO3pDkJfhy_qNL8RDxQioWcMPynAduBqmY6BqKJPKvXLreGd4akDq_P2oYkvEh2ow2zB_rWN4Q7s5VPCjj9q1D76JDj8LCfSVw59m-RA11IR8YBgsVyMwOtPsB8cRpMiQFamZ8xqGX-s2EwKXn4G1ILAnvUDUOFja_29mbIs8wkI4l0TOXNT1xBNOVjMCLi5Hcx3sOo-ANqIkxLjPF5ppYqNK7a5sHojBiLO6HKtqL8L1SabETxTsd29RwYt5GfHBLIH5xBX7XIUPuCt8GSNd5_9FRDjhZt3sW_pUbHQjCnN3tYpzFSND6ZHy1K0b5-0rS-HBxyTff9qSv_V8lErxzmX7jDQhVnKVQIThpO82t2dOh_rVd0YlSfjVzB6XyrqFWI70CNCWL22CFWHN5GKsFtv6zXnb5LnDuPOiveJHRMcDREalRYUofT66hPQVOLStm31npuU5w6tJE2p6Ea4bE4ABcMxrsqY5Bk81VfxHdpJpZBcHGhL4ojHBPFtgCq6b-uHz2hiyG5SOyADxjqI1eDF4hiGeuvx9oFh_jM_DSYwXq3iG6wcs6xlR_G-LwloCSu8S4vysFfvoa31TSZSr0WwLJZuRXTtXFpB-zj_fYGii9hGnM4Ne6UtBEzSxQjWyEkwV7H-SYpyvX-lqkj7gEObE7I-tf07-b47q-YiPXPuKc2aB1T86FeaDUvWl1FfgL5wVIieAy5IIl72N8Wt_ksN9sH0yGsP-IyPTWMZDVygVlnfO0ReYf9X6c17XBO6vpImWRAfMZ0jFgT5YvptXgWJ99TEzp68JQqU8vQiGSX-zWVRXAsrmfwnUnSnAlKE87-lA7NXrdGCMqYm0f5c_OopEl8f-_zLtePSjzcqxtQgBiZaOYNDb769gmpWsAyNejx8BYXUlTThtf2ANeKzPOElUP1odA0fPwPv7NLgZyaOaGDUaMeEEQdO5d0_C0zQ_-wpH6nkdiOJRC3jbYnKid9-vhmjNqFxvGakxACP3F3k1j0I7coUlaWriQEcEI77QEEgQOpjHnJOXiChxNd1PAsvLTPW_Fxdu5xv1JoxoSmb08XqnHUgIDXyPBenxgRXbb1y4vGwQdlvmaZuy4Co8djCLPj0op8c9GJ2rzlsdx21uzHwQaO_WGt7jGqKMY43gGOTvT7hf8irEsqxYjV9gLQ97SlQeEYtq6GjIs2bzsDVcxmskI9dSNhEYS5eONPrOQssfBkK7qpYG2i-n9fYU1l6NVd7uXxt_-fyPmDiZZEdIOJr1UnTsr0gPYu8f01YuItDzTTraplfew36R74StT7tD6S8frVT3HY70nnzFvJuS6AGr9Rh42lSiK15I2cLCG2zNChBnRNcbpLuraqiBMvmXVRgPXpuxcJ5DAgeQqnMcvzQ6Gf9VFbDlvIXkICusx0PEMn4_4GrKPSwiNUg8qW4aVhkgkpfMxo5hYwbKI8D_zWtC75ns9tI7AejNbRaATEH9pGDJjsxS8gtJf5kqvBzpFbNGIazIWe95QBnLmn_m1tKRR3OAqDmcpxPOLlT6OU0hbs15UwHNe8Es2CswB4rWXZ0J7RJ4PTeQIFJrOppF1liwNagEQmlCSdYEH5l_iibhUQnthSrGSmurutebkqmu_gghOiQnxcITH8F_SULerYzqZiaCZVVlma1USfdFJW8dcsNlVSaTv7iIjuVhF2DWsYvkHHqMXjcQzk-9D9GxugrCMvmloC0Z9lKKEP-s_IDQ-B99SQ8tYIRzTadFlF1JR2AGldepgNeBK6QGuFsYjyXu7_1o4Dc4NObx0JjHBct6j0lbDB_Wk7fOZD4md2zmY2MmAi9b2IpoqFjcdUatEhqupCncx-PPEvSyZx64i_s9nfLgwd8rLr9z5UG6h-53CjvSvXR6IB0rCDFkYYUkFAi7rNF0HziuNFq3w2zJM5YP9e-NXcRJ1Ez8sFXvJZi2_of9_OOyCMzp5yPmnfJUTNPr067MT_eZsVDBGU8j3jbCt3qhLDTfAn1ByyDCC2kSp1wEMh3w5RELhhJtA8LgATc2YxR4bb0zb8-O1Zbo_cmpdqbLMmyaNnVJIHsLaAKPgcYJWOO1BvHAt_POHjEY5nMTQmBMUiYWXA0BJ1R0ZWMTErHNYT4OMvN865TStP2vUu6IF6sUVKVer4nHc68ufun0w9pyuX-JkCd8jjrWt-Gu1c9UGdf26jyVZz9GdUPfixwtVLCJQdN79watawwlQ7PaU3u41vNe-X7L_XIhnlz_gsmRZnxxBGJ6BVKWpzKnb1AC0Gs5X6SX6-gsEWJVdLD0jTdq3qtff55bfmqf_xPltXYH9K1DA-3JBUGy4t3sEaNq_IG1Nha_RRRnl55Wz8DgKjlJ71sYrVVfQzGu5ervFcYqVZJJuIPqarPviJqWPg8lmUc4YypOsXkP9tcbDq5nAm6svvib-PW0C8JBgRs_UCc8eu6Yk2OMpJ_6q8so7ygmWubsQVNi2QGDU1bqIFvq7EUaRoP_6E6yKkGpdHs17cWzVJ3koN6QGPAPppNjrsQx05rEkqiXri9OdZJPzlgrN4vjd1z5v7U-v0VNt-xjVfWzOyo6ZnaLlJya8Urn9UFpBHoUG7N1oGde7FhphdTVsR5U50a44C8mOOrhp0WMXpOHeK6v5jlYrKOFatHOC95Bv0bDrvP_AhwCK3GByn6wOFWKQd7CUc-UR_AFxft5N2SrKnZ5AOk1uLNSi5ApUKVqCY-605pibjuhfDfoy5q1qFGM0guRpXRN9t5oFt4syn63xvzKJqvN5GjlwqggWNwm3MxWD_gEqXIiN50GZRdtsD6ooovZ_nxqDDxqKCQbIAJAt7gUt-J155SetE5uJT7iURYPnLq4zbS3K8aR2PvOaL2Qg0UoSeUy6_zt38gw54x_rAI0-qIZqMqEdQ8h4_KKBxcWQ9yJBS3gXp5oUQSy_OsdeW1rhJPMn_mjoioL289KXeO3uAQePURkuJJJM1pKs3q4q8K36QcMo6rK-GSzyiuu62hEn8FgOcVvmOk7bWUMgySOTRsbPKwogzOmKO3VCWhSVRmALAvdz2tFG7PQ0SMg2YYRBfFKoHbygPczDK74JAiRM73S0boS7RwG9AUYCWdVnsOqZ7p4JJiUO4Ww5RErVtR-zp5LAEW_rceDwQimtnCL6KDRgN6c1qCfJP8ZUByH0VpK1AwEaoGsk8-PQr9DIso2B4GkvhicmXxDBg6D-1GPhOgrBqd8MoGmosQaK4yySbgpoQwXOk0DBdhMpUJErT-_wtMHxsa0d6JaaMZ1eebpx2Fk_O5FcoIH8vqsgBLD6za5dfZFoAMcR1KhpRAF593-NQ8jiTQcu9x2Gk8Nph3SNgOzTuISrD4bReVLoYvxBhuKnvp6_yFSZCyXW-ffRz5jYFOmQTKMuzIwmjRN5INnh40IdUYRvB0I7KRDhUpIFpFcQ0i-2Q-kSPbS1Oa4tfDgV7cCD3C0Zpm1uytaPmgS3byT4fcDQ6wl6mo3W63qjXT8gxz_lwwxtfR3iHfc0GHVETmPuInLKCD7pahhK0bTPdLxtPOvEQZmaJLO6c99HwAcKsm7ssMsE4R8AN0Ym0YBxqq8xZPAfVuf--xDjwwu-pQMtVxhWTHtEXy7TbTuHrRIZOuaBqCNnWUB9FBEtiYUcKU4wW3kJunvhp_9LBFzBiwmYa3gXGr6oGoAGlLhmIW0nxftiKC0C7S769Lw1iVMPZEVvg6cazole9i-zVP6fiLyRm_XdEFcLe8mqwr0GYMIxzdx69Wt2Usilo7gSVTORbo3vGLyHHt4Z00X8v1RAjrkEDi6pFzxdE68O2SZWZsX-JOJ8sOmVjluc1d36k7O9qaSo_Kt2GqKO5v2C1b3THTyHfBJXJEqde_mB8u38Uu-5MSStv45giDcEsW2buMyZ_pr799-Vr76uihzdttXbr6YBobtbAcrWNQvoENW2I_kuNq4zvyeZFpQb0uPYjVFT_QoGPwRLADKVQQ_XMhyojYZ6qc3DME4gjk4ku2xMDWmMYpavvOK8KxFxbbdgEZ-YC4SdsC03Hyw3i5mLyJ3qSme4QzcxSfj8vUNoKlggvSPzL2AvF_o69T9aX1hCh30pIm1f6Sj16Obzcq5NbELwErYgR1QbDy9VqIyFwGBwJpDH6PaS1qnqgfDS5AzfpWo8XPBPBwI0p21axAuj4SBERDqsR6FE4V4_dmXkYY-jmDZT7M9OxsrpZC5OYZNebqimwSRP6-Sx_2IoOB9-muuNdxzZ5DDMWI1_KSV3qeTczXpIScSGpcvyWnTefqm9ZS_8s-VIao4pwr1-J8l_1pVvxKsDVZ7Gy_eVOOJiMp3UqU2J8Nf1Ig6z8YJ23O5rLcLIfGD5oDtGSuG5Crqru7BSaqUWCvZ4sP1C916wyCuo9S__GV2z67tvKyTNeucE2vgNxUY80MCjDVOsOFh2vkTr3FDZHeKpyfud221Ehwd7nM9wVwdc16zBoYlwmZbXT1OXPRot8bzq2RKn0-xqVwsKGUgoVu_WuvPjO02s2kjS1c6pgzop6DXvcBSfa-jbl4RnIZPzs-5_i8-QiirYG0w4hY08a2sstO2cvqjbYwHWaklwA_7HNiTdkSKbz8vHj8y_IjBBU4cRVgQK-FcK4FFaJIHli8RrqnHtnCJIfl_znZ1OVxcatTVso8phSAKSJOH2QKUJCDN9OC5xD3KdBeL2RQxRX8zVGpn8gvlhhm-kCsBTTyvwyO9LtrQHTXysidlbijZvGk0B351WP_vOcGvSJdxSPstBzUImxlY6IgnCEi9HZtL5rx5jS38klkndD6DVYr9nuwky3LdJNieRubBojg2vwQbMh-FdkuvI3l3EAxC_cGzUwmKIqCwxRsMZvO0HPCFk2hrMp7FW4UBrPf60QqyHiFSn2kxrZvOo7obk7vedVxBuQ6WE3DQH2sADJyP99bqorv_yOiq12ckNk5hQ7wOgwYropA974yhzoc6TznxXATZR3m60xDm8h7dINR3-pJvmTXMjjUihMWHnrnymSvcJlcV34SWKOcRj7YbSPsVrhrxAHSf5WHY_zij4eOszf-QENpmmCUWJUOAg6hiaL5EfHbPQiyzZpqGN74xIr6GpDkiGvIxfmt-jwefkooSIalokRXSFHrVPkbGhqXrWd6knzN5mu0XheOrpklhdBwF_5SmsoyAkUXuztkXzW4Bx7nsI5f4uwp21w1ibcKH8k9QGTXyLqoDJk2u5etoHF-fdxvrJWq13IS0S05C75H0BrFEE7WHOaWu58H7IBt8GA2o3U8NC1OpuvIVZs8k-E8VJaA3C6XQAi4eSSbqWnuwBDHrBgS5FuUyu6cogEXkrgW3Jk-pFS88N8iMo0gpqjLNOeKQLJylElh_A1S4jXK7c74RM_24-BeoKdpJACwnUJUPVIY-E6IXrCgDa8uwJ7xkVWq2_fYnl1A6eylHvHpMMZm9W9nBQBDBDeO3U0_CG-xR7RtRZWv6ZEA7k1ueuVHLEaUEjeixB1onfYvIIoCG4MUOVEPT2mR_ubZEYjpKHb6-qZODyiJ8gUDOp6F5LBwdX4jptpjLcdZ3j2m_Z_br95RARkxzOIooKeHw8R8lNdAioBs8DH8tXXekNFuMzFSYUQKhMYWTz7oOOTyhvfANyuEOQbtqmoldTosyGo5FPSVxIfW8xhJZTaEwHtX0VxR2y1f5i6JrZTjUdVO5p6bky7J2_wqX8E0xXWyroqOIvz6XQyNv42k5pCvNkq8Y0hfTFH3FR_xECoA4l13zg7ldNntcQep03xmvNZrpiafJGguOcX-ZZ7K5UTMk0emPOmro-dIqnI2ZmryBSJ73eDUxHzTQnU9Q_VeQBweSC8X8veKfIRF5qQ4J7q6aXlAaWDERx6wNmcO9y34Jja5zNkTGMT14uFZuFZUQ5CrCK1mCnKe0mmlElnf27xnldvK3ChSp_1_23vEYtzuY49f-YedaDzYP2g64uqEQazmK8feRGkHdUZu1um4qcZTMbBKzDclIjKMsR_qVfO1rSgzsapHFO6J0LGy0IqthuVoQXyKLPaTHzfBs2iNzzt1kKJ4GPikU9Sy9ZT01O2mKtP6mUbpcUEQHM2vXaDn_0fb8ZpzpQa7At5sjzu7rnnk_34Lw1J5xvbJdgWfS6KfCznjmg6u9taK5xPorXhUKZZoepg3fgLbGtX1vmH-15BCljwWu5Po4Ewj8Az77s250NzkMrGiIfvvhx0HEJ330ZOoZfFuumPPD9ItvoyNZ7pkRuMHB82_JFg894A92O6GGLOlvlrAd6vCWSZIoSuedySJNjkUmYoLPke-x-Ynov9KeZTTkOOd557TcErtEaXtsY_F74zFzY2dMMMdV3GORdXwx1s52UvYGCnTf2Vtuk61rTCi-dQ8LSDqQTSvcPSb_yy6UqWqCIfiZq9IjoB8-H2EzthxWgSGm4WAEIcCiWDJ9jhBqNbOt9lG3FBIN54xiZIwCO8DrdDvuRczd4A1CSrQ6_Nu6s220kyWGRKB7ZLhKnX_6kW2ZA_-7XqlSJWSnG-eluEpajFxyywU9MgJt_E4Nusb7in4FfMWaM-npmksI1aYjawL-Nrv7ElNf36PIFysZN5yzkdRzkf9mZqFIazoRCY4KtWKKCyjsVwUgsTDxp2fozRaqW0N4yAQfeR8Nh0QLpVBDtU6czd-vxlnUnCmTlyGbN7U10bpihbaTe_HCihHaqJFaIS6IQPCdzpZuEgTOlPQKXTMdMt2FmdpJFTjCj9pDkBnunvrdphZ_DZJtHYBY0EASi2xpenLl0uSdQtbOIQ3iThlUEQOfYMGvxKA3IwLKihd_S30qS55uCuSPoL1wc6EGLcoxHMg6K0M97nYG4Rup30BvqaIlkKH70AuxQNkwh9KbN2MeZA-gEUubi3Xv8KA4Sg3CGlLdj0WSEfZKrDdFEMd0IQSp-pkuy51d2a_bUlGqeiFnqbTcHoOD4A77ivpMS_mZdWu3kx3CLWJJEN4BZrSfhwpXFw8JA7mqZuvU33-sedfLXwMVeLxrbN33SAK0oMbiKAuHShzU3dssSzsBb39TA5VYblaHEX0-8ey3zKBz_hLDR79JbvPy0ie-gF0V4uGtpwD8Ns1HOEUICOCD4vOuCApRO_p7GOCEscPSmJT2DLeUpHSB7LioyAQZdDHtiE41d5e77sGgKH0caBErWlAml11g4fmfv7Rq4YobYHJ0xXXPn6mIKT5aWFODfWFt9ueO10ZXmnHC15CU9LzVh4DKS-sYHFj85Dyzwf4vA7Hv6DiB6t7m4G3ZcNLxnfbNcG8yeEILpY4blQ76JtsvKCNPuRWhxdFrdAGS-VDkCUE24-4Pj8BrPCMyWmt9GPxHC5dIgs5Ne9zS-l0ntFIQ_zqI6yFkdwpvwx5oExvUSv06Aup60JAkVCi0qB697opDf4lCNwNaBrPkHp6n_Iu3MOeedzsAAfyhyS2gLDdcBVYKPd0a0WmJZVA7X0T--mG5Uv90S1YGEpMCqfidMnoA_p9F4FD--f0LNXCQ-uWyLBYPV9TBEwgYgoKMpWh4rGJDz3r08VuWsJEuUqpObJSvtIn3AydXnaY4ZS3GIt8A_FW_PQuP35iCzI9-rE1v1h3GItAKebe9WdwRln7t-I1Z5ECRk7nkIH3fCmirgx6na0v_LJNCKhTPWhs1Zs0Jah-0tctBEslVpJVed7ibiDUNfVCX64-X7q2WFqX6xF6s2qZG9fug5AnmzjZxxdy_MuCF214cckVVk_i-LyoL64VQowa1OqNMzwzaumzkw9FQ12MssrxHXD82I5UkdvcFTx8Jm6Qv2_raV7qo7iyRn57766M_NcAcoovu62jE3UOIc8BQR1c0cn4lUOIEmAIUvmEWq-ia43IkGGLL2RvWIOK71Tjdkmzldb63qS7Q34d7Dnr9izomosGrESs2DOrlqetlOgsTh1M04xANvh4Z9XHstAsDrvM9ODzQPDG76WlmLG1Fvq4l1FGpcYD5WkQtRptFgz9AOTGM7hQI5C9DIOJb0Qbh88WWYYn3oPO6OYWlom3oAObFzwkhvxyiREeNk9iaGecsbIa_MfbhDIQoW8nAdyyh1oKi9vitD9yFlUXZ5875E_DAjDBf4CsdJ9rfmKd7Dr34p480QMRflGevdHvSJe-fvww7enZ3ghmj8-A2LXCIJUNwEhItdsrGVYrIE1EC52S7hFkFckzVmrf5_s7RZYm26MVwwDS9lid3JrV7Us81W1JNAt_d71FoivPsrgz6cmyOhvu4iGbB7jP7Q1qCad5_A3X_dkZs6aA09EaLjixNlaKuZVtm9QHhIwqDrYhWpVFB7EdzI6yorppdvY9d972AAucy2_TB7Blv0DlG4_hHcyCid3LtNopLitFFPyqgHJn4WyvMzj9tMZwM2guNV07QMmb7pzmbN5K2e4QRYLFw2-d8vSTUr6-AyGl6gF6ejyWONTDNNiwYEaON7OVom7t8UUY-7aOV514sDMkcIcBQNndSokr4qm6J9QXMwnRoDzLNEnrUIwlmBdJYx5Glf7it9KVRvR2qVj5UMplX9zjMCf-xmKdlutO8zRyYVdSAEQNQHEHyIPHhB4BCcrr5InlxHLVdRqH12gf1oPAbB_8teXC4AxmHJv_tLD7YrWhfgqbmMJob1lxjYeGXk8kF0Szep_4pOWI7biuDxmoBTSmeBuBATYHtWXENEeEeOpTYf8ENcDx5RjxvP2-LyziPIuTSTAMMlkNyAlVNqrQqLxXM3wwhUaJLfYOwc7hNyr9ESgd0sLIZvjGymdlNodlLxoBrBcrkaQ3tX7ZuPixE64zqt1TlCIusEkDGwb43JVma4HQ1CpYjFr_i52qeA5KixDkpYS0qmtnVAhFcs7lk_pl5Cz2N0Tus5IqxdRGUQoxGfELgxRqU9aG3niToaRVnAk36EmMrSgvZjsoc4_QOE_DJAny6IT9-2pXJ92uK8sVmuTQlp9-orZZ5vTVYpRP6e_6lvEXPUisEmeus_jnjxkh_t9SwEwnLZbtaB_Hj2iAeGz9KuvdH0vHNz5ODzkB1udbcz5G9TJ0QFiqzsNOgOtcFrQ1vxbe00cvJaIRqMjyWkvqv3dFeoKLXye341A4RP1hwWTtBidEoZWx6w0LAQW7HV66S9E4oJDzGP4KtnasclbSLVT9zlu8OT73uG-jAbl7wPFfdW8WrL75pSwUyKk15j6e4-bYg-R0Zikld29Vzgqejl5RE6IiFV-EJnU_0ZHm0sFiz_iPIDCjoRbOkqIHajLfT2beAEAp3QwRpZQlWJsaTEKKFWL2deya9D7sJ93YPrVEx7rn-PSv55sr_Yd8JMsIyiYoMLwWO870M_G32YJdOvRuwLRgo3rvJsEvOVGwe0e1kAtxnqWh9VIriK5c1R6J7p8WTreXSbLlt9lOQswsi2l-k194P355H41OLgjmcBig9eBNk1-Cxd5Y6nxrL9MC0XwbkjntyVp7DCxsZsk9x-iE2fGSCbXmDsbH6i-Rpgzvd075bSMjNpNm4oVMrqOPJj6ASKyDtoVCl7Xnpp9-0ty3kVjYXEcktz-uPluFXlj93kjo9BHIZpn-aq_rrDqhHB6JbCpFhGVHx702vgwORitPK4FQfElZiVwxmY99uyIVZgY8jo_6qgatYeX5xd_T2ywsKUrdcQdboYQabygyWd_Gsf0RC46--8ZzXN34BwH4_WfhSoatw-2El1m8uqogeulnMYPmwGN1Fx2HVpHgqutJrrgc7oDW6iCyfVK9KVtetmVMTv66GDT1gEZs_FN5UDXjfQsc59vDyV0ELsJ9HTzTqfLhJoieUzdzAqoc6Z1QbnS5ubSV7DhME0dmGX2giaoFnXrs-RzofpU_VlYenbXxfpkHKGfm-EmtF_HgNSfg1z94ZcxQ_Yo4OPz7Ct9YdLibdGUeODXxv_odx9Q2d91u7VS3uJk66Tj6IwszINA5cCjRVzQkknC4Gqs2fU-heAljY8ezdn1qJEM8Qvw1UGhAcQEbPr3dMusSdJhDNdS2dwTFKgnkB-jYB0xqbMhd7hsQwY6WDivP_luoyxerCwL0TzSafEDXETMSaOqj06ZCkPbIEDQppfeJ4XCZGyr-5h94e2K64qAoHHbUH03ae3stVDkUP14RkcmYArIZuxByszpjeafFEycJZidod099SHvbFaVzPm6dRlfCCL5wrgJMF3lbaJjmdQeMIMZ0jAg9bjrOaZeiCQZQpJJiVfCDkQZKnU0RIwejQZPykrhFv6k9F3MyzEckrWKaahlCgsN6j0OCN5fg5A4owdjTmUVP6X_sK4lD3bXivSvJwTbWEi6-CyTBVr2AHL5kHRMV5aLHPyiZ7zLDga9zSJo7zxfy05l9rBDpFEZbTczkunNz6wHlHAXq5HT1aG3bT6Hq9eC7lj8mUIaWaynYlF5CKffttFTyQGY9EN9CTfZ7d0HfBIfiApqkQ0Ylo0roO10lJddsH9nTq5gPkPKOxCnhkCvHc8_HHMT-4p8uYVT-hqSPKUfU9WWN51MQNauRmf1hDwH2xweuVqgA8yupVz3m5RRgvsHw0enlnSF6N-ffYWHXpFONDuyBnuq4YXKuZcF6x8bmRJ75QGrTR2kcX5S4eeAO8VgeDE2BD1ffMyjcjyLFyJ8LG6MiZNhfp0wEPJT_XhU-gbuSKb948IV8cmSVsdr7dTqZ7CiJBJUEo-5P1yTyop8mmUcbqi6PHNYbep1dFW7oGBJRtnoUNg_jGsYN-oMjHxVjsYrcNrwrJLDYgavtEx7aWo1Czlhj-Sx0XpKWwVHr69kWQDFBzBpaniifa6Qy2sjLPk2kEalI7Z9xKn_BEjwkQt3n4hFWKjM61JDdyszlbKBD0o772S8MJSJLAs-1p8THB-SPGD2cQuwn1BsY1W8__AbUMRNUSWWJtP7VWomPPfIZK8kOlEFgGGef-vDjycLkjn6HaUO_mRDak-qPu_94i5qFIRIJDUAamzZoP8FJVz9e1jfmhBv3VnK5GNYsaPyAAAlQ4Hx2MmwLVbg-b-UahNvZE3nZsAEnnduwE6drikeYfJEe-80enZLMPgEaxDsisftblrGBLSpewQuHwHkOoJRJj36GAEsS5EU_Vls5YP5KOWfuO_PdlWuTk_VdKl1oh8QwzClVDqPUGF8f7xBsrRCM1Lk3_-l8vfojA3UZl5IiBZJbqx1H_SLl5mTuztEjnZZ4LSDs6Ayv7qye9JVkQU6guWhOulGdNiwLbvd8XlY35ZlwbJIk0Foui4PbB7sylhhSEqMTXFPl-L_w82wqyf867uGxU1AD4EKTO2lNKznA5Acjmefl36yfn1R8goDUMK0M2nSZpSJARWN4IgYcEEDrwH8WbH6k1r-fMrjTJs5CZU8fvwxMEdl0XgkpIaPr75Y3ajjEMPgj9epsXGpXhSJx9lS4HFJfFUim1r9qFEYyCX7sWjyQSN371kRuW9MlBwPT95lUVtZApgBMODKXy-r3mGjTvagaqGuBDd1YjLhy-bm90Ahi0Ui7imcHWjw3VWka6G_RTilEp87ZDN1g2DbGKUN07ICi9ICeN7NElfu4J8wLNvGs4fFFNMo5Ehtt4uCxVs3FeWmLGU8gV_Hg6I70dSnjUJQP1HPLWsdrHvOq5kDcT3SEaEW03Nj8-qrmu2xmFD3aUXUC1Sd7HjLy7u6Bfm97R2Sk8sctV8fuYBzhU33dCFwlQDy0MiH4kysm3Hbk-2R6TuiKyAatsneqee5t-wOWXCOdxnqsjt3qSlOcKndW7FicIacQy7enp06ZTw30M4y4EkFoC18NagJ7JIR8iTvHhIATi4wrmgpFMWPxB2ESSCv18Pw3sJl_D0i3qbLTh5u5UmYsL8Wh76NqUt_EssqagGNcX3Sp30QnoThYjZQDECKO7SJQZYAwdf7mOm39sV5-uT1HGrPnA85Sdjih8_OOO3CM8YPdzylXHQFRsQgXXfkq4M9256R1b2hyNnM7eLb9RrjdsfdPdFFxrrA3D2OsWqqYNZWQQsbm_n2ZS7YhHwMjphd1PBTFmTY3xVjCfvhkmSTQExjJa9vhm-Uo_OVkHsZ3G6RbWo_r9uYxwv0N9HNvuGxmDTe9giNqwoKV28L58b6-gBDRBTBFTP4w7pCqOmX2VoxrjZuBHX7Y_PyT6RRFoCu2-GWkPxWl_J709qfbfGz-N6TOk6UBAKAonFpOfWTOyFHRFRIDRVQ45PyVlneJK4yjUETxwq-r1j9wbk4KIk_rHyg2vOh8QJaDTF6PnqkvfYPoXAqNoInpL9DM_qjRi3sFmSs1jyAQ8YTm4jSLOCtifSep8vr5w311Bhp2mrRoOD7mSwRiYWSETphInQ1vpPyoiNetTBKcEP676aYqUESHtUuc4NvCccMr6PMf7yud0kN_c18jyzxJ8xZgwqecgybOJmqm_NuTnsKXxfMT_uZR-WUF6xzjyI0SJtDysTFBX50wUVJNGUbR_Mv_Wu5atH0aWgIWFGAm8ZRk48fkwVrWGU4PJgp7YOnvuo7oAVru-c8dn0KsxCRPoNYPF6t_QFKrTPOfPOrGNTyUZ_1D4PYQM34BTb-JaHsBZxzliB_WFYZene44czJi0q5khZfgp3n-vYVfa6osEYWOU4WHfYmyTDWZeJYY1HASZZZcjcy8vgV8baUHYhg8CRWKd9dqSWOUzkSl00MHoZEUkb2UIAOlyzEyax0DZOB142yM2zM7dRbGiakxG7HWSCKdliJsgkIrWbrpi6HK0cz1TpwBjw4FJA61fMcJGU0Qt-CdPTC716mE6NDKPkEPa7nZFwTm2uBKPok2XKo8mH5qOnODvgAq5lha1S5Yl99cgsQYEoMdZJC82mrYZ8_SAjYQK99IdFwpovL2ZriWiofBjLun6ax1B_iLhKuO1hjthl8nFMY5IHt7MxNKz28woI6-AmWBbv1XkT8YHPLqeEJnpS95EJIiU5IE6VUsEp29GhpGcEiEhpOxW6wU0RjeSLW1sVtQTi_qA_AHoOCCU7RAa1Izvj7uOEnOj0mdmTfwn5nc38qw7JSfEPc0N4I2uErJDgf6Tqjh-C64JYvQ4q2dICoQ3aKo0zc_IjOOEtCo0xKuov4GZHzUJhPzW86hUNnpNZjjYvKoQZ04m4xiws2nMtiRaXeAonzKozx22imvltEv1LM-m7DOFYQMrm5FXbiWQiWjuMwNQxc5IiVRjKkvoUvdyK-VFv_hHW6Vf49nbQBxLmQYHPPJ-UhSsL6zNqkpwRCEqalTFzKbwaoCfrXSKfQhKdNpiu_HqGeYC7Bp4Gr-9uMVHQIFxEV6Sc_TN8cNTOvWo8wwwYQyr-vdgH5eVlByHJT77CB6Jl0HGvnwp8fa2mJi4xaY12hbhSPT2HeYMwHN7q62NIRmsLJjvNAVqDQ2dV35oATBNXbdPRlUWzJgwoMP8Ig13k_4kB7EoDDLmGkrKmMRch5wwjHKN9r_mF80DYCipyhnAO9eSRw1fwtx4KzhLFGRytalQNFUq6YrddjX92OtMvj0rIYUNTb1ASpGa9zyGMpuQBC2v0B_1lDnOdQwi2n_8URMUg1fY3OqxyIWeGd8WZsH_2dmWGuyc0XS-ACmnFQdp6zbFbjlf_lTxtD1f5Dmj3I_VJ--c-92HnMHQbKNceR2SS6-dsrPE9K1m5XffVXk6f4pIqTPyqRwhLFjKc7db48UoJpL8Us3rUgDOfKpYL8olDuI9f11U5lKWW_jq_nOZbD1nvDyRHe4AWiqaCFHGO48u5KxKj37LOUesG5EPWcXib7mdGtZ1vajFc6kyAodqpP0aQ74R8Cr_gDDxeuV2rJ7uOSJCQjdKE026LO4ejg8ntSw3_UsAs-C0K-4dcwpijR4VeBKUYmWGYruMl7_883cOEABROtO6eeGu6-wfY-eNYtEOTBIBCBnRiqtw8TBYq84NePaTOGLgbm_AKqsT3qwHLL050mQmdSEF0hgV-VRMuppWnQ8ZrmVOpJVdICJoM2xY4wROPw7DzMa6OqtSFi5dDlueRNhw2DeFOeYqjHV_E8QgUZprhE-ifGIUr9hiAlD5e6kfndX_pQrQUmmJFz9Ll9KzBVXlf7rnBtD9M6DQgTC-6npGpn03AnYSq5wQAnkqDJ1BuoMRIsy-H1eHz2wAf-ZqNdhfCec4J6Mb38ftEIeXyB9HueSgmocGenMW1Tjfypx0Yhjy-vsmMmoD513ouz3RgE3waw-_bYa4xvZZ2g01EGb4tBvV6DyWCVxX7M-50LbjUMKHDn1Pq07Er_zL8DUEUxzavFL7K2FqSl_6SYS_L1aY3-NotDaWoscU69cZcDlRyTcF_2iw3TZEhM6iMCg1jy-4Aa4n1hY3aFgXfPUWFUCHRCYcJvk0c7i9Rh1ylsFGKw4JG4g_dZRkc9s0NdJ3sMqZ8aMgk_fvvMu0MNSfS9PMZ1L_WEG-obDVAvOMCmFSrs0gXuS9OKzrOBNegbpSAiiaklAlSybSenfPzV74bFh6LXolTe50GLKj0Ja7EbWI1kSqlhKYweiQlFPKa94zKptB6f0u_cdOkrH4nlDXePYRwXBtrx4hc5R-T5CrJDkrlBPsoyAOkxVxmMfEg2RCTBDOfXVfMVSKFUlh-ylsNuNcG_hbEl-3saeKR9YbbQeighsgnFBRvjVVGWsS1qP0Piv039GdVxV1mp_D5y3RLNPqQl14kkjZKIeU4bMhKUnVcL8N4g8HM3X20xrxbvOC52MYaU14bOOr9DzjMx2iMAkc2e7wVZt9-4HkSybaAG83phStzYzcRrl_Dr_yyl8z3T4gYjsd3fh5XXJMoBqPWBsjxe6dZIQXbOC3d6lFwrCBABeDhfyz5WVCj48_BSPoIXT1j9IrPVlHIyzmJV3QZZT3FakHzA27zbns374D-BCQ7sXMVSAM-TH05NDPgWHpDI5Squ_YGb1S8pWwiNz69ICgs3dxIIAj-L42407HJRwyNLZQM53jtz-gx2etDT8btxgHEeJRZGpGd1V-ydZCSpxOHZwhv6IC6XJ87Lss3mxbxnETqLy8PkZ6V29uXEUxEzf9e3zL_eEaV1NRAaj3RAGWUQ9lZOVHWlRoaeoSkX-ihyuFFI4VUMxIOQXA0cb0BC-pPm_UK3NZovR7MkOhl1QzDJwKWvNwPIwMyvbBCrgUTeHuWQyE7-Y3XS0VK2SVwBllsDwoQDFLnOdtkOQZZxar-U-Hz_oowLrcPSC8odR0koSSKgB_YVb0gmTdfrft0JIFXp4m64Qv8vAD2TF2ehEFniEaRVFEEXI_L5VCi_z3FCdNvw8JCXKUMBvIs2Q4wvEjinWs6emcLnFLEcpGXoR7oObeMOCaBPnZaKFgYM-sHPJQSa3vwrxmOC4CVlqlSguPlX8zstKIf6PYlVPUxixpKW75JODuWJZgEoD4uhTGlJu5aXOgktNDGVPQ55fonpWcSAvjgetff_l74UMXZBY_WpueodpHyZ7EOi_7ydtpgmeOCTvY67p2UPjPJaovY2l1bzI6f5OV4SC93ZVh842a9jWDQC2Wb326wkoAvLs1mP9s2Q7s_3jztTFGiucxhZNos3mdB8wNz2CuPl17Y0F0KbKZLldivNculH31XyWR7NWl7dfWB7yAUzV1rsPW_qHyNaP5UUDoteX0K0RMQPdz8uDpqAXvcz7D-egr3rcADEZqsf-OojQ-QGUvQ3qOf5PR9B8mUlY2ny9Lc0001FBD693bJjQd_qptDPTrfzn3eY6SOBu_vx3iPPrAaP2FR28SRJ6TpSSTSicwoHHMuwIwDTHNyqkLMiK4xOIBaa6s4aS_UTyoulkMKhCzHh3JqAZFAmQbWp1BmNWFsAGut3O540GtmHPF2gMBexntbGJir1JqKGypjpiR7ynmof_fnexQU1i0VNB67sNYkzBc6hME3iXpBC3DgmmSNYwsdH15fvJaMhnD0Pt30Io6jkGWsRPO4VIJSVb__pk17SdMDl6FmKAZ3jzRmGwb8q85xkPcFUKEZ7KvobKFvxkObbSl27NqpqHeOGCrhifZcl8gdn9oM2adwYhhqv-Wd8UDFlM5RxVy5C9sgA-ZGFNZFGIa6tyYRCaGfX1Otwnb1TiPrWKpW1pd6jxMuyKTj0AhLv19W9QZXd8a9cjpsF1zo6_BsQ_oVfC40mFNJUg7UOz5hmX9EEC0muP_YcFApkF_HdooZX3S_xeyK3dQ3_OrVKOG5VxWkMhzdKxx7NR8jv51l3cJ5eYl4-xrh1SCytr6lf0hLHttvLfmH55jsOOKLjMgQsuM1uUXG3RdzmGtbqQVIqPD9h6D6MFGRfFBaRHamYa1XpOpjiOUOmj370flHN6lSnIonuX7uTPkvH-cHNCFf1PhS4dX9WQdAUqzpjcxebCqbifJDkqAgld9pggYen_rgf_-Q_F_SmRmnQtvFa65hG-zfSBWxH8H3sexDAZyQxb37fB2UiB0qIn8R30SfLQRRn7l0fSi_hBwQLOTfCr-9MSkYSZGPfxTouc_GLVrvGGGzm__PtBUZQRKJhZcsWhO32iAyCOGZqDwtNE--_IGzmN6Ag6YwIG5kVTPfo-hnLptbtZKwHkOYzy7MMKVlSMr8VkIvnV5K-eadq6gpSqeBTdPYXjyDzheoRXVmaWxNDtu9PqzWzlDlILMTFcugg18SVK5Bi6jU7RtQVSoevwo6YUw8vfZCJ2m6QJAC1HWXiCQsnUTvgIhKM2A109qOB0NGrSu9PenGaJMM1gwqogwEOY0SLyvDC_FONzHwiRMEoN5XRLgVfpYEeCfGYl8rIJpZwkr7t76AKWWAKqafy0QUQdFNjS2CVJrFY6uHPIJKsFvouYXXe8ATDtpQ7o0doGsMix6I9Ro_YrU7b8-h1MXqaRwZONYPbebGh6MXH9C6FlvK_4VLTJUwmM8EMyx4ysFH_MTEYMZYSawpxwEYPWryLOGM537cq9NA0pFOh5srmty9jHZHxt5zPXzxax-Iynmp9uubu7jL6Wcl80JrndB4Qj8NVh_GPf7tpf28E-34h9xXDpYqT9-GDDYr_hDehDpmQKh1TvCQwLIUFnUGPL2NUo80Gh6sxvPT0JJEYYD14TC0qncFhq_izV-PlLQLow2YWOCCdowx7f91lg_ORpadouGQKca3butCbQg1WLPKetyfqh0eFDXVGRIVjLzDvRBgOqLkLFd282B8Weq-oNyfdFtBCXGdkYb_2zQ3Eql7S98H_C9RYL4TLIeHyxHizNeNGfRor_i22_CgvBWCPuIJIAGsYkopRVK4zN02CpUWqbmng3WFRf-JbgWbp_xgsyVfoN4_01kjlwitHf6BlfI-pj_rmBB4XOVilvRP4JKAxJ4UtdomuUhd3CrWhw7SNu-HLR2QEnxk1WyYa7sUvolyAgEW0L4y3IBu7kdYHVnyYWZuQgd2gQk3YictqyYyv56KNBjs4EGaXvXuJmaT7iY1FWuGbHyOw5ad0E2U12rY-st2EB7hZniAK9SaPL_X63O1tN05WURm-00-ZdWwJjZptj7CE19ITVYTPm214vhmcDLqc3GgBnOy5VZooMTJAFP61KxBARW6fexfKMFCJIaS9YB3lchW-bme1MXam2fgWV_zkzvv_D35k_LNso48tRwDsWRzdR_XRzxQyha-ZSGkIRSVm0EY5r5CzEtnvlvPinpzGO9q_pocbfyBXhr77STLTErSBFdo7lf_aYBiOoEQmRM0-AlbLz-gtN1vZjJeKwQ65yalUxYkiI_tlNcnA5tbH-JGthgLHH9MBCq9M_RWD94hcx7yVNWOsl4LvM8FznqIsWclBFkFELVBV6FI1Wd-_nIo2nNA9NfpMXuOsZ_As_jfX1ZacuauowPqnNZp8wo5bmU7UmMc-_UvRJWThc7hRpgJKa1PwzSF-JmTspC7aZQtsTnz8pTcWXZMfE9FuLwMHfCG5TUuhu5lqEzExbUXo_ODJR_MksOohTwDWZxAe1xFx5rtKFeY146qdWAmxBJpzP1qW4yRXoJsj4cPWdtwtmomTguDcgzrozMlYmRaYWegTuBLITlKBf94zjNRmvUz3Hhf1UrlmhCn8cTMXfMCUUIK-rSAfcwNtY2iCKC3GDGUME2eC0G-UiJFzvEInpZML3ulMcWFLM0kWskV-TBjdvqy7OaUl5VmCnxE23yTAzOgewyIYkeVyRclD2MDdumthBH_yGl01EXXuV2JcPT7xoFL5gLS7CjIdw7wu8aFdTEt576ZXwB5QPjl-nOk-KegxvJJ5Dtvzyt_9SRTLrZEyEHVWhloJgLvlZfP0UTM4HtIxUh5CAze0VfqtHgby1ZAlZxV0DtB4dSP8V-zAJ3t1rq0AtDcamC15zhGkai9aU8ISX7ODToNJy-xjzpC1YmkvTHhyNFuBn0h7iHbAFqbbfFSOygWjpyGveQ2or8CFRGbVRrcRU-yZUPIFbCEz7LtzPCIzsmi6Kjm2B4qYIwrdQrXG2dp1vTiSmZPPMKQeswCQ5zlDncHdAELgDTtchtUWVE_0R3033ZrAt6vddckwH0iuBAsM6-hesfJLWxrLOU7sIY7jnPcg5MZ8_P4rcYUktKW3r543C1CkJOM5Xwm0VYZoMt9fm1Yi2IRnw92sSrYUMoLy_htnNMrdzqxuuCpthpvtsPLlkCxGq_SRYrxtllxRISLXjwCWumrG7khOW0IlKhqgEZJxVQ0NZVk2d-R2ykIqLWMaGOAkRcPj_H1ZKNVeT0URWPb5ipR-1QFDHsC0N24bmEKOYzfEMkhmjDge764IBltcAbN32-JgtzCqYbfddzP4tezEqr15FVYRcQW2ghLYCl_TgBhbvy57S__G5XB2XmhTsWL_h2NEfE0ApJkuqYrnXlHLZHZpKAxHWowTTo0oFiDesvIM_zHZr5EtJvLjn4F3wGqL1zFlEI5rCwoZed5NFPveBdOYOfuTIxmqm__YUL6pnI24lkVMx138EJC6f33jpa4e3G5xFF1NP6V4JvV24fK_zPRqG5-2fNAVQTkehfUYRvNIjjweYulVbfmDSkPZH8kGRyjaqB5t2jxtnU7FuMl8glvCHsZu19LSuHcET_oYGe19W0p3EGsu50vLwYSfwbjqG61h3HHlwvT7KWOgtn56kkgksg87ztnokBI6ZOR-WAZsna0DM6CefvYTArpyk7FTNf4HZe7dUgpu8wetv2NEr8zaN4Tixm9whI6xQbfWfmT_rqwjKZHkNE5xnoQzZ4foJX1uZglXNgdL2aAnjEPLxIt0IZ-5dI7YcImwW-V97feNnbOnKEM_6RqejS1ltEXz9WUJPUP3liPyVWf1FlTOuv811iO9RcQmggRmsp7zlYMYx8P3E70KWQ8J__JWbQcFVXI1blH1dtuAq1ouJAmldBJBHABnwayYvqzZnkwT1U1iq3bXSwnt6JrSTATQiZoRW--6LJQgzw0EaWGGRhpukQmeILVboLiMcaVf_2fGYTQkFZCK1-9ajF7W3REZEyjV_R9d-ZApLnTny6GY4UHNPnk5y9hwa3kSSVaT-cD86Jf-E18F90x1Axo0BmenVSeKWVkVNtQk467JCLHLgaPDHsD7V-C3p4AFEWZrfZYvfdJjmTxaEM93V_adLbGC4RZzK87bU5r5Y0xTWTLZgnSdXID348OPIxGhEG3gUgkUmpjHTDl7GOupBdgVsJ9dxFc4ZgoIcBcRopnwQ8PB0uuxCwi8Iq3Arrkh4CdwvWCAZcFeGzXGil9SowzrF8e9vpa82Vpv70TJD376r6nN4C_PqCE0xFZFBSL5KFUHfpD-svMcUQFCq1eY6ie7vJYOgk5CLdsbQiwoYiXA82QQhF5cVna5OXUq4Pgsei9cH6pC7hNgYS2_ay-twCG1YZUsURQNRjhPjJzsHcah3iQCuRu1wFN33VjsRTVX7lnorzymKfkOx1NL0trPbySdKXtTSH2mhHx89jiZfO_bcc6NRTUYHusZt67bO3Y6ysjmXqhRSelBYPykjW9rf1hzV3Y7jutBoLGW0jRDZVqBMpvVh12hCK6xOp1IcyIighSrCFoCK3dFmIKE9ca2mvGJRQJPKpzCsWNvOQpzEhr5FedNXVtqH8IJDxQMpR0A9oAW5aIFtwb5jpToe6H8las2LclA2N2bLG4DaLLYKhSfvZ3loTqPt5wioncHw77FaFgO5MSgOI5rmetKejptwCLlvEqBxQI0I6CAmfg2No04Dbdjzl_c6lyb5KqxwoaCsbVdWPRU7QpaxJfXMRhUkHlMBbb9neun5Gvl008MoQ4E6uIl_UzeRjiJExD3y_rDQZp10aJ8KfmRMcVzHxDzyFSxJCt6AjA469OTOP4qb9qS-Xv0HkgKH9HjJrw_yYBtXNwgypB-_vS0CYCAsGQqn3IgZtRIENLx58SeloVyNgkt2c-RnzeEqZ118OjLe7C5NxbTg7gEhubotQDKyGRk3Z0LKWTCazcXfIyoAal2iGtskXvfDM27kGOKmPizLTIBmMRCBkQUzha-Nmm1ADqqo2AZOqRXC74FUwaA1fD7nazsiuWJSXusWc1o4JdRVqXDwb8zxsCUCxNgzhYWsKPXneKq6HlrVJOigJSDtpPHzxoOuybkUXVUBf4IK5aVdmZbMT6JDcLEQBeCRkOwHUMBak6-O5l0Joc_VDVmCKaIJzAVvqNZvZOKJHQMHJm3JUgDfmjcYD3Hpk9wINm2dodGgdmcB9lYCqQNccSjZiDJijgMZs5GfHtQgoF5Jd1VztEHeam2ZuXuM8Nj9v3AE5DgTMxdRHfnJ75JUrj_WmNHbEiYFgNmeEI-bUTgwWQz5oBh9hwCi2TMAx2o4euI35NCZxUN-GRftveFJuIVTFkdLjS1iTdfpMgLB6gzkku64BltH2MCJ7GtEYGHrW0oMql7pEVocMvbFvXZXJYKB8fXlQzBqvYmEorvFVEJXpTrujIwqyalV463cpB7iFTCAXNBb9h5WcV6ibQRPQU1kXutr63pnI0Q2dCKRjSbnE4Zho0u6nKMWg8bkmUO5PAeoeBF3TIzsWN3AZ1BA9Y5VxZx1RYy3sBLx8LBjGM3m3HQVvdt6XJxzc-ERLtr3NcSCxPjjyv3N54DoZN1oBoI6yfBqHAFg9SqUhbXO71pNALR69ESXglo9ji9iiQbsaIZGXUZNKGCLjLShPkWj_F0la4ksmqa06rWxyzIAafbThPQ0uQbzYzIp-HDAxMHM3qBzs7QFt7jDzo9ZasBv4rGT4_IjAFnkXhVDMMWyEr6E5bk56vM8GLpGdhaYjq9Zuo0mCenxWyAG3P0gSJqaM1SN3NU98BLaQ0xzyP1ORpd4x383gvEUrUhc85cUc9m94_7K6p7LNiOiQUBkarC4NxKc5K9zVhVKAalAfk-In_HNlVed5LDi20EsheqQk9X2lOBwGhvNFWNEu2f44HgSrFXHVypENlP7JLbom0I_EZd2lGsDSZvAkLcDC80e6auuXW18ZgtCU-O0bk3iHI6fbvZKYXqxVExOlYjew3qlLyY4px8WqkaUdyA50gUIpgCN2ahN-UvGbmCkLheG4JP2xVpJdEUUrsGCJfijV8sd9onH6ZM5i_xPb9dT55-PW7TxQFCR89R4jlkNjBttrT7RAb_v7v2cyVdad0PgT7510srlwz8GbqEvpIZHNYkMfDnbe2kvrF-5SGha4mN7OwEmcFgVKFeT_dlx0PzDxNUYjFE5R8uZlplQho1tuzYobP7Ubi_iW7sE-3tPTJNHkpQwA1nt0S5FbTDNuMawmeF5LK0PNFPt1RnApAk4O0jwXeWvKaf-Gia96sRHpJaC8V-wh2ytNd_AYwr8gMZvzeahwElWF5OIEkl61QEzNywIr1a1ITIsxRZypoaKXNUQmryRC3epDIYbMhWSQLUOXfwEfivl3-T9iUWNvYON6Tb6-rzhxmYBsY-H6nHpxw6JdgibUMpilaTW5MG1vQfnCIwTXGo_nTrsHXkhJBm_obtD83Wb9yYJTDGk-CV7KUtShs2pL9_-0FXshKmFsVgNZZ4D6dhCUDFnhH4iW-hZ0hkHRcAA2U8cDKT2drYI1urnxQLoRPFZD0WA5whp0ryc7QsyCMck4OjcPecE9yp1yRpv_qAeUp82_1ceczquLDA2vogd9XPdpxqMaNo7lKZ_apiecfFPmxMp59JvuRvLU8_KYBrQL1dAjetae7xuJ9aOZSR5SxMcSlBo88TGv2tiPZGT1UoCQOP0A-ZP9I1BAXs0PZ9MvKu5MYWliWfHEbkjrJOS7eu2GFCyv0ICPJN3M40EZVEId3JF9f2nP2hk33Td2bHET3l_bpxkBPM7Lvh4h8JjsIbznBUz6SjDHLLdvqa5EDtvVQ8tJzDp6YwqO-AHYqCl91pFu1cm4FPerM9rJgemFpPYr5ZZJKYsil8ts3edDlgx1eWnjeGuloZfxKKnDw3mvgE2lvKI6xWwEoUJ6WEC11DdZxGv5IncbFGSmW6GezswCGA0bmMVP-Dy8XGwkYcBuzcgl53lx7527m9uW9RKnnG1-Cl72ZWhhjKNmb8KR7FxXYB4H4IcQ5phsi_-h2Myf8v7BRwNpCn7GDySxj-id50kZvc3ll1-_XdAXX8HyuJ_DWGd49WMsAio_k1i_dnlIKlZw3MOd8XmAML6mQ5a9NHnbOpwAvM5jGtC5KsAKUjB5rPrwgVTkQUtwvM3pGkRVfrhE_30_w1Lgho3Y4g6wrC2e0Xq78lGbhdI4xdgvBk4HiZTxyER9zSn1VxoQxlozCqqvmUE7b_h-_pJpsB0ELFnLCWd5BGevRi5aeo6tjB4Ib_tQWx5fb5dWL7c-FzA9WmFOh2mCJSAyV9Z1aDmTkq1TJXVO6Xvg3pECaYoJTvpPx2HXA68ebh5YqEMD90CyNUYDllWJX7_kbQOoEcQe9px9018zQ5YFcWdUGGHtsAKhzs2D-NFkgTlPTI34ZvOF-B_LRbngM7CGM4V22a0pGDUr09oqWLtczJnKgazg-lDSD6HyS2n8JB543S20oaR63S6vubJ5Y5LqUHBxv29VX5wcXfpBwzx3nqFtA5Pn2M5cMfLy3gI9jTfdw4c3IzJyY361J9f7YKCKEopV2NELNRhLX5iilMrUStok82Ie0FGWUGGuQ1dzBZ5JA2WQUvk4DXU_Pf0X2qHKEW1HYDwU7uJnYfGN1vkG9UQj_kltn6rao2eC3_2T0RweUR99Y44sFFt6wHcbbAzn0A7yzeda3L-O-KQxuHJeAN11uHGNn5-1HR0Kb-CHanYiZC1cdhnT64-I7uk_ql61lB7tJP7ZQgTAGxamWhHCKLy0EGPzRVkCnCpTayijOXIBNNO4_262knc-NH8sjQrwHCJdqtqEpRuztKnFXwXducGeqHCaiptNxmZymK6LgVkBBS19JH02M8_DuP3XydtS-JN4Ah-gUUekY-LKkairABfW5OTDMjBeMM7wCod1UbcEPRSijj1j0W1jlsQk5rcujTZUBvM6_c3rCy7DUVdsADCtstsxJw19vmQN7dM0eik6MPVvVP1Ckkp_gCR5Vai6BG3AUuGVn8xg6lY_9MBU8HAa7kqoRx4Le0F6iDCTJxPclBtYhDBiRLncUFbrUmqV6-aROEsM6GguRztUgxcWt-caZMxv4bJ1n-Y_bQOfrMiNRqnwruLQl9ywGr1EBzgjFtxaoK5-KHxzUcf_sHJKosqG9Wf7yXGcyIqZtEhm0fyU2kMe7AVZbt8vojl5Ld-X-ORM0YXS1AFbeFm7cYt1G4va-9aZ8T0F2Ebpxu4zlmswanEjNetXeZNYQzQvAfDvZScwDCAZe__ceDb-OWTNwmBTV0nluqscnE9ZuMDLPRXOJmfuig8Nw7mOtGDzhMgBQXfkQkxBPNj-uY1-oMNT985YnT65quL0IWmpr3AoZS6-d4qU4Qtqs0cez-C-ZjFuakV_IIJWUgiR-H4Gju3OFjUazL_Yf5HNN0JTt4Si9X1X9Rf7vHoDk7UP4krtPbZ4GaiNZYOEe7F5YqCiL_MN0UzDeFpeuOe0Azec8O4DDP_vsilgPgypI9KJQ9XfKxOEqySUd0rgAXLL8yIQewsNMvpz9vqR-L0h0qjiUKoUv_4FvvEyAwWZ-5YsNtuQBRoU3XfMLo7iJoOJD8DM1cyUFd_B97l0pUBdzQa2Oq4S7TccwbcQQoGL14RJpTI9OsH7cg7NTPXD5mf01K5wKlnOwFzTlKRU4vjnjue6ZwYtR27tNMGBHZPjkB2R51qtOIO22qoS24YqDe8rm31pRkgsYfUMPqeQIv1PDh1wAAXBbxquWAixeLsUwsWStayPhvXraXIIV4ImwALkGHqHrdwebQuD6euV02aZmkahiGL0HTUmRDpD8osArgW5sz9McI3V5TWjoOEk50sya5CGLuG0INWnDo4okvdLbgZJdI3ynSG5dw_fuK-kWYgstw4ncOKh6wI26srR6u8TQGwxk1JDH2sGx-o6G2RoxyclaqUJtatj3RGGMiAZt0AfoKgai1EvqReXCrLjhJfPWhv-sKBGMrSRVW8jzOWpi-mczgHdwAEECZMXXEmLhNq4rN6k7sk9uhvXBUZZKCRty8vGRmXrovuygppD9S1g_sOjm0mVzt8G5edSNEAbpEs_HbA-1tMjBK09tEnPmVryAKLBDyd4YR0kPf-JY2nxlFD2YTxEAt2J8DrZ6bQBLYo5RhgYfelt7rabG9A6E5tsoXLY6kH_QW_XWpZwueVh1iOc9Dqt_0omNFc89KQUOUHUWCocqrbBsnD9kE_lDG7Zo7L8806fv89xq9sU6YJU6RApqgmBrFv-lYHWIgiby9V-mqQ8CEVj3mcP_wOYt5VV2mCtGiXP2Y8GdNoYavSxgWY7LMWuHJGC0Nbn2d8rxlShqxaN1dokrq6uah-FXbv3yLlZEPPj5qDKyNBJzR1Bs_WOJXQfOT1diVzGv_lTKdTIWi2p6Uj2J3Q004dR0FUU3DbbpxdFNHsRmvc9GLFMJn0Vc11BQrjjL7lazy09hctfcH9TFHFSUy98H-V0ELBOWKyiM--X7gK6SfkjkFcNrVEEsRomk6vsILjXv4c6y7kTGr-73vDij-cLKFQgjV2-36S6bp9ApdEU0B9xjuufGZyOTGJ9taBe-AhNMco_YRJnLW3pxfVWeGcfNhHxSBGJElHw1CvON8ne72KDNCq8sbagPZ6Qkawxf5PA6iHeL6_ElFe4JqAajxJJ32Mds7PrDetC1ADT46ddfOHzIbsQa8thWvC2PV90DF9YaYbF1PT0haUws94tOUf0jd58L0jkAK5hXOcrtiYLEjo57gIlI7YqgwOy1iCcs84FNeqKVm7EvHiXUz4j92oLAP2VHbdgVoVGtsz0eYe0HSWPlT7T6AN_eJAGmJPwlkCi80wRrH0YfMrTpj6MDwF6iY4LRA1sR7l9EdWTIBL_c1zS_tyjp17bRTg9vnhH8_u75mJQtkH7j34xrYCDraAXN3X0LUiUx95n1W43fZ7uVADfm1CsSj6_CtBf84dbdPA7DoPXrPyjYy-HJTAE88uMedo9-z8_eVtTjS1raUK-u-3boR8yOmMXw9WBEFGI81Haosw5B10R0qKHjmJ6XBx_4HmT6NN2OXo02cFLTOjHiK1YotZkR_YowpZhF6Qb5Y25SE7lnnHZccZvOWrWqlZA9AbGhbON7MqA-DeJVFSWZ1LzfFJBnlBQog_YbKXAo3j0pSO1AO8LbUsRrsFpP_FMlDyENpKeOwxQRf5201UCYmgvr0eU8KKB9UOj83ISbjEytuq-tn8rPFCw7MZyYsFW-w_oWM57CrRCKTiHZDK_SgPBZmXKJ7LcWSuIZ1IAkZJw4GVfJ5nKOrE8mJm72ruliWIwEHhnsV9iGIdmjxvygwudaaZa7xmj0qz7T_uZlvj4G9n-SPbu4_I57bc9sz4isMm_LoL46aknODUdz6izFl_4H8u1LsfM0SPQfPQJ580AhIgXHTZauCvLMAbS-A8bgii4QARaj0I77NhqJkEqKlvcR7J_Z-jymoht8FJvPU7fZji67_7QBHqI_fyMBrpOZhKZwjcwLLkcYRyw7uVb_4A_aNwjw9FyVDhd6dWTFzBcNhuinndfwl1S45c73CXz3O1W5-n62Cv9LPjESVN13OSWQoIcp8NsEXvl1U8JY2giGlpRXGb7oizVoZqwicXBr-f2-1_D4k5hlRDy-H38XlCh7J7Cl0u60zbih_hSh9-KuFc_5p--geKZddPhf4BX9u2Mp8WjGkthzSeN8aOeDN_iM_RhjgpqoxLyRSSceocZ8GOJLTa2zDW9Sobk3JPrJxy8IT2TuBm4bPUMmz8VIoBLns95OuJWgfz5k8yf28nQr-5HbIj0VUfrrfoyh4VPj5W2mk65dbAnQyd1Kk58vayp-d2nF022RoddyRDFtHEajhpvMlFrpxcGJD8pQ-HZMDCxxCy42HBIlFNqBm1xfLxGPVL_uNjicC-rGTPJ5q5mzPvTwo5W4Asy6E_OVNcUlxYWB35R1OdyEsM90slH-Vf4lngXyxE_unAPCqOclpUYRIGQrdgFCNY-h_TPiQQ_YTYx52KGItjz6GXYLyEBJJAt7mrR7BfM-u8vpK2dYzkd7-IURdHgJtrlUNIU9gmQPDHMH3-A-GwIrwqYvLXdyZV7hBhicGrgvXkI5UP8YsNpnzV7cQ-uqSLQjORsmMHYy-pmrEY4vR9CcOWo_I12k-esHsr-DKOUGsZVTRgUWAQjwHw0SdnajZzbNaZ4Shmkc7JYzfoocO-0K4F5JeqGf4hSqFIreNmPBCr5WpekB0jJDnEDejiuaI9oPo61UWu9q3PZwILdRWzCVc9mU9AZid0ufAeSpoPQt4NuMO1-p2oUSi2YUFp-Mkc3IcljjgthPkoDbrs8G_Dmai3bDAGXdVg9gtFL44e0JM2BSqR-qQd-KAUt28cFMqbyc8flUmlIJxfg7DR3sYpr5UwJd3CW1_NXat0Vm7Jo1_F6EbtJwm4huMhII0X2d9N38HdSIBRKA0onEnS1euUnegsPcWyXoWOFM9HiLkgdPoPSa2J101Mp8jUfKPmvef0P5lcTgk-UM5V0p28JbhSW7_epAghJkuCkxUsrff05u5eZlunLKbw3Y4Wx33UXwwTYKT09fAsisqNS_7w0tsAyNbSNOaxuQljsjaXTljL_AyPTTIi_q6J08PN2D2L8I4ysQS00WRUEL9BE6H-aQy1XfSX1V1MMw2EK2VjoGbbGDeEp776Oi5n0H98--hrV2DpoBc6I6MIYndqBvDjIKCVd-Kth7izeM4zi44h-2d7R3L33fj7pGb89r_bUSgWYsD-VkbQOuHhERooZ6n8cN3M3G_lClRLXF1f9WDuELnb8u2dui2Hwejz1a-wW4rHbGCTK-bTMAUlY7qdoIwfTe8ul2s_597G2sTkUm_YyYehWLAPe5uRZr3wLddi3vfhWb7grl01tG51PSzjL23IxbcYcVRJQYRZFJta-72rqPrfcT-oktIKHN978cbneNUkzmN3sUwZcCWxKUVPjC1d2EFDRsHmJanY2S78CbsDTu_m1IZvX9PVJ0c3gdH_tnVvCuZOPdHB_c59dbDSqBsojKGEof92d08rahigs4YkSDNo0tCaXSjqgjXz4xBg5drA50DGAJDoCOktv3nzhbAlk847KbM1hSqNXhlquMo9ctMQia6Vqn-HmmS2wziyU6zN-j4soy_RMMHr0IcZYxs46DP2IA6qSUa8rfAMqemjRQq7G7WjZ6IZvJhKU4HxYi6Et2CJFvHOIL8lJHfudKoKODtAoaSYitxKSLcIZZaWzWyZEoeeFPU5F74ib-RGPDULh-2RUDpWAA3PB5V3WBvIspairGCzgd9BrGOAQWM9WguGSQP_AIDtKvfO-PitkuhqUWozZQJUqiRkw6cQBTXmt2xhTZSV5Kk18n-LN9YcLA-IH9T-VVMWdmrIJJjWc6w_Dz8jQWizsBWH8TY1JxEF8bsDEl43peDkUpMAaqyAjRlmDs8FH6-nTvE_Y_E_YvXl-g-8QigT-D32_ZUIoCSrokHO3KQHmy9xp4uFk2pJEUup1qNDOq3ArCGGFfE1LSn9GXanfIglc-8JBaNpSG3t9-zhFFAVcMQbxlOsugkOLSCdxZkOddcXC4LKtAi1u1hHrwjdXel2vGUc_yU1ceSRLUQMo4vNwgh4unheBBCoe1M4XoqBc0ZRPTyz3vd4yt_y9wbe5egpc3xsiD-Gjeegbuyp3JzFwn54wKCEqGsPmOAlud_yfxSa-8YOvSVBJRJjQlHPbrdQXdW9mrCMRJNZUG7ALOIfxM3GYcsoDKwPPn41b4gxxPSVJ4jsbZrYVZSmj_D2gews2rKjvg5HruRh4iSVyEr1JT5pyUGWGRzBXWInNaY-j_3Uy2NTz9iMKY0Lrt-1WTUOcmBe6D0g9zrislQziL0DaUJgkQwTOUCFXs7l8DuG3gMmyhWt4X10T36F63r-hP7fG6EcHcV-Y1tH8Cu-9Xs2sjrwG89U2V3JPMLieBJOK6_JLTmZuGYNLVBIgdFwXuL4E-lbp1ebqqP2U_KWycgdaapAYvsb0A2rIvxJE-41FSwT8K_U9o5m13R7FShl83dGd5uG-SejEUmkLv57_V5yShXfhGkPPWpsLS5iiGqYp4MnUtslIDP51MWX0C_67rC4A3EGkyqvczpGvY_qeyJvrdZmoHDYCfIzhK6NflXZ8Pa6bWcuSoYyVCM6P-h_kWYF2WdmnBcBRPrgMTLaj16IswA_DnYeHfHHx5fBrueW2S7TwcRm0X7Pfu78ZvhI00OJLTlJAa2fdSbbmX39t6zvR0A3Tmq_ykPRBEWRM8j3M1s-7e4EqOxw5WG-U6ZLjN7k7w7E9V1BJ0YlRG3m-LrJhZRMBwCyNJBOqxpZh771_JMgyGOngnHa9-MpDWdo06D-bIRaxi8YvCFWlIsKtLT1GEy8vNnr2vAck4peyyu8IphlFfBOUgpoFHuQN9eNZhbPtoo8BpeyYC9ns4VlbkiRrfcl-EHw1lL-DllbOnu0l71j2z8_kuXCsvo94a-3ipwoVInXOnLHvFBg8Zk_apPmBg9-w3hZ8oh5vt6nbbsm6vmjlACzcVuhjGZSrW26Wu3y3h3crTPhWcg8OyMnNAchTjjvQLzovFibGaWspW5FaUKrFgYIx5oljRVxy2xFw1X7FG8lcuwmcAJMMuVv0j_QJjrJxbuy1Ho47Sbba8agOO0zJiS_Ydux1f68I0KYzRnfetdk5U2qBdE8fwzQH_hi9G-nPdtC4_M0yKhLDE6OafYY8J0BRcvfBpPHkgwSpx9Q3VtozKQilAGfrCde6vvLuCqKuymfE9JA_HFosK6CaJ-OStoP_0W-mGoqILCBV9vVwntVw8g6k1XlUaPw2iesTOk2OyV9dzN6j0RH-GPxAVGOwWEoPt7kqb6g6h-4sXJzp1lnus-y_wZgLzFwmzsdj0iEALcSCLITK31msrki9eZdNkY5TvslHZ35999Tna49mMBM1XXrhEXdsNhM3PctmvPPuWHZ7Z5XiJFOlQ8GYk8U3pf8qYL11L11_J_aApM037Xw-Zmi2VUpT3jz9DB6yMLM4qLPhgO4zqyVtJbAAdV6gdr09QB1MRazaM-F_xjigw5jf6t2SeqpGkEp1WVZfZkazoAwHfWd9YXfeZ18O44y1u8tyVkknQWp9hRqoBom-cklKPtvscgWAe2bFJ8S890L_TUjy6lmIdWpY3qt2ByFKYcyQtSK1Q3kJK-xW0hxZlLDBkWUto6I_5Msn9W8ut3ZqlHJI0o_K-yjEdO25eG5L-e_fpzT6sHu46voIcKACVj7c8PdxziG5u0fhKKSWoZvhA23MDxN2x8yhMKAyfCNadNZiCfzO6LDUfKmbl7vYX2pPkB_T_IbCwIoyvBd7n-Ph6knIcgkyrLhF5VZQcT375YmrUQgmDaK7mXxQfNXHpLR6dxhei6J9nQMJTlEOKoH7csXziEq9nbNzF6Tl1fMadTny_-Iv2R0YeZqPtrryamiUNSuNtnkR5dFjAneJlPXmWYsZI0Ozmd8u7eX7dw_n_UuVP3s2SZySVHP0ufe4yP57IRbKh13j_vqNaUFkVHOQpGvrNsPXZquvRMsnd6Ym-Fo4j0DZJIWSsbUUOhcuRpsqcrE854GH8NXo2FbPiSL-uGZC3LCOO0_f7dJAbIRC4vOgW47HGQvdJxAcPe_zDhfqPmj5RtfDW-WaZzPYREJNGaO4HPXZ4C4_FJRuKJvopiurqx3r1woiNUdmo3N3jO9rcKIBnU0nmGBIaJ0kVql4mNmWqypDL_zUkSHEd7hQYwSUe0CKEqIJtio905w5nEqXv5T9FYxXKpPfqo-cMI4Rw1L8dqrKxiOLQaxUPmZkkBvDuYfeSOmkBklFO6kONy5O4TXZ08fCUxdq5b1q-GOslR-bCYOgprpOrCGjTaC9LRcTxu73FR0PG9y6f2WiTdahQdacNjjXENvhDTWtTpZpdR1nKF6zEbeBSkEXAQdnVG-Bd4lcg9TdZzA35eAvD2LnQsl-LqhEgJGheo8sZ0qBR6jvc0ISPIHQpE_TVCMvGdzQQJyWEtG9XOC9yX-rka-cd_wbFBRDKoA2xf3Q37lTuv6JDYGPBLSZL14bgC5ASBJOBv1qjYuG2_I7H0N0RGbYcbinyF-KfKb2XdjwigvULIQ6RCEWW2yM0OHrVuV4CoQqo_jXVGwdOf1TWjBxHp03Lds0NneahT7flzz1uJ4yQrAXf49QsIPwN7kE2d5GUIaRWRvIvrpmjrRsXlPBofP5qxK08-OzBsCIF7GSkw5OtdZeXCCuhUR3MgV-Cu9pem3oAavXOmYxsJ88AZFZ_46GLeCIxVg3jy0-mHzFmx9KPCEu1f9wzMWr6jtLhmn82Xd8fx09ObvRj63R1B7BCrZ24ptL-HDRxLbYUgYCzRrmPju82kebRKE2SSXlvvYyPlR8HM4oC_ecofPSPE9ZZsSmosH3YN_4t6L3oMfhmZWsGGOZxAeby54mdKHmgMHXy8GPw1HWSRfbO3PZ_Hu05wYrGjWWi5R18OKiB46caxG-Es9leHv_5mZad5i5sCgltUbs79oxeq7uLQHZSXRjdzGonaSV1S7vlHvOJSk5v5NZIoSfy7CXxGI0l8fsTeqXs6g_XGnka8FSC3tmfKKh1FVY33-ohyFF0AiUrBPk5S7DVTYEKmMbyyszhRee3aA2LgeuoFGBgUN56a9MBsbgSMn4d9Lg2Z2MA6P9W1iDRGHBVzqiEakFDDAxh6sks02FJtvKnjHEfJO73swG6JLGZ_oy5BzI-5tg1ERuEhW97OQ5o2idPhp_GDnqggFLKoBe1ToUidd1VwG-fqtG6wag_x5WjbosMWDi_IuoPvPJBVQy-aN_9ebWTyrub04Aj-EX9Pxj2T028VK2U0bGgfYOBF7bC7mUlPeDG91hCcMoX2ysZvBOlfZUC17egkCGvkV4Xqkv1qiG4Jr_DzgMPxCkZjtSctfRB1YDh1nXt400FhaELbKBaI2SNF6e35bz_QGyMU6qHSUOMs0Sk93DfQEPgtpu7-41REHI_AfrEY8VbZrT1fAUtscJPWHTzWnA8EWo_s9yV8Z40BWkW93-dOT8CxxMv1xGDk0Dbb2T3XwWUa0TTk8AK1joE53s0WwcytpMXgR0r35f5aWG5qqq00fP3bWo4dC7jHqFdIahePnOJIs24LZFhLQQiDSy9bPSotk6B-ZQag9ZoueBw63Jv66U-RaTIxW8dz8wMXYt2GwrsEVyNcIc9XRuuslPeXWsjmCliTSu5A15VyzreK_yiLRLCbxs1Nyth7sBn6bYnMu3tD4DuQFkRbxhJ0FHMVBd8ZahmXu9QnkOuutlIiy4YxhuesPKBKI0oWO1FBuwjcdQ_8A0AWz0SVYMiQF8SRhG3X0M-YKxveaFsbZlqUtKX-sW4AqgFpX6vTYKbXpdUKyVsQEmXBUS8INkMXV3_aqpkZPRlr1MmU5qwHwXHP3Y2dpZBTtAoeoUu8mAuRte-Sff3wNpb0KRjlTsrWjzMprXJ7tdLY8Gv1TFTI2EHhXzXHszeMi1rdDO1FZv_8fFe8EEq-ezZEYycvgYRu4Zxwn2hhJDoZv32YcOxH8KRNQngVdPq9285eklyVB6Ack9K-5cLIMe9v4yUGGr7rECKTBAIfcVEKrX4dgbki1ko3T0O5n69kEj-ZG-NJdI4RIAghrfkyQjJon1z9Y9oX6j3jppxSQCoCMyzFA3jfLOOGCVv1EiPwEQ-IUgw4NiVwNHd_7WDwOciey8f-nxYXUyKZTG1qW3T3mHjdxAbyARapDGY-YAWfGoXyUV36scvBKpbKv4QqbZg3q-wznOCBwzBewdNBz4n_sXqbD3OluiG84ozG4y2DcA4tOvKBqkzvk8X6aNrXCsGdoCygzmIcy85CGJM0m-pK-O2APBCTpBpa6x5xC6eO32_cS0KSaDnDQzVadJa2tMyPu3-ixQteU5sx9cjyobnnAmSPKDawyQuJVkAL2UHkxSv9Ldqbs9qutyVPXD46kDzxQcIdD8lREv-9SKTQtwp8pDZFc4xvjCJyXa6C38_-OHBIOBE9y39kfWKqa6INpIJDlk32Z7GI_Qvuc-JC61nRT6JuzkWDWl6iGv4rSD0xsJjHG6eWRIj-d98TxYA-L80aOGyJzoQA6HZDtYrFvbfHFdkHR0VbAJGMX1m58yE30yKTXe337KgJXP6VsXcJxRsGZGYDUdiq_l4YIJqoGpF-Y_oBzLvQhnmfdEZleZ4smtuR5cO0KuAN9UyKoVlFS_4Mh-0FQM618dNwDktJlMkrqUjt36e8bmi2KmDDa7-UaKRDS9eNfJvvm7N0mtZtI9qJb5lAt_B6T6xNv6lqL8bdWVclyKBxj9O-OW9-yN-q6MfUH_2Mf4EXTtFsQFOWraskPoDx3hUo5s6d1yZj50RCSFiLQmJf_m7xWUQlXQo_gdz_wJP2kyl9AjZ2SZycVH5NonieGGfruMf0RCP8xiXsv9EZU6hX7gGuDfinttFaqOb0PoBhIrAehPdRZYSi7Vuoh4AxFlvAIrKpyG2J8kDxCYde8Z6oidilda8Y_hGc5wznfRjLh1Zc9Ic59Euy_-k55JTWeXE3NQBVAffPH3H_ClmeFE-8zUyP9EdF3zRovkJQpbDDFGuBQ7PEiIf1ReYIlpPV7UablTSv30MjiTPEFmKlVz5TBXGrjRtcpyTZs-BpcTLw0hHIbjjDfbwXt0FuCCCifsnJwFEIZS-RLxua3OMhHzijbToZ0m_1bxnYvGYyPYOToqXNrvM6a92tt8CDNseICl0UNZ5KiJjhyxdarX0gNqkKMMW2ehWvntDeh6NcCsleKgVDumbU0JRXR_YqIWrL8kZYIrgEqBp_3EYtf6AjrsjXE1rbYpK6s45XSSzgb-SmvNFjwZLj5s1VlpIingm0Cr7OVlSnSSmp9HEzchqTjSY_J78qk5uWqOjjuLdRtdPdFB6kZ4gO-CPjmHCO_GbOHBJxOJhMdAlcedgFdu974FJMXtkpPynhQkN2Mh-BxoMCEChCJSN4chi4kVwz492g8IqaLkAKGRJwxvKLLRGiEzd2rWNTw-HEmokceH594zg3c4RWIq737E9W2FuAfQ8lCbnLSvBpUAgmTbzgH7jNl9edew2Hf7cMjwYgAKjGYEoJQn53kzuNN6Z0wX5gOTvI97oG8m6aAtsrKzwR1fDKIx_2Gr6kx4sgdkVrMj8QE4ulWV8fmrW72C9fuQq8OgExWvxBLhdv4URFNWiKwWIrkApz3qZmWjsIkdDC_YhXH5ege6eKZ34V0Xg0WDaBTabvbn_xjF08O7nKWZW6bHGsd_MY7m2CljRJq8BQt7i_MzjSrcpZCbzZTHFN3es5ompIzPBt0HbkwW6locJ4i37bys21TunBd7y7FC7EJNWmg2EYpxsd_5ezmbB0FdVVNj7Dcxy_VhfODQXfZFLz5lSIbjh3uXrngJ0NKz1U_XUTQi5Ki-G3u8HSn0yLc14llWKkrkKfZy_XoBPd2_cPQrW4Bs6yRzlvA3Ew3RvbHU357NNJcbeu6MrmJr7TYf9CcWLZ-PlnST44_otNzKfm0vnLpRjr8PMBCAnikjKNNCmLz4zaaZoD_c33zukpQsE5hPIbDxk-z-XsgjzGU3N1dYc8SwQj3XDX2AJYbc2YZ-OnKZ2yHOQj71DQzqA-A6ER4xOunIQkIGTAdH8cvy25Ta1mZvFLA-SE44tvY7lfSiU-sMobhF9QJj0kk8MEna_zJ0MTz3CuaGDnbo4aLf7I4z8rKa90noJ45ezy3moxxN4iM3cgipHjo8Bl8hXK_diFv9sVF9ITAq9MXHkyd4wpNZ0rFDM8n_Yd3eERBJC127iCQJwgU63ZiS5oCWxIXX5SjEFO_jaTLxLB_-vMnkLYxpQLZxNmEVQhA006UC9xawqzSVYKy5iXejWC2C4FwF8rNsYBxZjr-1FRqyDyIEkWLGYSnTANL9EuOEvpfim5Sp2yh8AVIwGmMt-lZZ_nO7jobZqYb_D96Gb_jD6YeKxzb-6s4eTcMIEOjZ1Qx7fpVVdAxiuezp25WXpjwWlMz9_wYfqT-QdFQExEv87bcnALgmC1xScriU_EOHc0zglcN9RLSE3YaLYj2E73HwRbDqRjQpE1BtiBlPiZ6VOVIxDLCRmz1LBtzNgygsqveDSCVwb7PmLyNIAEXdxtUmU4V1PjI5-3oNrOlQKtjr3ObK4s6HiBpmQ1wW3z7T2irZ2r7Q8uwvwawb4hgiWT-J92vM8hcl0uQHtsOklXbbY0hu9E_PZxBFtcGtdCUqCOHrYztGff2Pigf17QkS6rP7DJLao6GxYjaJq-926ayC4es-Yhavmo9CyPYRCTFHogm8olmoG0k4AP44JwnliEtlJRzmwIxilTIfSNUePcxb1e35Q1Wa1NdzEnTm8ryx_HGq9LTBkuwsYvV9-65N9sznokwKZ0HoWYWatHvwhyvsjMv2X4dgnmoKIVhgca_yHtBShg7g9gAgRl2fSdF7gqpDsSeZgLdp635jXXy9mNnxVgXX-TslF1b5abP7-LMOoNE3B_cgBjzK5NrYqF1OQgZU-fOhPDQTW7ugdlomN2T5OAVJwMS0hhGN_XCxSE-SX4DUshau7ADGCvczyMA9b04C3F4QGiB1PRaMVWOLYqvXmXEvXT83dZeh8Pii2cqV9SonkJONKrWVY_XBEEbWCW-BGRco9Be5fugRmafxr9gBByblBWwiK_NTWV6FIQttQ1dN6RLcgXDB52W6q19Sof8rzm_Dbxr1W3m7ROhSbNvdiEMPi0t_iTAaDSmH00kLktS6fDjNlw7UbapUvf-CUiaHEVe9t_y4XE5PjdSVmoKjlGf7qcAS0MGsxT0nDLSLgXEfqWfVDIlEjBUh1U1eQVVZB6B-iqy_pQnjCWXDTjHxUGUFnTRAR_kI3UZ67mkuDh3L52IHwI0341zfDB1PsZaThxD2bKQKCscvQKNRNSWxRWXt2Rf3u-bOZA8s-q9TPNVNk4XSk5oZ2UoEsSr3mF0sq4jTBfxxUGngtWCOMOJ9LSFNnYS8J5ocYTWnPA_88bmivA-M14ZJ1cTTQOMBtrc8Ii1JBU_SO6LHaeugVN_dhf6liwU3ov7ByE4gRASJt0zBzniN0VbtbLhf4klR8j8PYZvjbgi-imxeLLAcomo0tIkHPRg-5poasf5IjRw_hkAA05xPbj5R8ilBfTYC6sxlWkFHekQzUbu6kRmHBx1s9Iah_dMpfVJLb0_gT3t2XTWr0-rHKkw3rB6kjdMR_-UNTEVSJSdPCOBuZHpdQgJddoOaw7BCuooWipn2sX1uiNG47KuRoeASIafb3hY_CinKIkXKpMShzum8UbwCEAROm-Ckbh14V-XZAHeN73233P3ayu0v3bvq1Z30F0GzBtPS2AvEy6dh5_4OrzBVGwDlvqNs3mfQrr6gktThyR7guibtIdwTPWD6cF1UZjxk6DCcUL2pSdmdA9McXTcLLF9h-eYx6K2ZZBLUpmq54cZgbgN1B6TmVHVE5qLAgdEx1xOsA0bZlZ6ESPuacO-K-F6nmGi_A0FlYg2Cf2tzAOakvfNC00LE3yEHe0CkVrBzjNH-8hLtiA5mirI3m3IW5LMtfNeTrkWxxXQHCu5foRfkjmX1ZD_Olxcw4c8ioXhHc-VPw95qT6Mn7ZgnLHN1M7lyXLFybIAoDswlbjHR7g3Q69hUCEhA9BQNJ7AWvHRRsszSOvmU86EP0hDqV3887lQGIDjIwDoF3Bv6H6yrCNmUiGGTasGz6jsEollbr6Kt6qpcphP-6bdw2fHd474oTeoy5ZQWAmMr2NLk-4PJXcU1N5qXZqEPmjdNslsMnaa2gOvo5lxFDqL_x4tMd9ysRiidXCPttHUM3yGYn_RUsScIxGnaAz8zFNdy4sm3KcrK-zxdT6IXzvujf-AV_O5gP2CfpjiqQXpxB5gKEmLOWbpPFPP19YyDKEYmd24LnTcnAOTZd9QolidypW4zKzm3-PnsGecwHyIS3RYacrq2h0Gm342Ae1LjhHCJphZYMloZQLFqwD84EOF1zIdDX7XRcbYHHx90-p-vpo5Ae-dP41xVcfvP6kfGmqKRh-3PRpiQO6MhLWsBLnY3d1hDJB8kCOSL5EEVgXWmO9EEYaG6gJxAXxVA7IDq1AnZ7UIaq3Pd1Ur5AgDycdY3iDzwd1LzuONK_eofpV8tdJEQpy6Hyq1Nf6dPurNTqp76gdmV2SIg0KMfJ0_34YcvC8nO0Y286ZF-M-qQEOOWIuWmu5y4S15OVBqNvUUsqr3eMygf3is3z1J7b4TIg8rQzCNQTdAZS6oOByu6V-m0GCliu2_6r6gDnHK-kWAc5xfdbhLyB8igq5YQ6A0QfO0gKElzlD-c-7n68LodzJnvYXSgSfxKedJUaxogCQn6HJ7FoUwnmHSA7GjyG5bFN1OXPjhjyDSaOdprUMynArilc2ESI0pyzmfCVKqJqouHTcp-hsKJSk1aH8JkqH7m8xC_Joi03h96HsnxzqmkyPEpJFvNixXKhCWefr5bqDJ-9Im5U81MsPA_p3W4jLQEfC55I4E2uiWrdNr4mkznRWq4qbDPl0Dfd3xiyOgBgTimqrcQjhmKe3dSBxlR2KGtB11DOZ6iAfPqIr47MJXyL6fBCGvky9I6Ghye6v-jk2uKW0-weoIOw2aL1zAxhbqmtOwcUNmMNG-TJ2aX5VmXcCPvFnoV8m-VA01I9r1ElX-YGgxKYG4rX9rzUrbtmO5Jlm_QrcW33htZTNEHvCBaAJIXy7IRh5Fw3_7RA8r1CDiWblo-8WmEciWUIXyOYERcA4wBMglxpvNdiKvrSBlPyuv97boaDtZ_0kmZCWWtyJu0N0XE2ubc_obOzb6CGsubWqTWntRGxUGwcFB9kxPig9czJkZOsn2ZivpKp6lO0CsRH40dkeT2DmODqwZDj1xMb-1bAHIWkiWh_PiiysXE5kP8qz5DPIleWhtpy9bzrP7IPxbKK7jebwXwDOudIKIZ7odLYz1iKWhPlSdYJvXeyxPZCPc5aO-RW2uiEzQOWVUgECGZyonHiBd9G0PWy8b_Yq9HeDLvrWmaqkvn_os6EbGihHS7Z8z0vSuwxfQI-EAceHzAaqE0zjw98eaxQESYl-lvEreVZW622vaY5HKKakN3qvomA-yeyFYR2VGFdpNWWc9iR-TGFBRU34szHI1hGlKGsW1KxAJzQ_uOdvcu7cSOMJt3cuuTcNwWrf_lkm-OjAEN7lsHntSqw8va3c7_DC62aj92Q3HoMFZdYa5V70wikosmz1EieSa-aL-PyWI0Ecmza11lXyFuhP58u0Ubyd4cba_Z3pBPoAoFI2jH7qyk1dipWG41oNk1ehQFmXbM_AuE3bbYnzxNgttwuoM_-S1qKI5eOmOniopj3IovC2c5MzqZbzdAj4oCTRmWZk58IsdxF1Hrv-cJhnoJILi27AfPUiXpKK36_3elP7zx2fd29fHkpZCcmLJgdpTPzbJ8klK3NlRGnaiPaR5xQKB0cgr0fmqT0D3Vv_G1jPLdx82g9om7gcECj5-hSkgpDpKnIORnRJb3zN47xdnwB-E5Ob9VEx2o-DEM_IfNBHvp7r9AalYDx8Zxi2Gtz-I2DlRxWsHJokCpbesyw-niwhf4DLhHhE3K0hHYSz4aGBhcpeR1b1ni3q8cBxWH7My3uOe5dQ8jdRx3ZQfernIoJdj04V4_I0O1AUELsSofquOToi7wqjD3d9aTe0AAJNKnndWPuqm11I42mUopaG72aRHEEB346M1v6OVPU5cZuk_gfusizytdomY_Il9iYkChC2AHMWLLbPzCgB-N5Is46n_ef9M1tYyKWkYEwriudMS_mV360kzGjYBPe6uehYLOhJKAOCRrsh-Wt-BIZSMf0VBhxNfmZOUMmvDEc3DdFoDpn7w3TKNhkHRz2K-5DlAPklRmzMRVLmW-m962FyhoqLq4pUaPxbrLyCR71l4qsbzd6cP3IWV6I9Out6Za6O1SKmZKyhWnz91YnW91LgvHVvM6bkA9DiLB-S1TBtXNuWBNi8h2-mqnR85-vqktc8X0w4lUNuoJz5dNz6-jDjwgakLrey2XMdlSv-r6E-JlJ4VmBS3-EoSUW6_Nyae2F5fsKMYw42hnX26V6zkc7yFOb95b2YpC49MpsWqI1AmSdKtp338P5wgQJnaNpPqbuACxzE7HKF-YhCWLCFRWdxU-EQ9Cq4otEZLEtlUyi5zsCpFs_uB6O3ZO2Lxz490dK0s934z3EgKZOFAEToVWurm4bNivwSc424LlFUdGgBS-oU_Nq9TI53kO-pX44vAPxIGnfCKzKX1nggV_EOhj_KbxwqtW7MZS-w0Mpc9qw4ZaXt9GLp8fiB-McrYwtw8LrdYN24SWv6uzHcKZn-Y9hSn4PofbqT8503qBUNOd_pKSrL_YvCOMP5pw7nJLvUQyShXv9qyBU89FyB24-4E6sJgoK5Cy50cBszoveTp3KWvTFKgrl0N4AWA2WgDYsaF-PslF_PXrQAtSXm84kHH4Pl8zPww8WnyC-y6WvZD7kP892IuqUtpsBi400zPHdq4tfMA1-Nx3Nmw6jl_Ah-JVDsnQztmhB2dW6Al-ENouI365s3-8uVyLerIIPFQRnyv2IvvLQEU_TkpCo4dfGR0jVcJa0fcd92KINsYmanPgBfsKxcSGacyB3uubs_VHzpPz5GDVtO-zk1lzfCfl1FrBCg7Q4K5Lj60LI7Odp6LLVlGAbEBnlIkwfGdwCEv-nxR4nVwMPNIme_omDl29q0VvVDxbCh1EyjmfF6H6R1zc3OEAJAeXPFDqkF1EVllIkWdzTDq7EB0G4N5PlOvNzzKPI6f_s1Oxm6G78twd5EL2kqrKe0eKsz9zkavBRJ4We-q_SuiDTCg9AkWsxc7cDp_k_d8hhFRoRtmUDv8YskqPQQjcVGbymz1iplgksQ5i7F4nXdyXpQtKqAVDqA7ogtS2xelt60-NqZ99sGjsNjQZwD5sO8mdL-ps4IcvHHGUFqruMiAp0GDVpqjntK0AInIkh22Xp81a8OY7kHAng71MJ_rcQIUAvZeIKfKZ9BwL4kL4kI5ZPamPdv4jGp6PJQNW2CQMvTYMFYEh9taUW9gLazykSgxoGuH1VmvItz1kdZPt9ikh82rQVkvETsi5Uzcr7E7QdmBkm8Qmoom99zjR6AzMrWOEWiVWnCJzxKBPvbP7yoJf5LCciwUOp5jxYJV4uw9gIbBaZ9ennfmiKrXKpEZWXqOgWqMG_RIyIb_sgdD5Lbm1RICg7duC1oolecepgwHpIWFXJYp3hSuPq2S7h8Nd42L0q6kwT-52a5M2EzNi3fvtHC-O9MVHB0a9Olr56A02EvFIGhWqhfVX4Jp_o8bFdU9BjPwVf4jgBQRyncrQ4F7rvWwjYb8lkP-sVIM64n1ebCOVMgqUdR4j5QVpJM3tMWE3CgBYC_qQ1Eu0-z6JhwdmmMQayXt0MKhIX43fHO3X-NsxFtfSo282Pf9oMKov9bz3HAMHIMfiaDZyqDtPe5hTbdTsrNi7T1_eA0_obNoItrCXmhwW6IABorotgPpz1PWuzcYNyt1zh60smekqzszW01lSJtifRZPlH6qZdWcfiV-DH7a1r2jqDEO0P6ZmS9n0e0Ew7Wg27-7NaY5FXqpwnP399AH6PiaP3OYqXwZs0VE3YV-h0OnutaE-VmkpwHCIjwDjx-NQP7xvm04XI7HoYT4BPG7gMlt0Oku9oWh6q08xeGX57KHtJ5SEPlx0xKks1IcL5vMhXlaatj3TP_rCHGKMXxS_rSB8fS4TuSjEx6i5LzuDWsCz9tJaLX7DZh3NLNp1HaNtNzdT5yqW4mi_Nf4xRrfKSe9SgFY1RdpV4T6dxBPai9UoeOFf3Xdx5zuP1ehfBA2WIvy9Klw9pWQxHoazbwX64UJy89WjRiQRn9SW_HCbpbVvnJaJ68MGQXtAiFfIRS8ZT9fRjEn0hTSgNWYPv0ySYi31EKGHJRpFStj7zidt6sVa11hImIaW7uniMP_T5l2XqO93r2R595L8fv9Y4lqtfcPjbjSlxbud5QwsoK8Y0kNnjGI1S3Q6U3sqiK-Zrob30DV-RCZHyz2QQeJqtF9VB-CkzT2utPMjexrotxuy1U49iYiZSg1g9iqHWrgSYQRJaNEV4kTUBGdC6sBZ15YqS7on6b3fT-9dZgcfpvp_WwGKbIvuEbwELK9VMiMrJw4L8dKUeRXwXOO-Krhpllc-GMXyHOM6mx_opUYMDyL8HXXEO4WByUh-YgceCfrCBpvs1DaLrI9sr1_4RPwbaDJPgy5kFAGV23VuM75kQ_HZOQ_q_q0Oh8VHDI8tG7Kqh0XMuJVjJy0bMwGP9QfKccIvHorwwDEXjQ_JqSsK7Ma3FhHzrL20d4ZCL0K-jKh96FB6nDWowZvCPDN3Tp9YtDt35PF2Tf7heHhss8RzGuToAGj8E896OHsePh8S28V0PsOcH1qiossORplaOhMOIrb_I6_KSlR8M_-LPtuqAlGOxl_iNo-G5xgQEmN7wZOHma-NAZ_CaDUzbDyLNWPM3SGeM1Qc1hoRHFxfCIcLDjIxtutGjhOiG1ihJ2hqjlg0pyf5h5cDMDSyTjBNCCfElEXprwnyAk3ALHiYQ5zpFoqKqPbLV1nug3kxs-ziaObPsq_jGRmDBDU9VL-YWZJq-sHxn5DUESQuQpP8X5YZ7aGsexiewut08og2Zs9gYK-QLosIv9-wM5ihvo3-yVUlb8xJ9znAO5tM3xMtVt_elhPcYfgQTGahTW-DmET_0TaUjybfZf3RJd17P1m4mxNFb5HkibWmrfO95yBBtb1RMAfd-pF_wx4r9jMlpIO5lnWOqk_6WbBC4Jn2ZdAlRH20AqKSx6XAVfr5mdMEiSx-2IXQ8Bhv99BVyvr8n-yMfOxugS46b6IF1HLOZjHBL5wtOx3wyO8FfktfB1WWfoMinizIzplxh8_TrzEt7rMn7tzBSgKoqany9rFb7NQ-3DGyk00lVcuhDnHnVeb_FbGqG7YbEpx1VShyUZNYXqgv7zohNwF6sLCgBTsWvlamhEcThyDOHGZT6r_a71Bk-ra4CJdHg14AvKI7AExzkY2AcVQ1GEtk1hZe5T9CWFaz7GU6jzjOeY4FbomHea5IXMhsNMroFi3zZ3nTnZ_NLxMx8bycRfydAzenj-8yLZMML0x9wkfeMaiGJFoOqs5P8GtMTcw7jsdA3XoizeJ8w_sGtsEmaFD8u37lLZt6qRO9sKZXvV7r4aEX-mLtsNkTiIs0WMjS3fdkilIZJu6jfHHC07HgODpJdAwdm4WxbFRInOq6TD7LaEFmG54NEPSZGT6cvLXTr9PuaoPx-lzx6p26EIYSoPsFvY0bmP2k953yNXvCs_Iql3ssY-wNkWgS1zkucF8x-zTXubGIcpZChbDLP8Hwp4LtxKqSaMmrtOu60-Ru-vkepivVFAF-vUgtf1zgGzHWLi5joQSWfpQNneo7iMrwNZGB6aDb0qOeagvTdZvmrZVFDVE1wBMHz5Z2j4FozbSv3q0W5oIoA-EI2zABwHAD1_w3IpB0FrEzIe0c2RSKhD7T02hNt9fVDCNiPGFBrodGUYcWAdkvBCi_NU6iYBbyJ2V3yCTbIvCr1Figh4r3wdYteYl_9wmeXPTH-hUFllyH0biwFkED9OGGyw2w0afhDfWVNQ227D-N7iIGCEU1QgWEkdrYdfQFpAu-nhhCcM5LYNQMS9IBSfJa9FUgdsUbvpiQp12GITbzzfIZQtpMeeUuiYYEv01Gj2m1M8kxKVIRyiPSNOJXjnDtF1A4CjRhzTXjOsksd-WL3B0gyJLzmpP5pTJIBqTHMrPQXn5dqoZJd1Ehn9ZpaHiQh1ee5Xtk3CU4wl3CVBGyv-T1yu1W77R3qwsZlBrWOmo565izUjmQH62KCuKuNsXDLlBjDObZeYqQgUAY7kX4er5c3oU7390iZVhrojUrLkxiWKiIIN03hYan19X2F6BQCnBo7FoZL71hRWVLC15i74ASCQ__JasKeAUUdGcYQkhQfnGn6xN2GWOt9bKKHbWTWthfzMhekzXUpOQhDtURt58bSFEWatQzoBBzZFC1IUWxQ5oUzRrqb3vxoG_xiaLIjJo4Wv5eueSAEd0I45Knsfyu9n4U6HNEjNv-Pn-CxIkmTJI2e6_PgtK49WanCy8olfNFDyqCymnU4pabbvjRrh23ozBfEITCWo2xINkFpoMf0NFzpkbK2oQkq1r7HIJEzze1-7pvDEQnbd5USaphj5psdbDsgw2EQHxBKhEwPYdWCbUQ245f-LwQnE1k1lkMqpBmM7Ok8J0INz-p8mOYXwI-KxLVLSzOJ2imWmHxtFks89ZLMHxIt5xcKm00-4OkUaAkO4zkoRBFJmjP_tLucO3hmoo3XBVr8L1ujfF2ebJXKgvaIMioTLTkONKaAGWLmYepMR5BeoC28PXCqi8yw4pMkqpkeqCx8aALuIn4Gl70uYsHpBfEyutXFtVO94XGXFGFnTKC8fIG66YexFmnHwpXp5E0jlcx9xinZ2dO1Dq8NJKTMqf2Ow2w5j1o40j3bQz95fUVuIAtS7WFvQWzUluO-6gvO5916gL1THlipe1OHf4Te1qSNN3eYUdOSs1Qu9ygTKaxSGkpiw3AHJM2YSbjt08KSK0JkneCt-uKAhNZI-NIW-Yw1sQtUlgf-8xN6Pomx1-ZdM30Yrak_d52QjSFTmufqm0q2u1mEOQlsJd046EomMZvUTbR5wY-Drv232QokzQ52brb6dv5TBFMk5NI9zod_2IG_Da5_AVYQCe5SdxqtVyeLCEIJxFS9iJBAtdyDh6vVgx8bijdkM0pKCkdLRqYVKwnuFLN8bBtmpLbACnKwQgzyaeq_229CWPSlIx4hB-Rbc9mHYW3p6KPstYuptXcmXz8B_MVkoPFqN5uPqlWyxXch95VKVIpNDb5mg4MiVY07sclvj7Bdso4m9eWnKAxwsXu9a84lShFBCL1-XBx883MxqrOzladBja0C4mHC_jY0A9KCsk0VvwQE4WUxNb1YYwDgE1KdlZyt-KKUwitQMDgpoi2dbtzGR9WOeff8jfekeLhK4DzRG05nVBvM1xfH2kSvA5hO-RkVFqaVLosF1iM97oEWFPD9VwaJbqqRATBmkNYhTlwpB6do64mLbpcxxLoGzZeMHMgVpd9iy21b7duoR1nNm2njCnfxFC2VPRwCo0---Y2tRNsXoYI6rfTYfuHnftn4EFSnENBeb3JjThP_7AdfgPaD2dAkd1h7jws8hyAA7tjdRQAo6f4i4JSWs8HPFjJjVG3PIPFhLSyhbA_WQWVGs8cLxCHeK6O3G2-h8xehhKU16_8WlAavMykai8HxM-NmE5j9WA8Yd9AvLHRAfI8IQt-HQ0G0olGUdQolJ6NmlfEtiEKBcAa-NUYJOBwgv78gAK7TF9Uq4u2EaDhLK-E_E_C38SJRPF4nzwuIC5k5yxORsv04lSlX9p1iEeWCP2z4p9vRd9XlO-B1U1aEYyE26sA9PNgEVUY5AyGKMDGIC_j7LGWxi6_eMsx7s-0AZOOhp64FqW9mzJabc_wK9xPX5T9IpNKpMoSPKqR55YSTnywjcuC01WE7RR00XPxOqxkyFb8jNKXZRX6nxg25fA5OX2Y488-iyhS1wpZ4pwypsBwEd4gKkgTU5eKdSNa4Kz7pwpxFEP_9YL4N86p5amSwn6NIHF2NtkxR8qZgNrpQu_Wd5X1QssGHFUMFIDQpniNPOnPLkV__lN0AO07OIamC9BrTeA0TQJB8w6Eg2wZ2nt9Kr8FUsZe7vYfl2ewWK-ZwmApbkrdWRhDaGymCdt0-61HQOdY-gzb2a4UR1fGHY087m70jFqMwFV4pfQi9FKB3ripsPDBzmERJkmyipngN20Tih9EiLYXdJnBWp2cgBK4PqAkokXjwGdsd_zxEnLoiZUfhA_FdtWrMPnCP-MS09Qc-s3Ry12QAYMnjb7UOEdWLu-_FbgmZup32FaH1cZIlgLTH8-AqWb8tiZaEdG9Q8Q1LkNtx4b20eB2o5RQjUBekxI17VpOx1y5sUQCIo1Yq_NnP69HDof2-hmDy7OSwMGx5GCUYo4WhkGKXCRMj2NgvZFfLdbFOH2jzsOLv8G90KX_GJvGc_V99OFFbDP7iY3_z_O2edXjCA1jS3xcGySlZ-ikKZtZEExJQb139E4uICz4WTumfBPPZQcsthapbuB6FQu78f7yykN08CMXSHJHiyZY28cQJ-Lo0VGoGQKoPvB2FnnmgoCFuxMgWw58Xk3-90ij_GgFfq3UkE5naDSB47sRZV5BirrA6g7nT2FkFOpgLNwdXXCyLapR8BMIf08nipd9G1DwclPY9qM_jUQ_ev4oJZe_P4J9JoWLa0lKENW1bOpbZeUFGTigQ91YFixfMPyyY51_2rIlj-k01ASoi1T0zVBZVJ2DOafmx81L3lcuancsWAr7a8rdCFKkvbba4EKsklvIR4ZHxvILzfcjFExxiUV6eJIOtBmUEtKW2UQmZMnLIL-0opG4QbzJkNEe5SifcQ_pvE5iGuqKTGhnI__NtChhjfckBn1lla9wRuIpa6xMMbJrGAtvJBVXyU3pUwR2_mQurmXuG84eAom1pkVkDNAquXWi67VHm8XN8GLbO_MUSCfwtJ3fYJoPM30q1BCA_Wc1C05142NWydWTzPkJ0uFqdonw8JB0pRiIePh0EgOMJqmQcSNb8nq7rfHC_8CoiifYhWW1leto2RapgQzS8AB1wlL48Kx-01-Bfg25y6Bj0T9SUHcSlqDgFOLyT3_y1xLMWIUO9eUw3bROWNVtAiJLWqD3v780G-ySnmiUslyPLJq1jGhePoLZHV4wISBQ33UV0lV5xOKrKcYnSaVGpWepRGJabKcyIC-jcrNhDN2_DSfnxZJcoCZmucC6xAAQxyBwU-ZBSzXr4xxxhPrM-5fnADKnnMFtgt-qKwGGw3_A5bB00iyjQ87fS0Mn2Oe8n_UW7Q6SQ85JLeDFCeEgW4fLyXVaexYdl1mIiPdO3rN-aoXxQQ6c8XI0loB0FNOpDzLJ5Li9Q3Z7qo4I0u9MeWVpByyEO7Dz5fGmabwmutxZXv1X18iMFCpszntYJ2zJZWj7VmQWjcHdlpAdly9cB79RpKmrfU830PTRs-u3zHcFf5K3yTfhStxSwX-edhydrOggFT4vOy40y0XQJ0k7Jd68fT7m0kS4t2dFnUAC7Q-JthV7rCc3kwEVfse8Ry22KhSq8iaAAKpZ8YTQuN4zFHry_VTEVmiCckbmZBXjT9THUBH3CLOZMvaa22k7GJAaKf0M8Krs9vGruQEmbRNJsxm7tZqNfaewoMQrgtQUh7Qox0RkQN2xcfZEnrtPQmkP8JLssVKtqfDkyMp3EDgpjqpcEC0XOUNhcVbLr4GDaGeLlmH2kqQwA8ehvYhxj5JpD81aefhrcYHmFX1HuchGgIkVRcFpoZ1IwFzvec1auGT8A4sf8nB3ROMumfdYgfkY7b0h4nR_SzPKNzum-_fPALoR3rAAmgadd-M6Zu4Rzqoe7Q_owZT-T4z6ZivSdiSAY1abNpJ3I634CKGvysV0ARI2uTnQa9uhbYS_J4u0NfDpSUgyIsZaK0inBia_n1q7d-hj3_pBQsP3r2tSMnuo2102OABWi6IgOrUECLHBTgKk9-pBBxC7c5aCnN0xXLGtOFklkzmSgrohkc7MUU__0Ilxab_NRCd05BrXNWGv7eIXnj0G0E2O5VF7Pz1qKmzRmIYIWq-z9zDaxow_Ono-VFJD6Wza0XyDwGNQxasWu56KkTXWWTmzzzNedemsNgOLG83v6K4YjzK_1OVm-em2EOEvgsZijgH0VluYdypG98mpXfyQO_XXCFLXTkWNMbxn2yACz_GjCUs4jqp4gtV_znA3FYzUB0q1wALJGAoVO1zqwDprWkUvz_4u9FYfeLamoMAUWAtin-9-PkLT908TlRz72U50q1kvYDXh9Aj5VnNbxYB8GTD14SEwLwWpGRGlddZe32Jb8H0MNJgEj8neqmE8bR9HdW2bOKnt3MEx9CBisiFaENisCjLi_dK5XY_LDBfTFI-qMVx6-j0Fu19XExGP6tQ7n69KKxR_GOR11TRaluIj6OFuK7lhvACYKQhjPV-hTx-rmhYNCovWjLykwT4HQ17I8DB-mU-5Y5LpuWrMo-2a5RNHTNZjDOXc_paDZOugvjqvW1f3jUmLXVuvR2bfmdQpFjYH9zfOx7OSMgxU8-Um2AuGioAG3DTHzORXXrg3uZ8OZFy3Y7IBu019aGwqg9WAVW8OQ5r1JN7MwKm90YYYb_8VRP0kBdLlScjk7d_v6AudI5jGPIXFtprcFBx_RY0E3E7OWDdlWtEoJT0ATombNIadbBIz3JIShg45f0kxNUN2LmgQHodV0PB_ppDDcp8N7l5Vdt6sHOCT0mxCRq_bqq4e177qn5NH4M-6BDGf6Aomg47tdgU4qGOPd1c1c5Z8fGyCgcV2c78MH7HigZGx7rwdgglB28bCdZvjgCvQJqUxE7SDJZCOdQtNEA2-q5H-mL3QESJbA3zwi-SvD1XcsIvXvr-CN5ZN5q3A7qYC1Shzy2kVno6BKatZoTNdr5h0KPIDpiNaXvv-Cwq1AyMGe9htWkzTKzw-dZkT6d8f0XkeVa9CWv2H9dUq4KqPpp88RFk3f0xqXJETqshY3TYl97DSO_-E70EHFZ5U9YFr16q-h9CkgLMxWMXuaTd1nFVUDZPyeTfnx7e-wA5K0GicDmUNqv04mY9SZLMwjGwyxU5byVLN8nY_GRJBgtGDQ7V-p35NxY9T8tYVuUHm4AqbzJzOz6qKJG76yStSZcvdTKKLtppnI112I1evqeshgXrQQfYB3kxWECtUdzIO3AzQGd8pWGW4zFkxeDYYbCvdCod-L76qEdh6u7QGUj0TucgLX8fCUbRzkb9dJcCTlIGKNr9Dzj4M46UURuyHHrqeWy_CPPi3hK0fgg2MXo0pAq-OjFKwwK4Wh5bpJdkcMmtOWVR8RD4e5SadOhCWUNE95e0bC6EjWwJukIAeg59qw_jmXXaZbhXhdR1wwU41UFxH71m7L8uxZuFe9zH0trt6cNSV15_FH8pbutNacND4fb11YmeM5yqnJTL6MLFqtbxeIBG4qqIZFEDqTWa3OJYR4PMrpf8pscL3KY1yCBO17aR8XwRQlbmnZzNfCUpdDS0uAAMPw2v1B96khD5K-qBmv3BxQuBStvRi8NMAOX88UfqGMSl516S0tKgIso6Wwlsi3fOo_I9xrOGqg15FFLoXgNjOVlBnOpbvLj5v4OIR0zs50lAB9KGg6yCXa2fcQfoJpuoz4M0rHu2oosNFMtWuR6KiQe92sLpPtb44b7jFDyUz2MHgdRctEjDhtWf71PyKWJkgtYtU3fZsg8FMx7VgAUxh_1qT6w77b33vWCpoOw2cFAxo0opkDYHTaEXlChwHV1h_3KHsaeTT2Nh0jyD2gMJZnTofAPjv8kulBU_Eo2WYV0QHKRzGPQbhXjz4_A4aNNK3ljqIwMYxV2TAEy_Aot_NFUp-0-stUDae_vAZE7FIqxLQ2PNcyTbbqoGqFn_ynvQjTuAJ8PFdsE0JWHLxOxLZaduz_rvF4gbGeDpWErwr6bJ-K8G3uaVFDaUBwPzzv5k3rD12z_0V9bcywrKIuVpwOaOQCBH7NGKzRR11wyHxijeF_k7xJsloE1TnE02XKkaG1Q-7GkemryM27-WUPjlGKT_VbvorSUhbuhEDrMVnMmhhP5NjwG3CXwej7Ic-DQkKqyiCLJzB_dF5kutr1xcDUogTlL1RQYxVZHKFlDHJtul8DvfTEv_nPwFmnESXvR2pq99nglh7ybj7zE5d2xTVb6f5ujuvbrz7r6lKP61coz5VxJAxf-h2to6ZvHygdD7dHWclW2XiBRgmGdQlMW5nfL0v3mT9fTIGLSPL6fP4tWQ29FH2U5pp9rxRgDkmQP11pWMYtmUIhzz5GsfSRwiIOy58zz6JSpzFdrkdXVdqUJ7woMKw2mxVcnzu9bN77cZAtIMJx36AgjplAo5DHXnUYwJOnrVB1dd7nxNHfAaKfDJil0pKsKOV4500HSw4sYqs1XRaw_6VsE14d2aIVBPdhp3blzkXanc8vIDlNqaWwnmRsVaQ3FfF2L1x5J45oPjBUFi7uiqXJGWdAK9qRJsKGd6lgeMWWMr2xTQ7mZdOB4aQk6RnuHAqyG8LC2zCQHn8awZSn4S6k43CFbJcaSZDKHMWsYgoJiQmgjPQxikFsaqEIWUFnC-TPLbHsS_b7CbCKdAyJzYy8cK698Cs-Z7IP4PFKRbR-azoAtNcWRKiz6-X_bJ-GWOE_-ZeRUnwn5BAfyzt6ydPr30UmtyRXQjbwiRNGJcXFZH37FK_iX2vAzjzhcB4OsP7ExstTxk5UA01S5hO694aTvrWCN2HF4BVbc0e7L2Cy-Jf-FSPVqdT6ffBsaHg6TI7IE9_JfWpXhMeu8umY-jlbeepDNBBX0AwPep5VmEBf9dJwbHT3uMxaGKwITqAaQpjqSbn5fkVKiSkWmu2RLX_-pbPRJ6TW-wwwvet4KizxyZiD7KLvVw_tbNkLV96V1ACjGCfxxKFizoELb642lJJA7qIuijKH0xnjziymnXEM1xKziCqHudhWlBhwFzhxz3yJ_P8dcnlk-75Kqz4-IaS9zCPxgkqu4rFcIAfHfWiMfO45mNHtewzPMbopm42Y4BnP79RY241oFe6gr7np_870cgLWgIfycWEcYZgFwOWBE3RyFtUwxl6KOw5LGsOEfQ2Xage6hV-O4xqAUFdtU2eYYpUx64U8DPexFuLj1vu9pQZkpVZujx8MBZ1tSZlKzTy_MxT_hx-NJ4-MzvtPa_64e8-zLqZvmqALq9Q-wRG9rBuxKCfWH9BR4Qs_QVRBBprGdc7QVJ3JtgID40UzTGdPgY2V-XP9ez3VzjHNP-2VaV2Oq9AntW30DLun23szJ2brfdSneJ5VIZOQ_ioZPwmISv2iSL8D5As7xbsxXfozdPDOjFQRAB8gmN5o-trIgmG96II6cjubo5EF9FtX1a8Ny-f7ltWzvt--N9uSYKI23Yed9i3UGFwWOORJQAqsz35-rWz6c6jymyvnGYCnd7XFqKOUchSOtNEC2RdFSVg57Ql6EiLWUf5nYecUnvDnlGkVkiwOdygq0xyi2bv09cKwJ7GpLsSPXmiTqL68x5GyRVJJ4T7ZTKlV2Pq9vwWJo9n-k3diS3bNepYgguw1S2mCpP5t_BjbGpwKFoUGBdprJpf1Ib9g982qknIqlw9I-djXSmSkKBv7SA8GBzYmUW5Y4K6-9JxEC4EbFCjyc0q6NbzWUI_zuidOddQoF-IMR6VCkJ_j8BlLSOjtwODsHqXW4SJgMHVWDV0suk5TsViCummynm06oKfFjbtWCQ3TpG1Tt0fxEtJcHAYyHRas7o5_vKocP7ah7HZwtqxVWl6o-5mKC3q_XlDYCd6rtC2ueiO9GtD0fXdxfcUzt7zqh9W5YLIiiim-Cugb7if4TcAg2hfICyl6C-Z7yQuWltjoRJ5mssRmoMEfSJOYCtrCQCrkooJUBEI1mlX_Y0bFI-Qe6nrcLepnf1aI8uvyDHtLlRENGZeaTYh40gGKWjWTdriEgcOBQvkxGrTKPwrJ4CNlW-RoW3QyoZxC5sl0au1N55ciiAyLSHswFdusEdIWvHGNttNnL38fledqUw4TbU-UJJzokq6UfoZiZ1d5I5UYCbsEh49XcT4toHU5DFPYxxvw9X3x96lfb4l0xKQgZaT1Zz6hPCfewS5OANsYjorJPEk6bcG-cvWHEZB-O41GR8oxHUVbRXpQZhC7qn4r4_xShFh6IFrOQfCfq559LJKFN_Plsi_ydyG9pdncKJ99J1yWDWI7DwSe5oOZ7nyCVCL-gnBA7Z-HcBMaKv27WGST64WQUZ9fCuIFyhJJjpX0nP8UOVBFcKpJYkD63d69q49mHa-g2hhSISQr4vgpCooNo4racy_yUGIF9rJ6s4It2gmogYZTBX0iyKyAgP9WgFrmvt3dXMHUHjPswmGeTwIwCbmaXeVyRoeGaqDrgHRqiMPQI8AhBbs1rOfEaXynQQ-9qfvt9yF6LHBaVo9seGIyazkYsbPCmw8m6WFu4MEEYRuqqUxuKIFqLwBP2FIyc02X84G_GnMHaKgL4P-NskgwO6PrJgT82HOddSqo7QkdY3Um9UwtauN_TmoISb-p8Dt3xDSFodsd0HSscSJE5yY7vTakpCFneC8mgdSVv_zFxLZrQFfXv-LkIInXJ5kyhY4IQbs47EX_0By-73cdCn_84ov6Ud3pazBjpJSI-FfVsi4H1X5i521UydGMnNDVJyrR9XjS0xHEWEiBzZh1hf8Oswxj05dmmg52Fcu-O9TZsI1zj4fVt9XVFNTJMCYu64c3bE87xh2Y40Q9S_mcfwLgaj18WjzUyWDdYy4sqrATJltLBoR2IG-3q0xZDhnfgwaf4MB8SUvsmKByjov2sTfLrT_WKOO3mtgYP1zktw2rVV8DQwpU8A4g_zFZ-qL_pW_i5lyv-brI_5MV_VMyjzLTQhcsQcauIkNGLY2zbBrymAhXVqyjaipYeg-yYzw0Gtn3RNQcWhPNJ8KhypLCDIqRu0JsUL7_8DughzCPAKojQCoKAps_wPQQLshElTrcc-MxtDoDKwgmOK43OPZBOeBSla4ZI1MHaGXi6XTUBRQnMqevQnz1wrko1la6DWRXgiqC1d88NBlUgoqMYw3Epbhm5wYf9l-pjCxH-VT6xE3hSKPEzIb3taiCgQWy7WcovbDJwdrktrfxF0RH1_OhVgbGzp-UhDrDvQR7sCbJabnYlxZrgLptHinElmleHGX60u-cC_zrQVS4Pjt1eUM1cF1ZJaNqY4heCmlU3TmpSSprTFZcnHvdRlGXNw2nCktOwBJ8pb2JQShS6r4U5-k2M9Remc3lUNFY4CJmCvqWS2zOOMZMFm8XM2m0ITq-pFdk4bXdJhZM4cIaGJho0--W1Amc_UpnNLJCIBdxBl3KichNVKy8OvZSSh_sLBTL4dfQH7gIXXEBMkJB3rl8byhD5BCzeMRmGsqIRDI_1gigOK2EOYpmZqedhzPonA-OcSwZnTB27fIiz-6OhVAy1bYStBbSbttlHDm-iAW3ThBePuakmKqsmWJ8oPdYslPbSnHGg8qqF2MlNB-Qkvp9BVyPsjxjUPgTfs2oVOBIB1HrP8u1UdiYCwXzogJ0IRmFPGci4lwTXl2UHgTafH66qQfMs7jy2mMhCS4vOwTA0cTX2aKi9l4cn8YXhIlX6J5-9rIEGQJcwOh3hFkaGC8FRs1aLziqawJPIw9B9-fa0weoMXyDNwBgat4--rgSwFgYps6aXio1pThzjvRLprnYcEwjMclevxWqeeuZCO4aES_lv5p6QB5e5qbrSlZPlXZ7Bnoaf5DkqGvIH8jx4CvkU4iTO1HSOwfqLZlaASL9LkGaYlcBTNT8Zl5feQJ5dkCw2D-mPLCGIoML_LTE_0gD3b-2vV_0T8pHzUaxFa8TPi7_7MaDRKCGPfbr7FojJUa2rI8RLTNwi22DDxwEywiaFB43iUYLlyZHv2kGv2byGUddWynaQqU49gdsk36N3eDIb29z5Bs12jxT_TZTtCy5JkW-VIUZDNWI34QNWilz-iH4iNglL8yTX_eEYtGa-bxR9CnDNbIKtZgYKpzY2FitWQD7B8ARrYMr0gcpSK-jjjhlbqQFRfbbnEimAh0MxYwGnujn0frxnwm7w9vIn1sea6mGE9M72N-PE7fbzR-N_lWWlYEolnEpvmqwu2Y2r7B_PL8REv5FcZGwdPNgEWJeYIDGm8MSruu-i2-bz5Xjfq-ueC9p1HhyoZn1cHQ0zS2FsYdZ50SH9QjpQRN6RUdlLcrAYcYs-uQzDxC0blUb-XVkxhyoaY8oDtQKEbA0cgjfjoTc8f8lVsPYBbgFUQO5mgaY-dISK3ON5J64o5C5uVxYTDgIhkuoeWPD-QeSA03LwfpSxwgApmEyf_os8zISXJYaSz6kRSGPhueaIdY5V78n_REUAzwAX2IJ6zvhektILjmCsrniJvTim2BhxUgzbQw4Xetg9hH5LXckIeHcqS5iUIg8Z4OWzrkvyzJBFGB1a8dMq6UbTF6yoNpQOcTQcqrlnjcfqKH9Iglvv8M0eSRwMymV_TiPx4NHU25j__73N4hOunaArV8xifphNuitYINeWYlrqQ5NbyktkCHaa_jOnVdolNLW-H7Zi3cu8n38TRZ4w4ane0m3K7NxiUeRyfhOdHysc8CSALtTZG0PmEc4uKJOZKRdTASwd5oGRzwORVEVZXJqqfjMFaILrnSpzmCNQAzMedaCJfpLMoH-hPvInF9gxSvJBSdT_ZjqE_PZKiYZAIhNQgxrQfbwZ92mIoZ9yMBsZtk5EW0GuVADuzmDZgOCUR69cEUuh6QW4EnvJdZj4w-01ZFEdhdiO9WZLZ-xoDz4f2lNy4azhQaJTMUAjL9nNwD7zqPsw7bgNPKMveEHJfWshik0qwwnN5WCnOUE3nblVM9YMh-MAMWjxBT4pANbUrTQw1cDw0saV5wS2_9sLyKnUm9CC8GiVBDngDJFbRbRgIo7YCjZaICOGAuIkQog1KcdhQbGb1Es1NN8bSvq2YJYUtIMzSVxL-EcLUkeqc1QwKrBBo9Qjhs1PZCgPWLiR9T-ViaTMsSceakHkI43392IhLrHSCGASH8FPA-569r-Ko0O1Zo0QJnFPBQobOJMLWVLHyVnQKg74i3SMVrUIv6-klusv1HqYaFNwzi-COUrfmJBxwVAkfLWFo2SrCP85Hbcmb6JaR5ZAOxwlMT2Ua6QtcxZ5A2RFkPiFdH0PKl4THnKlnJSfqCjA1MqdTT7GVtQygenZjtrEgvpb9pu0e2iomJKBvaemuFpvwP7ywVuKBzGBzTQqSNeuhe6d-1TzOSCRNEYGlSTdJu7D9ick9XZaPTtbOP72iMqqBalSAAALUoj_0m_BDJb7vPMcLGDI94j-9FDYx5iGxzARRkcSErOMDj73bHB1zA0OfwGDvjAMIRAGH0v1uIoCS08eCqAaMyXaw6ZAxV_YPouX_Jeq9xUoQWgk6GsthGoAAqjVuHBlR1NLzVTco3nTp1ov78eIzsVt8e13JmtUFun3QBFZwrfMHkebzLNq3x21BefMvnyaGinvvulqc8ZwoarP8kpVIwTh2cZnv_fBszm3qcPYDwMXZWYV2wvw0-aYRV1SDjUm17Mj-iv1YrB4utpntgPtQELjNv6ta20isffKiAdjc1miRzOHQFqcAfvwSB7N-RU3ZsrCBRmmZqFt3TOo9dNSGfCPqV5InO_UmJChtrUnUhtv8Qkh_XhCLCU9Tr0dfCUBwNPJNOwm9kBvHU8OoHt0NFJFgTyl_Xi68BHnVwmRUdao0CZ6rEYqHvRUZl8_DGaJ4DjE_yN3dBGlrx0hYFJnGGMxHJt8qZ2Br5hZkF5n7Ynx5yuZr7RuGCu3GZrzt8ERMvnC376zyE15QkiUH9_NHY-TFE7iz5ztH-ZycH1wPcLzsjTjK6dYd6KDZsh694pyibrSQC4yBqv3iBHjQXXOeY9I0kA5MVBY7I6CFC4DtD8clcpUtpPOUpfpm1JLUGpG2SpyzQBMwAJz5u-HvoUbeLLR8IrEqSodfNNYhxDRf-m45Y7VlQe3rLUehQlrhi2MWUDvxQ4CvVuUmK2zjkTBmQfot-yz05pxEQ4-yNSJ1UUmdU-cEe5pVrjloygHMvGbe-YYTORvTMsQd3FMGUT2Ez2393ueb13DFZG-I8hli3U3857iIxN-KIfSgp_yUiAnloNHHlxE2CS7zEMA-bJ3lWGB4z-Uxg5yfhLLhzl8Kl4-98skbHqvgInBzZVm56wrTGdJsm9JT_rJEF41INVWxogIBYt6LDKINSqCgTgHQlDc4mPLEyOXehZO8fY8V_HTsDk7G3f-U8vf50R8OpBrl-CAOg9fYYUs9jFHOMCYsvpoG3JlWgq5ilQUkYjeNILToDWIPpaEFptnJAM8ddZz3jVgUwdS2aZihKek0OHscRf32wPVcjGJW3NGhhfMXHc6CV8t2QdoIOGkFoyFcbhhk8WVLhiw06t_vNXENOli1KKITOaI4U586ruKhIl6JRTvJ5N9elLvPh2p5zOndoja5qmuEdDJ3svS20kxGv4JYp5Yc2UO5eFpZyTgGDFtGJAAgkQiLavgsckBsOfp6BS6CODcGAs2TE3iSeTkr5pKatbJRiK_2jssGA_kn1ZMkNmQe4CE59eB7Seehl8NOfLgHe21RFawzLn_gcURyDCwveGTBJ8OekcY17cw0htCVe7XQIsPqpbz1waEy_hKyCPu9j0qNdiPlIalQbXecpzpJYUaljPIVR8ZvgNVSQzhPjOKN5dieJnyY7-TWr7AiPmIppLUXsJFXxEZ3bJ5BcNq54j5agtPMJGcrIX4dDlT3VLEtw05sP39tNwwOPQF2b3ZvETz1OoPlmn6Lafh5DsgTs6fUh5Ht5SLXYL_IXwzIYzJVLyk-2cq-Gzn-c0NCZllOVGS5hsJY1wrx3ReZQhUHXauPVkTOkBvkQRbriZBb3ZCnFwELwKz9eopPcmi7kabyFDh1gFowbn85sdQ_WXooU1yCQsqeBQwfKJ4OJefdmenU0KV6X4zfPHh6_N_FNUp8_6hqCXUkSQlN102Ge4WYf39qeO_8QLarChcRPBon9oQx2js7ENAshSxue_eS5S7uamGS75iYXFd9IpIzN5aAjlYu8P2mGz4_DRYX4bz47b1WM_r1f6J--yOoEAa8EMcEkb88Sl1NMEkPbQrp8Bk_t20QGYbNpqU3W95DdXghVic8PML03ypArOvwOj9sHkLS7nXqYjhxbUJAHnbcP3fY6udpm6w9OPpiG_YLnIvc0j-dgtMuZOLSFo4H7LkfjcqM_GL9Tdc0qnOC-2WtRxkEPFxGPhkjr-j-IiPBUpkZzo6z0_Mbd_KCQt9wjazz1zMSSVcHNF8sVdZfJeSGWoRa1E1In-R8LHpVgHr42tE8Vn5v0VIH20rEDpnmAmECKijfKSTtPoXcTAlrcIqPWORzl12Z-3MNc-nsq0wdYuoCs47UJmoEI2lv94A0JA6Dg5ckh5k5yIwRfA6I2kjLZ7UNPqvXGnTFHYbw0gcf5m3yq1XhIMma3HBpnSLtOLAm3_Kjq_Z_qSGLaZYeSleH-siAsff_dt8Fa0bv3K4hwlDGl_Bflwm7ITBseDuJVfy9m0-Jaimp5lT6musLxypnFC7roqML_pywLAoN4C6pjtPCyQN4Ypid7Xp1lDYwTkwW_MrRFj-ZNgDIuv4MSUgqhElyglhXeamHwPUnNlVsmbEXNaIQlu4yTCAEfHEZLmEJ_L2tQo8JGmGF14UY_3hBKa5VncZ5ATUrDPgOEcd6tLP_hyCvgyWWlgwC6qE6Z5hfMK3D9oLnuOPt1lHZj4YqPgNoZ_y_bXCZGgU0Vc4U9YBt_DPv35UXlFYcVCvpXarA_lJfCsOpHEANElXKlc1jl5WaEdWomZfQYNeYcj2o4Tkc2Z7pkEIz76EJzRY4bqKrL2bBvU0QXJMhAL3Z5HhJsMjhwPOuTZs_BaJYn-t-MYkoFGkHltuow_jSepiEPM_nmwfG8xbaTRKAs_ws70m7Ike0aVUVecFqdoxiLJPgz-Bzm0N_40ZSVTyEmh-hs534pYjYBTo4lH-vr_CtgmPHrO9V-2bhz7vyrZQsnb2xAm1gTCcio4gD7eER9hN9YoSEAWmtJdf50zx5NTT7oWv6E5Z2gKQsnyUeqUP2oS-dETqtBvqxM9qQlaUylIz9fhPwsDAuo2t_ktVQBpO7xW-dZ5cvyvPEQamIRIjH9td2bV8X3qsvcFBnlAp_VLdKaLfyF_Ej-oE_MB7tMpWQx46gi-PmGM5EcJKjJLtQLgLpYnHBEMPxNaBpU9AcWl_Mc-zIScO9v-l8f8Deqon83kDV4dg189Eb2JB_AujQl2t-yVISNwj0MzTkvdQ04gexwmZRUieY5IjnYAQAqTWu7peIs3zvnUUhWABMOvHDlSoUt_OHE9lqYpsIQcfHk0I-050RYG9OMCd6kPpXvSQP3iopWK58XjIL_8WHJM_2lEsNP1Euvkdv3gfVbbltIPhTUHAX3mcRaeToxncBZ748GvOKfOFO3yWD2I2RaaJ_CMASwLxbGRT-P03U9z5JJNNjzTS5uuRK3rrMo7_PIwGxbTESFnx79xsm1WHOaA-oIYIq1p8m3vJfsyv1VrCPQSfliPHmlrJcZ9nE4Rrdzc8_GMdNgNmVQmw3VYFngPgbLwLbVkjUw7cxcpq38NdSrxH5l9OA3nYziW0Z7sHFOHkOeKTJYDx34cepZuSwPO6Eg7KiAOq02CY4p3oFf57JNWOf2ynOHsAN_nh2jBoeiXjHgI1siS7AzgWCA-03XFASTkMwGN5x9g07ZZN1JY0F-MhzxhGw9_ZkCn9o66AEHYit1NiRH4SBfl1r7ExSK-OWZwThn_b6yjeP-2RQzg3_Cw27IcUazWJ_H9w3A3CVGff7WlSbtjfoN_D_2_cjOFxakMDR64jiYFYZPOzCe8Db88DTS3acch5JZUra8Li0piqJ_4THgZhDE9S4NIQFbRqpLJXmM3Ck_y-kjaF3uKD2KvNhy1ZdiRp1Fecxm5ku_DLsqCkQ6vqAjLIHO9LtoRhtem2aUkpf0baJrw0Hykq_03yDhMulydkn6oS87UBwW3GXsfm9RJTiMs8xwMMglHLXCd649mqkyVuPXjFCdbhjf5WM3VOcDmMltOJau1lrEp1BT7nvnpeDmtg0OONIOsovoZ5w5p5mMFxMvNRZpuzywwGalr8xdt-T2rPTYl8i9EfryGoFm2_g6x7UcmfU9z6107WEUVuXFVrub-mBHveoFKcOsN64EIUkDqeBv3fT4Tsq2vtZkLTdBQY9DiAOasK6osO4xomSDwizFxjlqYQ--17P51Nb-K31B4MObnRhV9R2HrUkqJG_XPtsrhYrlUpFtm3VXbG4rYjmCjIoW0oDrEL1dGPzTr1OnSslGDdeQBLPTLmAyDuaKl1WDKQD6NGHhwLiyIm3EMBwThHCsf-0vm7b7bthRjztDT2xf5-QYk1e15A2i_FWeoU5Pmf0oSc4W6fyasdkmyfvqBO_9mUa3wv0B6za-hV9baTIUfacaIcwfOaDlPDBwTI0EZ7APh2Cs2U0BWagScfodMMlKoFHeIMBX-f2GU74D1cU1bdnzsgpXyy_kMwNbNPyEom2MJCDUwsO9mg4jiWR4BoavUI-tJEzHQ3PSpEQmsM8JW58cYbHqAX1vxI3oIoCMBVuI1VfDkCQ1-RyLqichtniF2CnsVybvxHtA8TtrA_kX5A3K8WIgjQEhybYevHtcFtv4hf7sjwFIob_l6Um7ZVxgqfr5FSA74ES5RLIp_meJ-68FwWmjZ32FINAege8_cbSOCbM_l6vl-FJQoYxz9mAYA5X-uaxBriHPZmdvViSUz2kGuTD6vNiuU2B1dsV7l_YpFb3S3A-XWLDcfTp3pPoAQMjQTpCaLHqJOiNBaRjB9ORrXTyuyQYPOU6oKSsQfvGPNDmbJM9e3WuGb-pWH3G9JTuW0ukJ305NF7YcjkO8B8ocCoFxxkCUBaiQYfEu605xoTi7NO5gUVqJ-Nggrm11APdgCRRi7nouWVbPAuLdqwla05bxAYvl_W5GDC0ZC7YmO0y_Yw48rv00uNp-FaEeNGAqpnbVaefBi-lr4ohbdULRIzeSwU6wRL2Sim9ck1_9s7xQLSrlyr99bwDYsV7B6KF8JHvQHIUAToFJieb8nIu_4kZtBhWBL5j83R4b8Txkhx1dczkpmgUw1UXJs3gqD-RYKj9zD4i0qVu6VeHqdhDKuqPQK66BbMzZ6C2H4HeG5oemgfF4otIMqF6o9HitWdiq1Qvg6dESrYlHv0_aLdyEt09n7B8ciW22Hs6l9iui-LMCBhpyP7ZFIahDdBtRX04PK18E44vmA6IRIm1LBjRjh9MqMbgLT81YRqNR5HLkX-3PKmugrmgfnklQfdS4fp5VXkeI4r1URD7uyKzvBUIjgIDNk9DUxeSxPEjVDS0-rAFq4s04pXgEaqf9JwHhPLOuL6A3EukBPQRtSFFeHs0LdfgQ8ot-C31KjAINRIhri05YlwpH2eLbNyo-WSN9W5XouerPdMYfoEFzkr-_3p4PGvo0vXEgg0UJiT5ioUHhhRqPVUvTOoDmMRg-il-UDHKOXXr6xzR8fEHVuZJdyXvq4f3al2TYJTUCGQ1F-KhoMeqMOWbwx0UIqbP-jjhTxKbeH55qHcqByKIhdBdxcXaALtWC-iIjy8OTovc86CwmwX6tA1iWqHC1HnSycdvVPNTKSFPpJ1v-Zs-Tj8XFkQGOnvuu0ZOLS1alUa63AAyhMPUqgMBd5oSreP7bRTdu2V9LZa2zu3gIXqi1XV2Jv7kQTmW31jcO_nLT9XUbQI4OZFBsr8G-S_KCLf4NnBPpxQUafTUfP46KH20RY6E1SBp69r1nLzsuvpfSgDNh_FXlOfEG1rBjGBPCan7HpN5IyvkJ5sqx6B53ga4Q_vncK73ut0jMkmktziBfLTTZ535c89Pz_0lIdn58U_BTl81ba-MCJy56msM9j6o6enTphschlUOD3hFSxG8QqWBcO8VFUcO0uZS_Nezjt1Nq4ghvva0UTD6gCoK5tqPCWg7k1akbq3FFnbMuimEREQjTK5gYimKrXweqnQheGB1PHb44T1xVrwAhryuaZvWks1SmrZGGduDAqw6F0y2DcQurYHYSkCCKUuaJs-87g9qIQ6GfgGiFV6COLa2sxhocAZiiIfZI8_0pQHX2T06aEEwZOc5FpeeGoO5T7_-Mzwhh5cf2nxiM7_t6RfPhIV93diC8u6NENFSB4r4UcKNS7pJGFJwUH6nOAJozyhtM-_bzy_92C0I_p4__POLI8suuY7XKB2XOV6WUsMyZr3LQwUQHhYY_VdwDIaKCX_-yQpx1y1FOFtsAVvJ1RZ0zDT7NQ30X19Ehx5QswbdTSN5xd8h5C12MTjx6FY8Pf76JVtvAAx_8eVtLYBfKmBrosZZej9DsXMLicEwTEW9qW2z3RIDAs2fusOLVyt8O0ZzH0oWD2y7oY-Dhjzp2r_9NjAiO0Xnsq3uBdWuf4oJoPE7QNLcVHWirfd3x7vnnLiXSMqiYvM8q4h14V0Z2eSpyBbXrPwV-mWnTPlmhzTqX2QsT4V_2DyzMyBurQlnCxbSYmbNz4k3DeWn8cK8_0m-1ONjLHXD6_5bQMnNcP1edkkyumLm-Edoyw5koYUR-mOVjBciBVrvU2KJMj5ZSPtjTxJIfuF5XSwqlK8y6xKbja9R0pMqiplG23Gw50XD3PnIBxA_n9Tc1_kW3D45ro_gH-rY38kSoKxeNA-uyvaZGARDvpPfm0rf0PJRXCWai736uCoJ2o9Ap5wNnJ6sCJAIzaCHl6o0LSPK2VmvjjEwoX9SdaNmbGvcdbQf2Bgh2AZNBIJMUN7uENpi_OgNpvp1DlyNkL_73pfyDzy5NK0I2F2pwNIfPgz-k9g6mJS5bjxJPni8Cl34IpQsLgCSn9dS0Kl-oLwjHuMoId5FKE_gJzvNu8sAkwOqUcOgDzpbNwiv_s_ODtU3YwAVrES615CG4Obw6VnLKBkT-S1IBwUpe9INV87zLHq0Y4nBKbX_f1Zi6GnM2jPtN5imiJEsnCa3_Gi3G4ydNT-KK4hzZ51GogeMYlk4UyFUaGKyYBPLZubNJLfiMeb25vZiXGwaQIvHw-jZp_WUExZlbTud-vlO6BMei1lqMz3TrjEIrUPlEZDwTZuoSRtZ0p_XO3hU-LKH21oby7qNk7bQ2DCwPNh9g5d3SJapZpjjuJFptUg0WrSkmilMWHGbLvaeYgdiYGpF6fvyZ7QHQylLnaVidYJFaVenqQ0TvUK1iaSwdEoZCk2NrSxxca6Akh_ZQbU2g00QQ1jK4cBc3Wd-F2zWE-PdpXyusQDNKa8Zs3fZ15V-K00YggDYStzOR082bHg1paQxGnUppRwQQwjgWQNi-LfmVuBnujVpyMloydTUqJIp_izzvUF5ESED1RPyRV1YrpvDuMB9EcKMvQJ2a2xE6J0ztEf04valJY-dORYKAVGz5FzccPsS0wpwGUzwSxsweNKvq_1_cUfjUrfzuELKeSHLaqSfU3AnhhI5w7GsvZLufuUg6om-XlGHGoKRb8jV6Y38LbU-lt5vJFqFCWMhnr6eRdwqS75ELjg1-891N0RfXCsdahqiSAtPN3FaIqSH5jM3ZwnFQBYD5kcBo65YjfcOQdJ1vzZ4eAkRrhh0VpF-IRELOFcmh6xQTJFdkj1wMiL84-aC4QFX6Cwc_RbRO9UDn7ngXT3-DkIRNAn0V7G1vjtQINkP5x6MRzoEpn-598gmSpFrIX8Kd8p__ctMWEY9Eb7RwKbWiv9GQ3EXfOP36FNeXuBpydvmLqVdNH5Wxio-w3VzCpbRJVw7oswj7LA2RJXWudSUuNXCqOH6RRHq2cbw1ICqTp6hEyng2MvywZ4etkb9OOwfR77hMyYPcLMLd3Vt_VuiwJTMiZfZh0AbWA3uWYtXFCuTsShbHcHBYqTH1rRilJbK_Z6LQNmLHwqZ-kdRv2vObiI-YjSQvMuRQDF_x3v1EapIeIJJAzN9I1Nqw27Yw2rjo1CqQgoYTVWLjPWc60b6krG5IOVUIhLibRRaqNwWzF65_KMaPy1b_4-QuuBbid80_-hoMsxOcU0AKltYyELcplbOwnhp3jzQ6eyFsr-LWRpuNSvK2kXz1iWlp_hYqgBc8UjjKx7lyfj1spasJjQYL4VU0uLphSmp1wx_OVg3SVw3lYZmloG_u5jzr7ZCUrQE5yDolXOcWE1wFN11IMigsNmskg1IIBLx3uouhamYwqYa8-KCknRTPJw3vutfHhzi9NqC3R6Cbb5zRhyITK6iOvQR1LlqabOVO5zyjQVbp9ZQbM7FmIBEchGw4lW34w6AX06mu8DZKarknrl9epMoBmi2dxzEQW2IwWLvyCAHzHefq3fM9Fow6r1wHGgNeNKcH_poAYqFCzIJDJo7LR4dqEUMFmQ5IG0_BfuWMHPkVfFe-foCgTKsdt5CMcKBtRhbN77PMeZfIagEJ3x71RJcELstL79bawPsAzyqcbIJp1_XAaI2GUGizWlDDKTSr5l2MPAfoXxlP4N8mvCg2okODLyCx_RpFPRii8gUUU_wPaoWStyxnLVpP1DRlKZFViPpQKeIgFq4gfPhqwAPbXMMYtyaP1rdzZDRUD7riPhSElOME4qkJ8ciedUaNSrZrgAnQ8IaM_9wcws-t40BoPh73UmPXL9vWaUyvvCb9aVOu5Re5_aOZV2vMeJK4AEeH5PYHzlStoXCKlkyHC_QapIttUgnRnARJqb5Q_CvFrVpWqv_kqREhBySHdZCaPj-_zFgbeUuFrExyQTHDHYHonNNq3ZJgnDBPLn_Rwc8lhSq2SemxmcLSERDTNuq589BVKl2Hljs5dXFSDYhEVRlTW-Dm0wynSTFT9AJHsJKLz5x20TbyGc14IYCX1DvCu5Wkb0hngb9XjfQY_rJpnmVC0FqN5i2n-b4HTVXf_SPTCB9MTcOY8TeQw8wWXhY1kjA5IDzZlYXTuH7SbV-KH6RWmbSJ5mPaAq4-bSjZoJqBliwO0x7CWtKaBet1oiIdDDgesw3JPqERCo12ZoFU_-GERAd9pKpnbelgc-aWGSDREqUIm5q3ZpKGAxhlf1-Dsl5Qqd-fAwNxNxmGdIoR7D4LVXP8zqlD6HDJ24uq2PymfwNqnsnKyn9ULCnwIOFA_ONz6XcDluoG5PJQCOouSifeEK4DSNXzfnX91dKfC-XBJZS-WBZzFuBySr8QyUgAydHqgLjTpoRmoBbB1YPz1DR9j2B2JidAJSNp3ve5owl5KHcVNp_7Uqe7YLZM3C2Z1ZmCFaxnY1vr8B0UyFz8d5T14r204CPmQCTPGcwdpQngPihRgtUoqg8LE-yjN1AGNMKe0GeXhh-1g1ShYCebB4NFwIZyxwuHXH8I8aX3so-VU64eXLoTvNUqu_HXUA3IWTed_W6o0MV0x_8ww0P5Gmuk-L6-Pbrh2wp1venZqiaN60HFkRa1iJfyb-zGPkOpVIr1c7JcjGUFdO5drlYTlfHGhWfM0fdj1L0eDGx7LtgV_kK1SqTkhXSXMWM9cD7pP3OSMKmmPee8ZcIAYchTpAEeolGzOLNsKjCxdCYx9XlAdcuiNWRSwLaFf9-KS5hJwHVBYhKnFM6jm-t5y7_mUU8m5DvOruTihbl5jjuftgKiAOTY5mHIX-RkaecdbWIQVa8p2uBBLQxqRytANF2ujtLrzfICozETIOfagKsscqpHHqL9-t_xhkCzW9AK_V7gOXK32DWBlADLgpcKyQszUYBGzUOlR3cUX2DoezW9uMVvY9vZnxK21NyS6qiZWpzLbnDCv2oeJSfwbyPonXy-y6kBpIhAMfGNOjj2KNYc2E29ainiPpvP2Go1jks4xPkFiTpF9VCPmy8hf3qEa1CZE1STQ-bIUHIkIOrsIrEUMeFAKH-WpR0_bm3bN0MNz0tDnDzWGSoq6mKr_v3sSUcq1ymQgKq9Kif-WyS7Zq-D94gRKMDo_sR7K6wxqtQH9ilsu2sm2lqYbb9QGo_nWObQX8nXWrtGj7dglIYzIvnHPqyd4MkoxNKTjvk1iQW0WCD2Bj23s6vKhjtfp_Qg6oUuM_2Lx6w5SDv_71etjpKJOKwR6uV1TM4QeMtTMgrffcgakUef6dcMkuropf6dwHwJ78pNj3TVsseLrBOzALufWf3RqpjzJvrHHMg3CUCXW0XDLqKgeRoXIfvum6YGRs8a3zRXzweg1Vz2aOsSq54hW0B-GVzJqQWDquM1xx2ZrVWmh3mf37YrIqcW3F_uHnpqQa6s6cWEaFi1qoJFmC31hn1rteRUyB5mpPpaJsUIUSrrd-SjGZwcDabLA4Q6RUHA65GDQc_EMFGVC88ngQ5YjrX3oo8EEr_bf22GFQrB4eQFShfOSwRIWoI5W7J7c7Vw_wrbQo1UGIkgMY8sN5zn_OrS57NMu7jcv1TT2BvERRwOxkZFITvHGxt3kTxKub448jokWurJHc38jTQE6UFLANdMLnpWgiKR-JHRAqfLU34pnCA8BfFsomgvunBr8j1H9vLqPv_Andn9th3Mepg4N5pAbYi9EmivILnvek6ogEDowGjl7Ews4JFjz_mENkbt2loW4bOccCszxC0jENmd2eoNtO_9_fL9TE7CPsTiQJibo6dKeBZ_6it2KUvnw_fMuMG1Bk468kvl6tnXcpXEJol99u6LhIADoACJ43ER3T1PZ5S2g8TNFPFjArLBFlKgYPnLlXEdrEIi4h08Ror04IbuxzjHnB-fghjdzF2fOMlg5qGZYgS-mJw-1WvxsiFdH9yzNsdqjAbFgoPQRRATKhb1i29rCSawSIC3sECeQhNRg78oLhU1tIMHyzYzhpaVfAH8rG0UM0FqhnOu7O_Rq0DQ60ob775VYhj168vYBioITzozzK9PEoK-j9IMom7yfgaYcYEFP-57NMkF3rdY5eaY_qKI1GdSBbbnEMVIFh8q5G5mzQWg4pLedYnaK-AX7hJRmJnXtXIccXzf_qUjeE8vh4o_HJVkCFZK58aYsdRLW9N6d2S5wWXizab2YJZvSXBgHwzlDT20A31Ozalv8b-eGxcLLCBoyxmwYXvDTtd2xKagmpVb8ecjQQKb4jh2Zdnr3aNyyaJVguBAppyIQHoaXzmFMTKDYED-ZtQ00Fi4Qhp326_qdcwsiajPu6UqIkMFztE0wt_5nytd7oXSAvcVBMLq58xZUfqnQw9r1nNKlIq5QMRQBqlRsUne6gJq6bCPzUM2Iw6Y_edvHR0MPsFb0RhlW4vQEvgcvtg7NgPXAGoENOhZl6ZD7pAwTJgFzZa24Pg9VOSqagYJjWgqdSv5FlWPAJHQfqooexiocBhC5XRB2SqnPxjUCzII2ZI6zU4NgwuqnGtnQF03fmsSvi8ZyaKA6gKx68OqaZTWt6EtYAAAA_pk0GeFqZLfOmV6N2oXrbOh7-yvwmDjgJRqOO036af33HL-xZlBFkiUgT4Sc9eJP5_F2r56rlRnWjm3Me2daqpjszZJOzzaBkLCQ471aZ0SnTaQ_fjRRZYPe9-FhS-k8SBns_A36JHtfzH7QD5ahTsPbwgwhnjKwxHE47ZXr5PMaX6TPNyZYt2PLqpPTCWNDtFuWFM3Jypf7CJStlTfBDNpeNAS3nGhP6vg8muHqD8FAPG8Py4pBiIzw4Ci5aT_UPeAioYjhAfRho2g-g_vhsUP_hFKDhDfw5R5RbjRPlSrw2fLjsOqTxwUYm1glDrUY18uBySI07Ypb9OYc_apz_mOrWd_kLnZ27RnVi0BROIxZyw8w4ofXopOeqcuqUTM7gjfAUXHocquRZtWJb7kGPdPqQODTHC1HTzqziuqauut3nyQFp2CsMcLlnLVM4qQ0E2AUj7F9TN0LcXJ4bQ8G2VX9MkMJZBo8MVfuc_THl9YJVzPnmtHaGY4D6e0bM1U4aqtI3p9IIzENzbLeuSLg9kZg8VmtSSsztDrYW-9brjATh9Fzzq8ERF3A76ozvfAGyKL-tNP9BkyBMgtHwXgxIHz5VnD50dWsCw01RUE28UZLkq89t3RogV_K7FxIEWhNJSamOzTpyv460h4QVFgKF51uyw7UAO1rF-BC8pUDh3nwNHXPu3AOn9gSL7Uuaf5Uu6gx5c9sgJkv-1-eH2UnLvVJU4BGu4XNSui8M-AvzKJZP57GZkTZanYE1up_pPgr7F2ir9E8ZgHZtJuR4DOAMIMOFOBQ-8VKx_0oQf_pg2qsuV2xGcwkLXt2coagBTAEE1dkxKFuXqwJ6hTqLNzpM8RzrsuL5cLJzaDP3wQj_r-BgKnV2fR4FwoA9Aeun1y5WOEnNhVRo-nD6lQ0T4RvwJ1csu8zkmYQelYtIc_yLxP8taD_NJ1Rs0rl0C0CaGqVtUgEQ6Pqffj1CYFGa-znWv6SXn-lHBACOAxCWrzMs_ZRZ3TXLJRlsMxVcBC_W3472jatLMzcaH_kWj8bPqUoZaYtTzXap-tjw0fyJgWHPfS5rzAi2wPOrYgpUd0ELpqw-IBNL9rkQ4PZquapxkT6lTthu3xzwPV9YV6GX_c1fV2DsMERlGTaiZ_ngJ6cnsMUR7c2mu4psMruwq9ovBqRQ4vdx5cVyPhpyThfWe3BikE_oRDnZqWcDDztA7CG7g4CyOa0a6MI-sv5Gq_4UywkY96EgJeaF7aS5Q1KPQVSCu67UmI1WQyzCBwQ2zIOpnwOJfa9zklAa3k9cFtTXy_BWawYzM9rl8qcBn68rz-5OR2iInf6gbiLVirk24lPqsLvRKKMZkDfkHi_MQOrOw1J2LXr3T6yziqYyfy1ferKTjOpQDn1nFLlQO6Ifgo_3XcZqi4jka5VGaOnobWBxyU4RyvaVYytWHfa1qBeYkXAi5DR4DeW7f-lzJYv4rfDckry3huaKs_vNCfXiXM7KDbj-DWccdIABjF7RDst1GK0mkrj0p1Lt_pG9SJWZow87eajvoXKgtQ-6saAFfyOa0JX2ZvYx7f2T-prZexhuRle--Y2sZwtipAFWKPwETHD--DodmBOE-qN0pEmN8wIaL5X0r8eVlVCU8CExldAUN4r58PfPr6NC0ZuycAnB-3gzFZ7JvPv9up-vEhQYq03Jjus3RicbuYVSyL_hIvEIgBB81oOjmpKOiDjrZn4dHjExiZyixVYVAzmzzMGjdba8QeKe5k2vT-oq6AU7hPNO6fH3QpeeR4K77hrZRPWKc0CuYeRzaLzxZ8iynBiepYhgJ7S4FZ5z3vRucRSrlun80gABTcMeobkQ_erx9nqZ-vmIFKpAP2dCiOvA9ug_b84a-OlPGaNeqhlzHQgj7LjqBaMw0ExPClO9saQfwyxjdrN5z36oSrBEGUS79fq_RwAGizcjPWQZ5V4ilT3rmPDvYpBBg9CfmEox_IYiFjDI6T9fmCTNVotn-4rMhYFBpVdPwiTakQ3kiDbCBatZemzYwcVw82Jgv2PuoPBKqHT2pbRIHUkjpfpnweD1KlUxLf1tDDBbgI9vq4NAjAQunJSVw9QaHeGCjqdWJzQ5yavIsSLp9SaksItEnqchtz5_SWryCCpJIIOL9VVPWlxZS6mdU5OIRFHp94--f1tZa5OsmaSzNUqWiYYooCrSNbNYu5iyned85KQFvWkdprqbmghsnW7HDb7sCDhxCwmsh2WK3WOGPBVXjL3GC0fp1-rnrngjdf3EEQGrD6g-dLgBOb3jk4Dwlfgf2V0rQEVsw-i1oYwcp5QceQhIGiqMnX73UEsAKJVEfjCVOWfZamGr-nh4SiZHBW8Eo4ihoIyyxK0DJqK1_mTxix9BMtIL-S6vsu6DwnkIpE1U0pHJapHLjbb9CJhVSK-G64EWX8lMCi4NpUVKm8av7lG9aAf6NHYkKpg8dd1SGbdFfzPxc-fTooNluuvXEJ9v1oxI-UckBlcSJXi8LR9NEbU3mBMCIOOJuzz_-L6607rDclm_ZeI7Hf5JOoFlqyTdeZZQs7U4DUanLGBhCt9FfrUopLerhckR76bmQnCSMOfBNJst4tQ50VTn_f5Z-ODAOpTFtKEcghObWOxG1g_r-QHQHDien8QT5HL7Nw_izN7T4162NRQnNxemphrFPRgDxHKqjhRE6awsiiCmBe_YTlw17QQPzpEcRAVJJFxjXGq0IgoVFHtCuvnQF4Hxmy5PL6fu9eTyLllkPUtrrhuXvgZM56nWatEf0KsX5tkkfCt4f2XF4S3bJt0kQSkfOmemSThn4q1Li_qw23TiFEWJ4qDACVWjEIr0GKvR7hTEq_-ESKyhGggN-cSN1rD4RDdrNeJxgMsS3y0qury2sridIbouNtTflHvdutMcN74CCXxeD_WfnnaOWJIog7e7sIbtKJKFnnxOjQxntgu_1Hlj50SxDltzt36GEtFaC1heu-Uy8bxf69fcGEoW_Ufb8rhDp2o36BMTGUWLVk9UkeExDhvV9yMLM9ykCGslVKywQlWP4sTi2lFs6PiR7NstZrGQg7CsjfXvwoO0SihvIvkm3rUtBYZqbr-4JmyuyFftAC8zF9KnDtaoc60w85DFT7474mUpmSNyyHbQwD-TXwTdllZ2HVDM2NolkjzcUPmVbLKzI0wbu7832766TOBQ97SfeM5fOLiSVvuWEGN3KkkinkuceWkhvtPyMkfmGMZC4AAn-p7IT3EO8D1S5q6sdBJIQcNXI4BN5hfI-QFopRLGxlUxNRSA5rztRQl9GN4fhTzHHac01c5hoPf3KrZb2eY1ydpmIeDfkfjgfWrTsyf2n5z1Ly1hiKnhmBSh-RfuZCvINzWHQ1zaYm18aaiqeeyFiUEUsn9x3I94oqBKaqPT5elbtVobRORMddv0-m9nvrKnvskdu1uNduuu6up8vVmGxjzDOFFYRYrqV2O7DW0bMfLuE3U5z6ONDmScg6wj5Lr0krCdVC7DLYQ8ETtI16QlVAdh6tCTFyhc0Y5vcH9zpAlt13UPXF_hy_7hSTQXnSx4zG-hWpZrZlbSg1W5Jkiqm_jdWQbhyIZXnhX7sxQRnHWFUlCTuCV7YAH1yya4_fKmCDtFvKeidQWjznGMiSgkjkQgLVptcx_H5BzNeC6QSSk182VPkFz8HrMWIlSvnLXs01L_a1zeaSPKehhHr42vFEG4f4bkaWYhGaphQ9dmw5d83pnQOechnLwBU1ZR0gmaQ_4RZwIf0USGMi0DczYeXDC1uvyaoidXL6BQbUGXYanH3KE5Fn-xcqCN1y5-e5kL6c0UKiDPxC-nZAAglARPSRqhtKIxZN3kbPytDV9vnj02rCWeocH15udG5Sl_03NoistKmOQBX7luKBrhEgxTXTTvIE6MZ-BwkNKeImtjf12gh0ZFfMQjOwV4q7wKCMsWc8ZiuqsBHQEuu09poN7klC24v1X7lIJKZXfmB4gxm8WgOYE2SGb0SwE5eKu58OPnL0vGZstsNkw5xuVU6LGGde3Cg9C7n8fQeQbAOFNdvXby3evNTnWPsZquMyarggs3CNqV8kTtEa98nYGg0tgGNc1RnB_-EoTrB7IFAiW-njLMT4owow3jJGjYH32J1QcPmXxZiPDeKYAFFlEdTnWWTMheEmx9uKJVrRrrbR3V6V-UWOqlNPTJJaXFSRd_DrS88Bf1LvKMGok7eZBORcVZ4tmbUfwNG_j_srrZXCrvsuol6NUpfmVt9h-VLfgjlWQeeRoqL2x2YQ_pjlo8NgG1mIk_9bqWmSqGrhkJpC_VZXzPNTnflf44FhnHcwexbj-fFTpfbEcgARbnyJSQTpHFO3W-HQwdpsuy1TrpGFwr_mmtcteSuKCdNP4Yx_JYzBc8-0gejW_R9nwMwWsnrYchA4ttf1iRyTxgdTho0oBRyHy1tQVwY40wDsUy0KDLu8s6iL6uNgnJ7_sl_hUbrcY5oGGFcq-TaFqKZlBLIfcnqGqs4wBX1IDYswWUv-VrCGt2BLrePhSvIork8f3FP22vYW0_xSeXY0GGy8aiWwp-EUdYIF5ZYVGwS6SKUR7FR2T_5grWOM2t1YAxuEUaBpUr-JNdzADtQERAGybQfhyuHvmkiVtFQhvXcX2mJ5lsXo-xu_8xjOYRVm8C9lUzj-vSW6Xqg0KtXZC3uc5NGWItAWIvE33KFla6MtdOH_ycAbfARyyoE9AgHpCDEhTPR6EFrkkkiocxjy_Cyooj8LDaQl1jTMvwunyvqM1yYbBKGKcu8M7tcYjQFCHC3M8eQk4eUaDUT5LIEyhhCWSY_EDX5MG5hEjklPyb4Bbm2thbblpqpVmXQZY9aRngFMZ8_h5WgfxIKTY96ra_R4db6va2_IoxgZ_HArK80IvDPfZlQRvQnX6E-kSqeA1oaNAkDeE57DvWCykiQEXz6EaaNa0rtIehUBE1xD9mOpgKEm-nIR1wwDt954y6FXqhOtiYjlc5hkJDmFm6Lv6reRaZRle7ewWkWvD4gjyfQIBBfKgumvHd2UkvCiHKoFVbOIVmJH4vVhym5rRZy8Z_JNdkeIMc73i--f4bDPRwQHqOb5cPXpg8y7hSITxhF457Z-PUBz2ku59C6rweHFOjplrdg2475nAMquNpABsQo_N--MuWs86iVcwmyA716Q2hIj8ew4c85rFXUJfY56T-xplWo7zDrKvyKJyGKuh2_ap2Bb70a4M0Z49XQGDI95pclqno7EVqhNM2AVpGgOeH1W_8wBojM8G_YWMVTwDYVBEhwRxSdXnLeoJTAzSjIS3FPRN0xT76xj0KMADSugLIQ1BsUpKxdTpnmYzIQup_6SPbEPNzOX-10Plp86huSEDMHqd2D9ycuXLKa1qRTgH4kPqvHX0LBnMujrd0ZBBTMDapvsbiQtD726aAkGvuAp5CigLSPuRTdLKtRk9r08toRColsRy5mB4lpUBxHlC4Wa-j8ykKZlQ8kWtE4D-pYY2kZnruc3GtnWApvRqjCneQQbfdyslyP6l0kBFWLhgq0Frq6XwJccEHz0jYoSoP2SczAibVf8-fpSKMTuTM5kc6Gqecs2tQwndVlnBXi4dvgAOVge19E64ZAWjJsF98_ErHEmcUfOvNAq2N_MXAOE0sDQG0un-fWT5eoyHbrj11X99k4nVKdg9W4m0-TN_wb56kp2V7be2VCAHHiI8tghWh0LXrbn3pe85zJEoWvIAhODLoUfnn18QckjIkOH9TSG5o5Y2nqfKvOO4aGhV8TTq-YeKqWX4oKlRVSgn4D8I6wvbRhq-w9eE7c1RaorijyM-wanmOy1MmLWpVi45243mdlbH-uAjT76KpK1wSRj0Tpf4RStujEZln3WyTNcr2In7Qrl6xkeaS-k-ykyVRKgYr3lj1jg8v3_bgJuaJH8YNopnuBTGC5M0AGELIRhTg8dE6ZRmRRoXXc7D2Ase9u4Fime4AAf_5BW_5rwXDyle5HoW87VKlo_sxua0X8a6ln76j_2fJIGA1jv8SyGARVi7cSy53P7XpnOJc2j2FY2TNE7yvqesOmxLUyPDw6rMTQZtD8OIb6BOlGen1iV-OTMZivK06u27FhNiFwXyUzkqDCZdo1Vm_wkVDapHNWAqivjUbKiPcKdqZM5swN0keL9joSKpS8vufNLRuG84cchUydLXAi9cTxxzuwJwr-OiOLU7N51zYhrfanlFZuMToQxTzaSGLy7Q9_8dKTOqIM_477zHnp4Rilhdrj5D-64wxGP0t6oDKZCn9mYEq51Vbi_Vl8rhGcV-EFywUbpCdybFKqk3z9Zvbt1JnWl4d6lzC86WVFmSOquEJC4Fgu9pEgkc3gEBlB-0fJFCfqaI_LC6vdBTm3_NSKxwl_IAMVpKdFRozhf8XhXaxtELiuV7M-z1nvludAIalorUHfIFSxi0KFc0IcB6RN0JfleAedSFK4yKFuzU3BJg5tRTTJNIe36I9v8WQt8qWtV3i9-EGM-QcO3eOoDeVTBafHdV878uz3tH4d-Gs4Yjl4rW-KHw8baKu7TuUDN21d2pknDlMzXYw4CGHBWrUj2rmIiet4qDwLLogo6g5iblqLsTCiSBdomfm_oXCmLBWX30TdiUQP_I7iMopnxIAYO-QT8CIBpYFpf9QbFY4tefqUj3txiIavPnQ7EGo8oY845zZmzsGU90oh2N2Kw6SB619Zn_HO9qXJf0UTc49hTshJ77NgNkQAHiT_4IxckjGn21hMXkZHTomi7mSfWjFxakp04KZuxYdPpYGU-_CxrAq_gBSlnknjGu8N0Om1ao_28Z-zR4e0A_sfQh8k6zH0-1_Hsfkvrst3ZPu5fBdNFrGGyzfprj836k4ihr0oFZI2GaEltfNCieM_MqgvnzbWZ84Bbhb6uOB-tRNq1qTQ3Gn5KdSnRgs5ROtTX31bLXzRQQEQduWyC4doHyOSXyW_ymJrzWqgaQLFGbUCJ-wnDLLdWDwBNKhWcCU5uACf3FbPx14pqBuUB9-LA0UwyN08ay56q3eOJh_f8QoHd200NLO3fkJkiSmWDGAwPw10a-2NnD_1u6EfVBrc4bMwXvwBosTV2Z4CpY46kg0xGicGNtPnmzkiqD-DgtDpn_dKBlrEH0Cn0X0R1cyfKi6tlDZDyM4cvYu3KMDYxrEOeU70C3y9Mnl7t5c-at_XrZG6Fr-STNYahBERHqp-vuM_YcHpj40197biZW0Ds_eeWpwicHFTVa0FytJr6iS6Xs3cfhn7vC93JUkL7omu8ia_r1yOd7kMDwUoSBQ06h6yF2mBBWKnUeA9Fm5lxsbFDgQtwPbkT7-pdkPEHt-hcRNjn2GQhIY69dbZ8gqMZbzneGVOQPD3unE7SXGEX5HNkY4yHS2QLOHzchpMr9VdixrJc0jae4qCstL69xSd9wUpqpcRboSRdtxT9Vfp93BmRaWQgdRtjHkP2kUuuDJUE8oqaluDQ_fDHYp1cusGBVjX2Lo-3u0r9L2ygOLc4mxFzyjhUEPBPfI5LNjBDZyHnb-O3gYEtbqS6GR6pV-5qHEnvlz87jUldZvPQ688M7DWwnDANMNbaPox3Cv4WjfCH0NjVDIn3U6ZpLPH5_jqR9XUfRKvLrG6ryYTKh0t_nUq3V6ssNKExlka9n0DYe6II1aRGGXBfNCE2bWK5Rfo6fRMTbLcc3BF2FUC6lud1gHN6vFf_oi1AtD_ZTu8R8ikTiecXuEbVY7eo0RhDCaSO_1V57cFlD9qBiYFZ1NQ3N_KD0WLPkKkSibFcS-YBCftFg-FqRckC-h4wPh_xPPu1aRnmwPEcl4Z9q9orwEetbAWNvtaPQaOmH0lWilLRRnRAQX-2rEvTXmZYm-Fmh7C9cKoPWprYZbKnRUxZB0VOcSvGDSuATLABVZdnz8IC2vTSxI0dLFSv01-d_12xblPReMW5Zg_L0KD7L96pspDrca362BfFBk-IKzVuJhPZnnTQUN23vpqB0KZ9qB4JSge9Dt_NNSj0AFkpOZRwe4FAhgRRYHbwDFIFbIJGn5hKAnGrupwA6RGmhxPLwh7nAdOIET30dD7jMKVnqKoG1C4t_FCm8hm8GtPXxiuyd4xKMMk6wBOZCbnZd0qSwPtTd8wDqPzBpHqvg4YSp7I6Y9wxwFoKUEN7syyemOPY3V8CzSoZV1Z2u7crJ9XgBWBVRgnhl4ZX4M_PDeR7ranUAHaXCrW5Rs6jX93sVxR3FhufR-7a15ViasyLHdrHdaL0osaJc-uylXoGsn-5Ke2Kwl6aBnQzixa_2kuicXojX7UDi_Ohzfu_vCLXs2O5vRNAPPVLE1lpSQWfunSQrOukva1xWK2Jave7DHRN_h9hRm2jttoGmOIS48rCGOKwo3bY5B7WM0AjRRJ63Z6VodfigL6IVthVXTrjXg-VmRV5RxA7IezePQvoRTyLJ1XlPvWjUpNZXPciPqQoIaaGN_z2P7qf90SNi71GJ7OqAAw84Gt-v6XB6o92mpT9j5akpfgH_pM-mv2wtEpAC5MRr4ZjvWe4izGnobT1o4ferkZ66ykyaXAGtnP8bN93LjGf6bIQfFlNl5OdEZlz6-BclF0h-05Zpo-pWuvH3WtDZVHUjFYdsLnXk61GdTmQaAxHuSjIaD2EK4kmC8c-R-6zucGJeUHnsIZcWBEPlFpFfEwrGP0b7rqogAsbitXf4OOtBTEVjvvAqdgWZuras8ZG5ojy6yePljN34CI7N1Agp0KwYiszRc8JT_P1NN1RSb1TRH6k4WlclN4qbozw7SeTfZM1_GPkO13wKwavDa2Ko6CJTIcl5-pJgtfcZ8lbE3XskWrbT00thdbo_k76mcHB4PcZon7NCbCevLyz3j5B7lma1HwUdaUa-gC_g38-ssALrcVuS2i07sJpXWa8lhfk76BQze1Z0MXn2oXCEZ5SKrWc9hzMcwgPCIDTCEqA25Z-B9HK5QNsTwRMR9DgJZdcbNNnx7lsrj39JiGUvRbeMi6HLsXiQ7SSPKTHwIT2DauvzL07GP-xUeCZ6hYT5nENEJs8vCJFYiMTX36LRc2JvGKcvl2-XU4w4U8sjoE3njQbGmINvVpAloKv1r5WjuwNBGFlnHeHRn-Qnm40Di5npLK43bUh5HoqDKQpFlC9NE2x-Z42zVFeqnGklGWZnEar8WM2qps39_9C4SSH9Kut4k7n3rE85qt3JO0M5R49aJnsL6m01OIzszzx-YxhMUD8s_7Aa4F_1lFGUPOL7RdTh76umWKJSApl76yOeuNbvw_u8vxyzKm8KBhYUFIrQBwoOj0GRZdk6mwEl2X3uLC7OVvfmWV7ltBwB1theAsjuvzom2UCGBPIP0mPfV5odO9DEEfAyXRQwrf7OJ4Miwp2WLNH3MIm7X6_6r9Rfts9bM4jwdNXon-ZGgHKqEL7_qo4juQeTC5uPYzKVrWP80DDy-31IVTnjWZ3bcUQfDrxJBV5NUwHSRuj2gSY6tig0SC0mtIZTDx__dvMRqjQtoNoQtoUkm35Ed4SM4qDMont4scl-vjGDUFSei8z9Y9_HpjtE9aDHmqVQYwItlVRWMx4YFlNYFoENJT3HHTLtt2MJqmggCKpzYBj53L8LYdlyNNPQTVPOuMyx-yqn0tiRiTTEkixU90Siqu9vVIZIOOlfyjHd6f0i-vU2m-Lbk5jfFxVQ8IKdlwC69pLe3FPlRu8XKHcGdIvCDUml_4FJg74HOZadfe3ogN4R4E_TsRBCcX8bN9nrcksae-0i0eZStrl-CtP-U87uRiPExjHk-VpLOzylr5kT5SG-71qtk5X6yRJ5Avm4um_4HNVa7rEd-uY3w3qyLLxOtcA3seds84E1WZfUrz93zJyMvbxBN8nlmK71Ve4H0uLbHfpMLFPhiIqJfNsMbS4EXGHAhGGb3rubSAq5emUmNlc6XTP8aQ_6Nq8p-kvs8KbrkHXyED0Bat1-tP4IxqHJ0yBg-Sn0n7dizdlVILV99qIY6SD_BfpCOEzl33VUXEK0V1fa7T-RLpVKQeyfMxU5eNmnzJlhClI_I9Eef5AhtNQnkdiwC1dcGkqJiZ3t46U-bT_p4LqK04coRm4-0xjBud2mbEIJO0x7NAQ5sleG7ktSjEfZO_Jk7Da1RkoXvkQbci65h8eCIv5HVPFuXILmAqiZsv-TK0XdiuH8lkAXS_9CzSUYR9YE2QNT9SIuPQl7XqqvThkCNhxuSJ-c3DckD6HHQOJmbjH4fveDs5QszSB4gmO4zITPXJIXaDLxHDvFothQsp5E3PZ8F7YqHIxCx_SZnFXUGpx1uTxqVGO5fDcQzJKw3TgFf7H7RUVMM58vrTsEjiZKX-yZ5ug8akSzgMVqVwaEB7KITjrzpeP8YAg1h6zQ3HmCEf-F8x68Zo4rnzQHYC0pSHnviRb9t2Yld0-pWdYY0tpEShwKpJx3tK-sJdfaX7VjYq-6-pGJXr6RjkOjDZDg9qsMM7bqPQVTGszMJhLfgt4vLdNR9KM3-OVmSOxPNn7HPt-HyexKDfPT7wmEwD9JNyb96TmWnuLMWRGdPuGvsiq121f1nFaYlQgbsghImzc0H64k6iGA6W4HuPkgN6cUYiSHlkJ2ITrs04od3kiKotE6SZLNdt6ei6UcXMw7GhjaWR-xMd7fb4BOYzKNGF7Ud-1ypumxchu-j-8UqHK06kMhn8DXGApx5rKDxijkKni_ZpZd8w3Q4s8qzN1wWrPO1vDampx-TSq3eBFnFJeJgurIBzlivIN_jt4-fS2gn52KiNeEUg8wWJ-NPPwOoGtJDJ1NhWXtQNIxDw2E9gdYyfYmfNFqhuTcHfWsrHtnCab-HFOk1oA7cUZ84As30tcqCN8adGPPt2Iiw_Uwh26I553qoJwtbnRkkrqrGUIs49IiX8Lg1nPRCHg-4nuL0zs2J-F6iV5LLHtcfGY6qhQFBUZWfXSOZde_O6uedHjUHUx3SgBh4JhqqLn_QB99ZLQQ03qVKMaNOOvSLyxJdi8e2gXLO3bBcizZD44rhnEfXe-I8O5g7_vqBRTNA_FFgIf3ekKgw4wTvNvVkghCA6FLfk5YTso_4ZMELDffmDtSNoFUrPjgE529Y6fC27WUUVZXu-9q-_aG3o46tyReeGUHNckZ9znoHGNTO5BeQ1AG4r5THRVJffTL0jJ-y_GwZFW5Gw8-bMih9zzPmUdWndFpDqPITWRUSZs14WRfFSgBYlEtIP0o_ESysiXCU4_fMNh3XVtUZuaJrGsArBCCBBSupqIx1xn-oFOd7zA3ew-zMP4AFqBfUxAwy5qQJjgVS2df63wTkVQih0Ugt37YlIIeXYdgrwyFXPzitkG3Gw-PI94cMJyQOOxzLt3cAHZqAW8gNmlhkplYvwae0WmFBvV6AaT1z6eutmPclFS4aepBqd46ntSyxDOoXoxqLa9MRmBCAafgrfrU6U6DywN42qdse-2LhLu_9YZS2zkyAPTawPr0iKGOxNQaXHE1br_u8HM_8VrLMQs6yDC1KknNITvxenG0f3xI4ck6XKZesPkYa1J-lc-da9GIPUKLOQMZNuq4WhIGmwnGmg5iwubuSLplEzUoMrFa8U37hUV1pnT_YhAuwVkITv2xqIp2Jq1aW2hi0KKPLfURypbBgnu-toCCTkrUIWHkVkPvEBmHTFksD-HsFtN-ZtbN81RpCZy8vo2CJxqUyM6Fh6bfo_1nlnqmzk7oV0XFvHi2847Q6XeMo5C3V4MEhfR906-bJsZdIjSA5WYP2Ycu-VZAJxjA00xlnBttbKanXIs4cI5wb1sjpKttyRvD4Xk6xhuHSyOBnEaccwRQ3sJ5tRUSqtybJ0uV2Loh0Hajf0UmjGlWUqqLL3IQCAIdCRJQPKrktAqc5LUYmuO79NOf3-bPpjWK7-zq3xnKPDq-0SicKm8hG3SmlUXtZwM9yA-mjqeOg0l8ZcJPou98KVR42W8np-FxtaDWsquZGHNgRjtp6Mp3W8i1UP98WTQhXkHIwGmIoyZsYSNekX7pRsKhfKleF3D64xFPRVjM7n4qkrNU_vPH-WMwPDSBLAs3CIyPuihfGmJEUWFNtIrn6YiLkhobIyjo0puIaZlKrhbg8rQ56geK5XuSf9jGO15wU6hTBZI_zhvCV1NCd63b1pLqNO6Rf-LLNnYNYvJQtj-DeoRcF2Z5SHcJo32lhocasnYx_uiZAZpDwcN5bFeE3qftIcfg7Gf6rdaPSf4nDLwdTsZFV60AK2fhHCwYNoI-x5RCCyXA4YG4GtMthCptf9hF6d4PQ8s_uxfYhbyehogK9bEIKCsw1J-0Sk3pda1Ys_WpNj1Wtkpvne-m8Xg5aO2WJ1luXI2-XtZAoDm_VOM8AN5PxYow3TDMSIJyqjhECZdeD_Czhh9OJY1DeA59bBijx67K8nfZ4f5hx3fY4d3j7iUdDcoigwNmrnAD2w2wjrfTmjx261U5of_I4AV5gqMVAZvNpW3grNbmBXt_uEEhdXFhq9EksxSt7CCWhINHUq6ho05UdBPF89bS95WlZy2CJ7cozmwoAemEmG-IEeGQ8rHPzH6Tr4IaSGxZ39PatdlrH2WJyGT3Su_ZhUYufAXBh0X9YejB4Qp62y0J9HLgIZvPLI8bm7vqwCOuhFfKNftNBAB5rDY1t7DOuR-Ilk4Xz65nRKA7TPMjf6BdNkDlrbdCf3eb52dVEKBqte1biJsrIHlJSa_2c4BbcfgY31J_7DTl2taL-WeEWhp4FS5wJj-uch9NaZ4SwCJa-Y6sFrUfF4Fa6wyFe8M13KsoIyN68JN-4-qIkUcXiTovE6iTqHUPDJwhjeVHqIAhTPMDFsyQenlGjSjHqYbUB5SoaNByozrSZdcG2JN2zO-IddOF1P0TCnrFQ1bz4upglReUe2Hc2jZ5OIKipAj2UNLFvzzQ5wL9_X7sX8Q9XSthejH0bcazEdrGM3wEqXScetwteUDYQyBz7M4bVNI81uSmhZumKUa2o7cZ469F8348lf0JIKW7m9_OWyCGHBt1x_DRzZZ8pYe-kQwMbiWWOx7cPB8WwkALq8ERQzRhLmtDebxodBNvu54sR76REQTVf8cLTRysZBZ3c7gONDwHa7Vv7C7Fk9PTlZVCWkRhRxdoY5mMXwdg2cbAjuFpfbRvj8pccH5ra1hNsXWLKCpjMbAWJxEMKni8QLnsaUGcNLPGAQHA0eZDOtPCMtAHNlFoolH4ow55bw7JxYobV2U_7G_B9Oq8zseJqapkYbMtjY_oqKWP6tm0ScBwPy4A3BWU-b5YuaxaXKb5fyvsSTsF8FO1uRClMg-RZo3mPE-iVGl4eti-vxCO-fD8RxAv4nob4Xk4JzK-dWqphj-2oFh4uPn0_a-_OZZTkGh--Ijb3ryX1IA-Mnm5Pi9Wb24NJ_JW6GFcd1pBIyOEnd1q4yhxrGCmDEiamCMMbMdgb4u2AdRiCRXIeixoB353WAooah-A5TneSJ8iIT4JmSDsta6-dF8CLauD-1iv-KbneYv7h7mZuWr6Yc-PIUsd1etRwIkuNJDJWAP-KAyHCprtZhz47Volu3fVkrloPnOsyyHOtLYdfolMwxyGRhzChxVKxmcocfAwxGtLRHgCvWeNgKHfS57T0DmiaozvfrcBLXtbyXm8PKoSk3dIc4aJmxYbzhcpx6fYXaV3IZMpVP4aEq8Y-CmbuEHyJkMT7tonl4DUzAhkzFLhkFir3z4qtA-JUNMX5_gxU2sJfQgVDIDF974xijdQ5E5KWniYrTKQ0OO9wIQgtpp27kBbFNUg54IrdL_vsgrKUD0bXBcfhvoN2AcFvtLLNmhcxa4IpUtu2wuQqTLs6J9PSromiqZexX9vOt83eDvxGd2RH4irzunOuQ1LzNkobZ5j6eS94H3KG1XqNOtXsufVtJFfTRM1tXWyoaGYc2isC7xhy0nR5FOyAmq5mYGb7mL_7IPMwJl7kY5kZGAL8A4vCN3AWZRQndLzbXOAehs9ZcZ4w3cWlG0z77nUvKgQMUpVuxInl0gHdLfRVnUx2vSCD88bb6BB8eDZEA_sx-DFpWq7tNn9E07l__-AZBUAt9gYhx4NJMAYkB3NgcGowOusD512ZelBluHqWPiO9YGZv9eLBHCOqbOOE3NC0jrnEun0_H6AxNjpUZwvGUXYxniGMyFjTtbOyfcmhkrU6mNLWI9ZRbLoUQVK_c-h6iT2Dp7Hfr5Xtjs6Xlmgc2LxJXynIWSIB9itrBakXC_LLGlCp8Kd5YadetG3N4XwisucVr2eheoBCRbQ48G6h-epCuEEsMA84ZnmugyKBXDXqu1KjAwhvuS559CKAKh66WmuDKizT0NmKHezB9vEOARlRmKWEHvk725V1OUeu0ImN5n4J_Mc6FxedcDohQYrF0yLExjJrIeldFLHzSEH_lL2m1gpA000BkGzIBs8Fuxmon4DrrPztK_MqrOl3gcGRLPaVQLSyLWJq-oUBSsdsmGGSWcYTtDsVdHSN2Zg9QkgPRlwLQTBhZexsy15m5PXHREA4nfOsusvL_wXBc56xzsoaeJhJLZdZMeBXtTKGPSEAhdPLpGPpLLxqmPSv1crDpvQtlsJsccZX5s7F0b2p0lbfUHgdHNyVkIn2bis7Ev3a8sQo9TJyoH4DGDd_LKm4AfPuufTl6QxmyMaR27U0HHOvP6rz__hmFPo6Q4PDBly-HVvYeubA3gpWnGcpAJkYUEZazhpGdSbRH8uYsE0G5SFCVUzXFXfiyfdRkmH-CsAkABBy4NIbwwt0cwzIXhtUf6qHdQZkCo4WmpO_-aRDPXSwBtyEKG5kjK_hlMepq5UbmyWQoMs1GHikU-GMYyCH1UO90GLNda3HeL074YYgY4Vs0DOTGHBWByzCrgJw93VhvfGRHWuzyGYTFWpP0vmIpNalfMCLWvuXDQLI5fuTWO0K6NLIzQOf7oiw4Vc6XqANXok23WvpfPUwe-ZkbjgN7-ylAv0XZaLfjoiuSY9fYJCn4rtG1x9k54hWBjo0ds7JAPu8iajjqGsgXfxORl7hCK0M3lcbIm_fNV2Khhso3mCGS2vNDwJMvLUL3EFwBjs3CYDxbk_m7kJ_Rhglj2BmtJRe0q3I6dWlwvEDdsL5XWYQaiO8wGfyWL6FnVWIQHoTcdaqBPA4KPqe-rBexFuxzrl4f_wySgfHDOOjl01dgEPRir3PP30vM9cBVGMPuKxTucJx1SEak_TjtOol8p9Tx3bIU3cQ7qYN_1Ieh3WV6NBhJ9L3xG1tBUGYs8IaDgDAt0qpkbKFLk25e_e3afeRoaa-Vjgc0NAgtV9O9XpyVvZjhm55hGaQg8Cu2pn_5pS8afd4OIx31wK4eKVaTnhbQ4tYNiOl0P9yDAKwdtSi5c5QyU9PwXD60fCr73Co5mh7FbYE-JhtsTMdmPgVVSNiqA_OQWK23QsQfvyZgalkaeicwjcmr2YSSb_QqapEkJqNRteStIPFVShI0T4zF9y5OzY3DYAIdHVMPGJGBe9OMjyu0G80b4RGl19RA0Wrtjvq04TITd9F0KHWmV4k_C3I__EJMPUvIx0EnYmzLBVSJfQExwmnvCxZ58gxTvEuIOWiar-BRZNuHt4K0u0cRH-EKNHDQ1jRL1E4gcXE3-hq29-SUa1svlXZMOKxVIgeFRJZcwMrSil4GlQfHEEguQkUl1iRMl9Tv5TBRw-GzhdpWiAFz2lGEbqbrTUj4EJpB4mEBXGQJHQgIPhiAeGgfxO9gBxzJK_-d6zN4dtgSi6zCtSPioQyoodm77WOogJq_iGdiEa7Yd8hXN6maDKQxnWVAO5T2EMaXt41fvNHIxTuC8uRGO8-cv9ImASu49Crn8cUkbefdYiui2SkzPErqhZtnci6gOz2ctlZ_wLPnnLeMKAWezF2Pv2slYrsPeU60drPTEfAHBHdBumSYrFicFRQnI_lYreXxXr0-OoHQ2tr8wZ5dF6alxUTrLhaNETEosDMEp4BRvc1ez39MFMXLsxBmp04EXvuBHoQeDQa0IFmvrJ-UBAfuEgL2U3zhuu---8rdwKEBSEAdCo9f7UXW7hmHaP2s5jTrZ4OkwWPAw_nRKNfujUarJ2kGMQLYJPcfZw2rK4WRavxs35ALfHXqwSDCGRpJsrkvJriL2Or89UX8v2mvuqT6j1CrhwsOn-Pc62nJAIEE3nd-J9amuunQtw7rDdoTywcI42GIQi9w-GJ19x0RQoMKgLhSPctoHGnHREBZ9rtqVTVAlUBf_58JXi1Me8ZrcwFJSA7YYHi_9qAnQ-KpWNBl6MgiNUlYHFY6ssgRpNISBRuX8oRd3E3pvLzX4-SB_jr5w29Fm1gYiNaa6di9lRB0XGxtURQC6Xp4zIXiIJu2mHX9YYmEczpT1Dcm8SmkmvGdzLoO-PEeqmDDzJ4z0d_GwBsAuXXztLF8L8sh9geIilbl_xXWzoOKfbkcr8VdURYF8KzAN5tGqCcHSZXlgshJAIfgS-97QHqZwaQJ0QQ_TPkNSA-6Eei5i8ldOUIGGUxV1-ZwFthmV88sbfPQq0vYX49CXhtXsQNmLQwA4SfATZIZtLZRJQpllX474MzTZpglFwVVyRu2Ce_G4iQQkoqcTu7r1l02LOiL8OoMaFHAushg8oXExbvYDaBRMgurqcEkDIDau4jPja5cKz3YLF5WtEkUnMXqSt0SGWCKIH8EiYTVrRJFDZEd70XtjhCKpoj5xKARcIHgNk3Och7x7H0X9cGeGWN_R6cYqQCqJeeLRO68cbupDrZfV_DocoSybeV8VdtUsnqPOEtC7A6mafgCNiHsC3uiSLUJwjqiVM-CPVUFHTX1Z5IjHy3zVAZ5c4p5prDeGHBDFPURrPcC6ssNmKm4mYf9GtSDvmIUdIddX_b-SdsHKr72X9j1HksmbcWXvPhqVjmYXUpDWH2Gt42je4mSbiFEYKXmF0yL4kVe6zzSVy52Jz6947hTDkGCm5aBrAYGYfeQbl74FdlgOPa5gBdlgVvXGtq31HYTQjhPylqPGDaUiZr4nbf_H6UD4t7facsZJ0XYwwGFwGo3bKdohhgI4aZGUh4lFc5RaokTo3Ek_yfG4tWxcLUma45OuPN4VOnLxe-4dZU5DpplsgmzXRe-u8I5-zgWv6i6zYPmQycd2FFJ3ZLLqbtELP-jGbKy7Si77Jd-g3PBKfODJh0wpYHefuD3o8TvO0tNp6qqd7WWRAmUZZYTtNfuDsk9_5Nk4UlWDWAHnMHgjySWjSqnxdPlaImUiXTB6BjLDHwObpISb4piDKGUNbHE4vR47dF1Na3rTX1gritzTRvRXmXkPxMCbPxjP2NvmNPfWjTfKhkQKE_6FK2RJPGUosz677sLiUz9MiWUd56XWsR6RbAKWGsCwSTOWHqQtfRJLufP1FsaB7QKAV-5vZlvOFa-wOxGpAJ0cM88_Oyx_6Ls8A79Cvs2gN_O9ir0cP1dnbLCRLadTChJfnP8zdmZZlo9XwRPC4dXGJ4fzfKcH2TTgiyNw1Qv_tQB4c7ipAW70U7ZBIEQrfm7AjzLxexac6Pc7vmPNediEinCGdidZ7RdUCAuVX0F9sGebdgEbwzJg5alHv8CzvUvbWQchm5c0jViDQoZXiAZSeCjzXPx66n54eKgwaGP06nTuTkiyenogPwqX9C2kibMrMpp4YLZdHvFwm0t0_mvMmn37ZEpsVg5PGPcLbc0BRl7QJNz4P3dwOawFUH82OmDPzy7pR5MrIiVFZx3lq9U3_3JFjnN7IY5Vm5yI2KOEkbhDbb5B-Hdio2pAk8qPtNUnloKxYF_ODGhs_qOzL_6l_AEfMAclJmVXIaDrg7uPdrURnWoDvSlN7HxvcwtSCr1DqNFEwY9NZxSEky7HkMhuyjYS2_53rZYHFxvHvcyqXLk0tHGUttVkQB6ja3d5RWt8BKRInNHPKvn-Y9l9HxKZUq-X5EYVfQtIoIPeN1pDt1Hn9BBJ3Dqzi-e3U3CTsZ6HNSGf0kkPEyiJ0FiTzQPCAmIF5kUjRVLVcQeN5-IcJZgZE3mwAEx3JK3P6F2z0In6l5EEhR_BA3LcwLJoQ2J5S2S-2DBZJE6ZBvYQblOenldidgc5jVGBWU8jLL0CrlO_MtGcVYEcxTSlZ3Dww0IW6VrPydUndqIA2gUIsjKHWg2qAeypBExlZUb8JmroHmctr1uc76vxm9wOTNRSyHCsa1XJHKrUPd3zaGseiac-sK4EmYqEeRHQ4iQbJ0YPAYMioTBNPJoWkBO-myE5gL1esEOaPn4UeYSNb0Xvuz_5DDkUPSQuae52mUMWO3yjWepV7UzCWOiPcDemp4bhusPuAC1LrAXDlLHXkYm6ftamNnFMEW69AzBIjFQwDsBm9yItzL-fK_LJh-y7FcRoEpbpzOaRglbe1Ghad2i4t3mE94DfHIIKgzu92rmP44vgR_O5QKh5INLU_s2fox8U0lds2baFCG1V9qGCspu_J_57FR-MbbIjiU5Vi37cTiJmvTbgtlJxGvweZfhNW6UwX1qVRJSymeX6UBjQ4GehsbkdYIHJ7zoG72Qd9CPvMkP3PvKZa2-O2CmvMGS0JZ-cfIKWeFbBkTiMXSTiRjOCkCm6isac1bPRfFYx0Rk1PcbwUl690TBfA41J7OYe2GEKjEd68HhIDC0UQIduAWTXuh5tkUefEv-YOoV-oQqqTuUvRWj2CgH8_ltO3xsiT3lPXb5-tG9oCK4jmAoh-8i-lFAPdB3S3uyQHgREdDCZTww3p9NnVD6FE0UJm17qlRmpcBA_TtqcaUPRXKkRSFHkZzo_e_RwfQuaXgtA5ZrGBdLVNsXHqRndsZaRSXpVUXBaHcFqCKoDyYJ5G-d1kny_sCC7E1qL6n5aN8j5hobjmFHdumCpVWP074YGHh8vaxLvxa2xEa68lHQz5L-Gy63Lq8zwFB5xnakc56fzICoSM0phoj9rtCAFGZJ0Lnv5pUEwazFvC6K-Gxdm8d90jBCQ97OdF1CXulcwuppaf4rwFni1tNEPfl02QiSyJ4O0-tCP7my7xQEgHLS1X9ertcrFgWjsdihADehKRd4_kzS0omEJ1ibNTSOoPg9ghN6pY4D1k-aqHQvWqeLz68tKrn-YVf9Lpi6CYLXVIx1M7Zyz0BEsESZ8aAHRRMMzdWUs2d2UiMZw7PhfSh5M9Por9juAJU_XDJvBPWxdbkXXlYy09CT0AJuwbs8PrI0VBk6lK5Q_FlU1Bet_ijK3jcgpeFaZ4e7gd8uRZunQW6KPsl78Gh_aMC2SHsmaN-uVH5h7pJ3vqu-qs3owuTmxXh4tPErCB_VWDHKZ3NLK-AsIdQPXC8CHEOHO4B0qwSh2ieC1amkkXNElncA0LDB10JEW_2DuA-0LSBaF-qG8DdygzlCrF0fEY_jEfdIHDQvvEboCMv6jfEAtGXFaUMGVA6BkHo7DVa29ZsawEsUQS6MShk99pOheliXKZHMaqcnbMc3jX-VK_SIq_FRycWrZgj2jfDN_AaytT3YhJNny6QunQa5c1zbLgKKL2lv5a_JjHgqx1hrhhbUPr9bBYgqpJ5_bsQ_iZqfp6pxM25lLHnXcJSYfSIqWjd727UQva5A8zwhZNjN1QRQ3a-KWKI2SW6v85SBGv0W7f3xUJh02CX_1GOVNVxT2ctDiBQkUwLyWPj3__cM4DkDgKPMSgnw5KTFMd7FBbquQCF5fEhEo2iU6MZ3YYGzCO7oOoFkhS3d71uvg5CNTq__xjPMaHhA9Kc5jl9B0SbDq0fwIC3tdrrJiqEjfSvTn7B2idvoyvzr-CchGpSPxU7oTCVolCh5TyA4LWQ0aEh96D6j6m2pBJRPh7RvTgFPSgD9OdyI7RsumWThGKMNu7XG8TsR8Jh5V-XDEvTR3Dc_eazF4VNDOFtnFrIsPhxrDfe_Z1d1vZe7-WygGY9bvNnMR8DScSgkthSyRW7-HNsJpnw6-sToRlbltqpx-07jETWiTFlcU9JTYPSBC-RA3bOb03Y-BoDnfoBA-nMPXsm3i2MntBm6Mh0clqrQf9G25c8EVUlvDogc-7noXud-vaU6aPJ_QkMFplecHkwk-fQRWtmEWIFqUbEqUZNGwhkRccNAM4ojzvXZzTQB54HMch0D72SjLvgSw5w4ypfsg8syB7tOnhigFsLSee8uJLBJB7kYbvGJF7hmg2OgZfeRQZJ1r0Z0w8c1RjR3AkxxJGVNo_s3q0pNuXZD6zaGfyWY842JPKrjxI6Jp9DoPkEYkYlPDuE7HjN-JNAL022QiPet5MTglALcUdHP1G-BwsCk4pUW3aZXL3SgbqyqJur4VPqCgq01hd6QLrOy3-0EJJ7KeRJCF-csy2-P3Lj55d2c1k6qu3WJvegq2vH17OrTgXgfH7lppdjM4G9bl12ZloWSz7Hh3OAcm7E1k9VGlI86M_NqYwF2rsZzbELqgEbxvCwiS24spzjBb1pbWwR_C009FAEDR6fopzIted8mdigdydoCgQ9OJbtvFnyGfG5qfn5rAjwtibTtErXNFu858tqYwKptHb5sNHfGdARjYkSgtSCKAjBaJ7VGjmu3dxUZk1LxpGP7bJ1iluzpfhgMt9hKzjzNdRKptsvN9T0vh6iOqlboNb1eTkyAiE6dUq_HaX8e6aloZaerc8isFA5_ba50MTe_Jm_ObkgaMsyWpBpgz-tLut-EQwWeH6u1-IlS_4-KwVggffXCqDE528WJDoprutIEAKsKm15_0HM2XVM30-AmuH5X--sxn_PDkQwXsJyoYfxojptigx5RNB4nzqkc9v6t6bsXaFgrD9cbe_W00pEQpkiTPTo05cQ-T5QHsfcsQrkuzMmQFfas0yK2t0K3_LkuLn0Yj8UiWlSa7EYJT5vpyhswXygFHeETiy_gGc0CFo_zyP9XI_HN4CyQj2mpJaeBhNbCiN4ml-7sIePioPzVG1GMMHw8TNVNIxsRg-crR4qlBds6-Dz_VC1eq_ycJBYVLmln5qKUBgeyx7v8BYDTVOloW4jw69Gv0WN5esGr3Il4I2CLhO_lRl9UsQa8zYtEzDUoT3n3fLMMIfWWmmVHmck1sk4DYgXhmS8ziPje3C5P6hz4VscbxTbBk7fLTdbqK0sAkn3iTn_D_B_hZe0Da5XLuQUDaEi4ZGpprIS7CcjijsVZD0wbU1t08_k0DJzDIUvMhtMYwbv6xS3MQQFp5Ppmg5SY1tq4JOVokX_WiCgsv3JdfdeOiWVhCoFb35ccYRVk8e99onzvL_uZs0oREeMXAUHju7PXEFWEvQk3dQeuN1bDSSp3OTGlQcdmo03pMwwAaH1rgxap6CTNyWXEF4bbBJO0bM_zKiqiRP4VGNPTJs57BXrIyFtEbDzTBqgcmdUM0o58BARsru53BtXObapYyfjOFEwi-UEtVAFOpJXXJom6A0mAqwLX1s8ZQOK4AaeYSLwqAyM3Oc2eCH-BEhHUSN8GwWWOZBNqhUCLMJS90CMaGNmIoooDRU4jIzxxOo3_DmxM65Xlpb2iMabIXIUoQySfWJH-Xe6tD-2itSMwi3X0dgiHn1pWaXCLLfz7Z8ZGdvRi4_oFoYUZh12yzShrxDbFmtbtStJl6Ub3g5hkJZj4AT658Vj1_nWJpG35Yb8HuTc2Kc6zFf0SlutDHmlOYS3KXWtS-J4b_BNOJxIsJF2I3unbfa-vxl6ZaCC26NMCGI31pPyMEHxlmHIggfzh4UWA3NZUeYLga8tEk7wcxEpegojQWXUaohq9wXE4SLuXpTG22lowH7PSCwHJJhoDUqqVLm9QPSNeHm_-TMsa0OneQRNyCoTfJcGxaOSu0Vn8OStEGPyOk6JrilpehPY8nCUAFz88S_atGH5XjHXz5Rr2iOQtuo_1Eytfm-6AJf4ihfzqW6O43peoiAiE3BxCwyOaWfpMCAHCfQcc2R2d8WGW-zv1xEUgOKMaJ-gEDEROkPd2NTxo1fkEAw5o7L9FamC0FAdaXM_1z59MA-KS0ZMdp3oi_xR0qbJdJ__-C-Dln6wdQDhFEUI9xgE3Y8-txihz5pM5cM_KYNigBb4RJ2-MS97JSSdM9_nT1a7Fce0jNok2pFzj8g6XRD-SWOv33aUF8VvmjpPUyvHRE2eJN3ipuj1-qWTxwMDiDs3N-RkLASmyqPQJ3YjY3kauBF2i5QpUzbGzhZJki2HN3XpSVxab84ciIURhxhTmKJ0pErdYDm0drqgSialF_sWqV9IphVTCQ-5vslwoIS7cxUAjTIgFGak4NKBA1fHBNkPFiqYy4fUITILqkM78kdNYP36O9tI5oj7oOA7DUEKneJIJw5dHRENDm_xy1E3-MmOgBJd1W-EJNh-SiNTONndt8TXqi-hkkKejyX9ZvgPIfHDthLqbTZR3B3tB75lBFYWq0BTBsDCZ9uCa_bu9ewZgwthO25YspfEtqCmlw50A-OHlIMdi0TCqZ1f-vUKGdi4LQb_fQjYvjdHQ4sKc8q4xe1v5EMox0-nQjSVe71hoa-FBfee2qhzFS3OtS8Efig5EXrWZmua01nmTpXdk3tqHlREIMv3_F5ojP8bEbcQzelMhr9-LfncVUPKtBk_lTKk1OcuHvn8QQw3uK2_k873Pdco2zghk_Gg_kAtksDIM_vGo1XclQLEAXQJvhIgFc12EimLeaWAy86ulK4wkdQybgE5gkk-GHBx1gMArO5WvPFYNrsUzJLPD0xtEdBJAQXiP6FOzKz_Rx5d-zk468FRghVrqcZ4BWePBcwaQ-QmZ4wP1hpLiT4NOhemZg-y-nT0b34tD4NmdLNM7YzV2gNj42KaoBaUZUXjLcXHJSrh7JcWWbI5LCBjCq2b3nSa-HSG8Zsx2KIe8FHlLRzJN7n_txhha_MPt8bj3GO2DMjYB6mJDnvRIbx54-9lwOsWqfMmZYU_xKVnWk-w0yfwgrDo1N6sGdehDNkO6kGfgRmbvHorLKKLsZfKkMqazdSP9h8WWdqvXc-7mCY06NLqZRTt3d29Di_hYLw8oZVg-4vqWkQXN4S4BGZEHY0UCHqnGceL50pw2OaSy9mgDEVm-F-Ne9-aPn67cxWKl4Okp8xkoyAlKMV893LeNhNSafX733OGFGcQ03CLiUfv7DjHGAbnegDIccXegF5SqM6g86r0DjlfUD2Z1gSymg-XzR0Kazvmej_MLpDBZTsZRwvpQMNOX71xmjgvDJK2TeKcmeN-mSHX2CAYe0aKscRRihApv_KjeTpOHSzYyp65i3EV-NZt57EvEQxwwTUCs-kfHIQvY3TLgYWgV8HTYyPulEHCOMQWU6vgcRx4kffzhSoUrBTfzqPb8lVUDzo5Ac0Nw-Ql9Xd-cX2Z2JSGK9owtB1qh0l-e4uMcMGPewpLOULBSOQIynNaoPswJHY4oGHEv3v5OZHLpdoiCJ9UNkwI2TqKx80TQ_xIofz275fQ7rDeE_lDW0t70W6oTJq_Pp7eswIOpkit_n_HPb1gPtX1bq9PyyevJHm8nSJKAYRm1PxZ5ra1N9bYMA7K0KUnKcAQ0kwckoC8RQYtz1odZMC3HqDkYlg7EjPb4UL5XP7dZb6RBHYwyM5azHqjJaTKeRnW9FifeyKLMIBOpHXJMn8ln3KNyNCWQOJxvsmt8AEWT_Xtc5_i5sIwvPiBaqStt69rgCwpJ7Y9MjdXMiSSdaNpvzEaZP-dogDP5Zec2RGDLoQDjUWv1kk7nDSSWriJApuWplFLOWIhrrmBh2QhAgISeptqdHWsf1W9mYitql-w_s51ELF03yrN0MRJxx6mXW5fxhjf0k9pDmXJyIlJDLUqssOl7SB91ucYxNSnLFfBEP0KXG7QrZ2Ywfzh62nikbbm2MuwKK1cVKhnHWzbOPXubypCAfdDVqZ0F878EkxIFWb4xZr3Ea-S7o83Hyc_2kmt0jwnj15EsbsU0k55dRiyxLWV3vDw2P0RwfZhrFRPUblM02RNg6jaDmerIuQimFhEbM4dFXkAjb6Kz0yQZI6p4kB_VOVNH1RasFToWOIpwl94rt1CqfitJqIaBMBqkzsBu0TMIWVl9DId6D5cr55mYQFc8gVmFOQ9bbvjVGuzBiRyyPDltJL4kfgTzz0w9AnPR1-h6ofU9UimqjKzhCD6rnGqf2SQP_PsO0QdelHYTxkOrlt7tzMSoCqrEfUac8JntTbxFofozjDMw2eT9fHZ4pFlbHIw6SnpdlRvX6rD9wUfXUlT3f0YZIKsyQQTddHYvFTv0CS7QRCDEN57dan1XGv6N0Iyp0LTR_Sst1lNuw_IC1zhTo3DwpO0UJzk4WFZ6fNDnRzA1H-44pa920F5TBgegVc_I109VN9sePN-oPItk4uAMuxGonoLqmWHS82fj7ZnSuwod3PbSq_HxKI769vPe_9RH68tYmnM_36EYnx6h-bcvp5BywL1mL3izdtWYYrd9L2CeenT_P-49xqpVhiuDYREy86lJzOzx23D0hHslHJl0-rATCIR9uace6VNPYD7BfHEZ6mrxGO0NN_m5vkeFoqHIvwl9PMH25TpPcDtXhss4oGrKijEpiZqpfvN4YCC7Dvjw7VBenACbj_LssJ2rlDlphnPSF-xB07e6miZHn-hBSrGa6PgW_YyhnbxGQK5qu3pTHuRITaX3iIa_KSuNd2IwjOmLWCVNGtNuJjbFf3zpp7aYh8FxYbffhxuPURjzJWh8EEsP-MW100Fw2hC1kECK9FairkDG6gXtfouq9ukxXkgp9lrhMj6ohe8kbPdPebnkQFFgyuX8IMZtGZDHRdRd1jQzAUCPjqGDZEcbATpAGWRUrym9k7cif0Pjfk8_s2qAkx9ttSJmkz0yNm8v0KQ9kPLTAz1PjuePqEGi1gEjbgg10t7cdZkjTb8Z4S0LzjGdyyh0F-boiYofFLozsbzVzixI2U--3gYM5Ghb-CgnDsQETZm34JbuPPqhRn2GnW4emCdTFhKg1YlyJtSd1hFwfWjXKwWwmGoLxc8sgzoUg2SuGSj_1Ary2yd51Tk-bi7bgB7ubCkNd-HwsVhz90TYTf2pUI84tm9l9L-VwpsgKeUoM6twnTTWh0rvRvcozMqPHcTGpRwQ9UUd8G_Q37jdEMWB-qV0wY0cdkHSQ_e2Z2SzMO_rIEkylCwOlhSPKoVkcVEu3hFZDnimppy_ADJOgao_YuK6WPufG8-Lk4rQMoHdIYlC0F5yyrI2yonr5QOSmCgrx5-qQYJrWeO6SwsGTqFXa5IwZy6Mo5JsEYJg4fqtoj97WgHUzobKqH6SZ0hRCPpEeaA_3YBwGWDQcQtB0bwv-VExdmFOpL4Im764KUkXicGHTUm-3LrKaA_BH1VYxXVs_olvhtQbU0-rySHiHA_7uXC2ldoSqSETntTR1vSFf3fdtf_qMiAZsYApcMTJFUhJLIZp97UVhmo6z-aPS8grzIMnNY5yluQp4xalmvyiY205_dyotTZ5yUc-EvUxyv76ISJed9prot8T8tKElrQuEk3T0pWzaKe1xVOgauQ8N1nN-dlQpUsyC1SM1rYJbFJniJhOPlJ57_14okULJajldnAmKu841kaMaf5Iyme3L-YOrjyXtE2PBLPPHzGzh3o3sVONq1oIgC0BT-1-BR2TxB65ysc88er_i6ME11mNsUtpVgHS0HEQOx5WDPNjB0vKyFKThyYDPZsp0eh-XSZGpwY_nGnhSgvF1ogaMWRg6uO26GwjBM9FlvykUM2v0C-5FwhxHq9Mc7vOfKFISPn0si4pg22u1jGO--E0FTFqwvvAzIsPpa-MY0ZGULvLSYKDuHzEdfehAaUH608PCYY2oSiYjJblCD1PEVZlYbnF810tHabayeew9uI31eiikU32yke9ainxwG_3qAxBHlb55U0X_w4vlaTb46g_U6XCGpxugUHbijbooElQfKYH1bu6Ti325iyIOYj3VW0omyZW40p7MCiIp5FwH-7bZ3xYM2NsTwCY_zSrogP7d5o4r5MNeT29ixU0PsMGyGZ3TPgxdpNLGNHD9Eyf8dqq_KRzXdSiCbmAc3iv3ueLRQuA2huJ25F2wZSN08WV_eEy_9ZAzugFazmWoAfhcl7LmOumTcTQNSRd_YWqxPxzTfE0UwQ0fosNc6CPlsdavfmGWYUgCLQZZiQO6JCweP2Xh5kYYlVF1OvVI0oGtGt5IzBKtHTs72sgsDpOr9NAKvVYzntOB29sMJpOAtJbnvzEda-vy2FSbN4xvDRUEAG_wLLlp7tBOZenv229IE5zZGZEJFYfBfdAMG2pkBD4z7kkJooZXXcIKco7la8-AU4xTpCjccI1Y8XNB-D75yA0ZCCVW0XoTuJRIA95V9iYkYrp-B6mz-F8r4AmH4uOwoPVZReVqChKziCADbwh4a0hwAckJCFNRN4h0tIBYk_snYqaqn5xariGUTKFBfdkadBQcS6mueC7BvSKhJ9xYE-gAhazcgqKY_iEiba3uieI_2iwG5gdP3kCAOmsRnGRupXRcZExGjetyus6IIzMuBUhJMO393H7mvyRvKpvk42jQdsV0ZLq_BvHFKE1h2brBBBitTcCjwNQhX8z2fwUkwN_MURd407lX2RB8A4pTigDRvHu0zDP8L3IN218jbQU8zdhZwmaWGf_IUY7ntghI73SzHLT2p5wqU6fpzWYOE0yd63haEO0Xn1BJ6YmFU7iAGF2bMRjzUyy1NFKhYXD6btT775w_vrQrlBhAp1z8_xCCrfeq49TEylbMEubsdDpZSW8l1rulfjBToCFQRZSZQiTtmIQ6tvPjM190IyaWdeGZGZlBC_8SuPSXIqIvbWS0_u2xDADYYlXZFv-4pTfHC90mmRNcNQ4P0JYS7oRfZavWkBWlpASQyvysLv4VIj8gMHHzZq-TYkeJhj1hELXumKuzjW72jW7F-0hho5bkeSeT6gEHJDw8_EfTeN2DMlxjnmt6h92laIILr8p-i2xNF6aO_hGhZ14FVOQKwtSsnDyDsV-e4ozYeqJxyTYZM-qjmhN4ohaEyy_GeVVJI4PWX1kdSKcKgYWu5zsouVB4Q9N-OcAbO8JVxKBTtBs0oSyIBLPnCtg1htevUjmZ2UdRvcqGmeSkCRe39Fx8D0KffH9Wy53VibJ5UT0Ip_KR40UTQGgCwG0Ce5Dg2lgHu5U1RD-ssvli-9sVTnxXs9FLKGfvwyoer-eyYzragYm8ufXj_R0HVb19bjydPlVPC1KDIZ4WwHByH4-iEw0CGsceHKFJxS8WzbKG2j6A9cpmWlnuzoWpWF8X-FEyHYyVXUvP71_r_s5Hz-QwXHChqh6CQqGneQ9eb4Bz6ez6G5HYHpllny165y2qQ2Hpy0tyd754UtGU0OVfb1ChM4dbwwZcGUR3YqyWTZ5kTQk0S_0Tm_F5-70I7Jh3pWn7xklFCtd-gyxFrC4TU2tBz1-ZH48zzRdLWBQzNlddz6oeC8nqJ7uji5R1mBwtNSwf2wPu6xSJYLoo494Gep05kVWaIe_-a-d_C1dQrFje5Xz6oqlCPLkSXtyoryk22U_WLmZzv6zNtCtfXBxBOTz0mpIwAoy4TsBhpmoVlnvNmlLScjWXe_f3GIo_qcL2YqwmLzCEWGNtNaYcTCDrHHmpamAYfBNk74nL7LsNeesw2eUEEuGrL-70k07CPXUtRxZ5c4SgRxs6sQMIgizC3Fgin4_bpll_TPTkU6df7JHmZqqrCJ3jUn6qsjTM6L-8BIHrvuTGeAR94nAKA9jIUrSYX1-CSTypyI4g6COeeU2tzErJWypHDGx6TohonIrbdbGFIdx9WRDdcUh4A_5oeCu1YtLbkNwiUucNb_7ao-TPdUToQpNQ37xaxggFVbTPanocGF73XBsV6usOwb2CPI9Glktt9rpN3_eb6Nqysf87kxcNoN4rDGHj7OUQ5q1gce8ogpiD4AalvCdPpvYpYg_uipyDbYBMhgDSwHKKvEY3fK0xf53rY4vfVI0CF9uAjStocXnhlTi3L822f4nTi_OqX3CZ3RchuQaNCbfb4yZzhYqiZeAyL3FI8fsdaYgC_Eate0BEjFkEciKwUaHAzojxFi2Uuh43ffyCQAaygoh_WNIBkSDWrRLPFs2Cnltt9FOpIzAE5a64I4neEmQs_m4uEnSJEo-7mLTVeBLuEq8hmV9oEINgarUHM0q88O09RNG2fTbkO8BlyoWNjRPI2ja9548MplEDGsRwGh93RE8V9gNhwPy7t1344CsT6zplcOgi1YmB-fqs2TBLYQhOt_WtEUD70-V2c2rcGuE6X3zuRFlENlw_L8uIxvm9DMcBSTi0GiU44VOsIIIoT2wnM3TaO6W5ZPYe9wA9kbUN9IzCLO7e75qM6YN4xfaEcfjf5Sg5lKAJ5OoAM_3t7jSydat2qxciUthHkLpoMtQucBqwklVHSuN5WIBoRzeL7GBUpJ4LNSqHA4SMGJlINvjC_QlqGYRHeOsn0CUuDBOD448qnilBaKlYS_l0FOMq2GaRcN_fh79cIzAZ5J4lmvyRxx_RpHrWkUSNvIP27ktdGfqCpWtq-o2OWbdcoaeiPQUliyd3LZWpSbNlO6KLDaTGR5PNHqP4fK8hJGr6PHu7ApJSBfBFPqxIrI7xiKvSlYsi0hL9t_ZzlURFSornYQ7owftLBulAw63pastMa5Yy5VQKeqWMrZ_1mBPog4Mytz-JJasTT-jgXRfVBer1a1sX9acW0tU51RcGNBj5d6f7P4ALK-dfe3MNRQ1k84OShzZSn3GkH9zZkx8KdNY1WTROxtKhYGXhCh_nUg7N4MkJgOdxAHSLBRHxKlgfpHKxXzNNqM3eiT8JrdUsHSlTtqctfQrB4cDY5qGXtOF8tUyETlEGdB6gRwYSrP8ywdNFM0jgVbCjw9253KfXIm3mJ0MSLYN67qQ9xvrmmzwzGQ6XoM3wTeC4BWBCSwQ6BoWqFxaMkOcyK-o7o_NDYz7tjj0bosMF0NEFpoVOtUdMKl04H8vCDFWP6JJA52YgxJrfB-92qp8ofj3DlT76sqyfPy9w4ZBYYXhX2LMcE9BN6U4yaD3-09dsRx7G-CvL0xzR7DSA5nvEQCPOA6xJyxwnfPcTRcMcKYE34OIDNmk8VcFBXDzhNJ5QEIe0UBeMwGZ3CCpCtoqDJUcZfSTvicFIIJhgofv8HQWULuatn47Gl20vQJQLGfQMRGRCER5B3U5dhe8LMMByDqPx9VOO_5kFQ671mhFyum0elRFp0rfJc0Opw3reZmIMCIKqeUYPv5KeD-3m8Eb7bo1tz4FpNOyPqyzmEf1h7dU1tGdvjxRjSw4l347TWEAGCBCm-3Iyk8Jng7vnM-YxNC024U_XygIM1UhM0UrmqYY1qeIH6DFXd8PXCCWPsBxeqSm5pUbA9R5Bw4oXz97iFac0jw5prFBfnhfwlCeKkcBI7KMwUUP6PklWh0wOJyP5UbKMlDtXiTdqDLExR0ktzhHVStsSdARi9e9aQoB45Uci_zfgwYu03Vex4AMAr-XtFUPRveO5TqTRVJvg4F9gqwO2KnqRMwgBPaWltHY9kgV6boVmYJeNxKlEKN7q8aDv6gKwFzVaS3HQZU8_RFXytqz7e2A3i3DbMZSNRwTAjWLRf8TWyBjp-wqSkFDmg2gWjYoXhB3biSzuh-H0_SIcYoC4wpI2aUKHUlX29ipnoJKSgfT00zEolgskS8CgEIwl_sA70NK7849iD8e9EzR4NKTcJ6StsB6vqHvOhXJNdMVZg6odU7vZMt4QxqTgREpz53DTcX_TGLzVYYlOIR4-6JSCjgbOxtYVrQDMaLiELH9vvpnUNOPw-q7gwqJRiwohzmvPUuRdA178gnHFnR6drp6k0BnzBxdHVJb_n4tgXiVQp6WcwgP_rrUBkSur4ehVWQpZKVHw3oqtiSwNbAeje2ujl_zIRyP9CjW7YAscOanNW8BCAZX4rjRUKaHFvNyzC7IkFpb6KwiMjLo9xyU3i4sSw1lypQOmCrY93Tor1z8XBAy-JD9kSxuEOMtgQeG_prPnTxCoBXr4E3VRn92Kjz4PaqZF9RlfnbMWRUk4ZRiVTUJz04zfDXeOR0KvsIgaOQPtgm6-bhEs_e58OaacC0Olc2yxgmfOABV2aLj8JFc_wrRspIFEd614HaAvY2LxBe7TXL-aMO3yfdj1WRrJzSPRnZJKr4GdvkHgNntDV_9XhurEyWmCM8Xgm4dDDpEghqtoW9L98EMdnSkIg8pfB1qPiCuJ2iLUSlxwsLSmeJCPoR3bgl7FPVvjt7cAzFpXKV4QjgND2rNqXaDO3Z-7Ct0tf-7cJAWN0uqjNX9--tyZEF3Dz4--HaMyAYbu3tYRPr438vE72YZl-eS8Udq6D9fEh0uHhL7cTa4IelHbHdANIDWkOde0a-ls4WCbfFcY-VH18swdnik-U-bioyP62ImOW1nBmiMBM9VXHkv33u9Sxew2jgju_ulGjLRAKd4M5T8fsCHFCOOiIkhz78U-5jEF7FHBsLAxDVDdYfJNt22vL1WwPAqOBhbN-gmBZ1Jvmy_pa-frou13PtwwNWF4LoruvOLK-IzrQAyHLheN7iHqzqfP1Q_5jtg1GQoZSlZL5NRF2jy5L6G4q9ro5VkKlssjKlajI6O382W_N7Yr1Q6RfBW9tBtIedkHWZzC6Olb-lWgK1cmS7fEKWq0oZYrGMAOmR_7ckVXlowrXlk3f8GD9c_KZ7oOYs20G0fZ_qzjcQDiUJu6QwmQPiKhCflLxYyrnFQAYgLAFY_XrrctkyiLNOlEWz01EMEiUq6R6xyxU05zMy1xz2jQyKx0tlKLm-Y4iCELx1-jfjvh2bAD_mJL2YAbIBM-k7shC7GT6cmz04aMiL17zs0Xv0RlBjjlTup5U46adJWpyNdUf1CnnzpGJr2Oq8FMPO0k0FZEX9teIPEvV4W6N3TyCyI7G4xCm5az41yJAF-uGSofmIYjU3xXqRM_UzAws3Tzfd-zDvd1A_HGVdgrsLAYF0-65jLdIl-7u7Ba-u_QL25gt47XPu4wS-ruoLjgABNVE9c-KT9ttcYJ7rpZJ0f8z-3JhTG2c2eG7q0UywN0yVuUdGw8ihFp4b8FMz5UkUg9WEy6ld8s4EEXileBt7kiL9tMYV_UjNgCyg0TJKs9R3HR7itevt2OXxEKSLA4DbP1zJD09NtDrTFL6vD60UnBMv_ZCAcecf2uVF61_Jfr3uSuZ3PoyT4ndOpQdJrC7TvscnWqD_pHT5b-uFamKeDSEoM8KHmIunLLW0GkDACc-yQEROWgnzU8k3IBcjFT3vjGRIPfQkVRHJoDfDEnyQT_DQvxwCuCMSrhWaUM_fZAxESsTUec6HFNE7Lg4TwIGUSgoQdudPTQ2DOfs4xSj12r3OVbNUIrQz4CDsBRHTRlYiJyuXSt9j2dYkuuEydR7g1RoVgJPxNmMHxCS3uJRxjkgAF4EC8QeJpPpqo0QLGBxmOaE4GDFOZsEYCrOh0QjITUFFUYW7bdmKVbW-TMfOJO4DieoQ_-pskcHsiKFaxTKTaebmMaiP3jkbfjBHPgTzZhtCDQYdRn7RgLq4I9OJPSWqSh8Yq-_ijfWuG7cyRXrdo7chY8hklYC0rx4b4zCy4y9A5W-esvTQ7DLac5jK-TG0t32XmsQo1o6-n9sTLRcEhxHvkhnQ6q1q6cOxxgZXh9-9AzaQx80FFecNQbXjIcwSBktBEMxTU3FSsQRK9kgOd1qK67MCuBOm16zuJUlerh1DzQnueuSC81wfXDa_EVS-aC7XLEKcz2Xv0uFQaG05V7-Tyv734b7fe1RZCUP-h0_iSJc4mPnyPu-Nh55XtydQ6TXO3HsaE0ZpF5H0wkp8K_TlxyL_aDoT1v_6xqEVAiXkq_5iv6rR0iFFqV1iGMgO0MVRTkh8UBp6lQXdp4otOaQVNZl5dWfo6k31zm6zj2wsSr-fmPyGO6nIA38syfXVxPycmhxTW3z69IkcFfk1voQanpu68eOUAgMw0KJ5DNHElOcJWFBtepch3hKIgWqhLwZLBSLLDhYnaIT5snGsw0jOl4YVMiovGjAZriDaBxGOM8t1CTvDw964X3k8z9r1kZW3G6Jkh4073nXvLk1C-5ofGgpcupBU1ZbkKZKc2l9rt6M7soAbxeAxq9BL87kEL_xi1StV2g4dLXxGcGSWLdSdnmDys1xXAdzIsdShMiBdRi4DWIWe3wuQisW1bIaQ-K1uA-bOkXQXQZN6rJaLU8ytV4BQ0sa7Ep4Kq-7lhMsICH1zXRtzC68UlQ_T7wvqVu6IAxRwrAwNCEk21JZxIOBI2KFeZzUzmhmm8GJ9G7AxvMNq25L4xtEYomjFCw8VuxRKg-5dbA5MdevCG1UmMstGnaThDvCSM7x0spWKTpDhb1jRRWXjqoMnDuoZcH5wBxAS557dKHvS98tlYqiRsOHFc-bMan7CSALTGwEH-PD20TERvMKolUSNFbRB38GRVyeOIBsRXG49tQHn5rope0vvsUrTIniufUlKbc2SVpGKPKTpUvOTRR7nf0lMoTcTOKxls9s07VLstXoYIu6u1s1dbvzK19GJONW0Evdye_XhQP8K3ShU-LMXaoOXGc9AJMOhxwenFc8WsydjrpbLOg9T7aMjXxFNFyaKM-vUuzTFFQIeaGSR4E3a1nP-R8NhQIz21L_6iB7UqeC19mYBOYbatm-9aas9z5i6AcGAuR2wOmMSxnnIlGB9z9u9JXkoq2Oaky_btAiq7nflR0WCeLHeom61sPzvmI4DyF3Otr5iwbt56bNLSF9IaBArU_75zLSwzj_yXX_pVqnGMUd5PyCB-rShi_Ahyae6QA5GkbnPMY0dF7y2AWRLDu_cTIEPU8QP25bYeIyjiZBylOgG0L6hEEupFftnJEOcBlYlQSjGwlOIrT8vyI3N65J-Vm3CYKbB6MQkoD3hfsdSnHKIhbQMrn8wDj3ZL5kKxtVclzCGonRt_NOBSn-jWtPnOC3SKmgTdSWP7JbNI5Dy2vgLueqPe3hesG0aVxMq1tpHOAB6A8DJLTz4mP_kpm6CPHdYBkPeNoECGbVs_TkjeldHP20oEMBo40vIABK-JOhyoCs3HSvrbztugvOQQfgTQwQh2CMCcffNYHDvhhyvO2UhugtUVnoPNto2HA8AeTNzTQevPHZPZcqsvxMan5N30CkSL8fq_-B38L7ujST8rSFDuG7krdkDrgnTeeY9fJBQYfCU-c-b9L7hICEpGKS6lwFzm8Kssb2HfpbyMrZvz5oPjq3nCJsaHEPBNjSEdLZBFvMAGn8PFu21yg4oQT8suVPg6qhSj0onZQR9datsdwAVHGZX0tMVrJfmnwgEZJbcbBBd5kX0178vqvJ7fIhbOUlm03kxW70tceq2XJ6bbOkjRb041irCrW5g1vbcClWIQGWbvhIudVkvES_o9V3I0HXaQOLljFHIj8mdI3op-zukENXcCwP_ZN1R9GZpViPkU5LyDt_LTLp8P7sYhDoFTGRRlAYsLoXreYP23hI_In_T51li4HxP6XSpxbcMpGAIfdHA-6RN8rFxRi_v_FzKGaKFjxlLMNIm9zeUsXy2utW76OZABEl2zE5IvS7xPPoBdnQvAm9RM5HEc8CmQ25WhTmgrkzUgETjmr0FBDMUOmf-N0EG-SsRW_nDEOmDhCRv-D_3XNddGv_CysZ3CekFl9bhjYtSMrHq2IVJQeZgGGKzHLY4MpOtyVIqNw-IzriHJCAMntP3FCnUMl8Xf1woB-9NTVA319Hwy3dROD4Sq7tsq11HNKri3VXyT_De9NPCnRv9hHRZd0KXf4m3y87kFdepFrVFiLPPHLnKdCDn1OaXEAc0C0PFfG4Ds5pFEV_vleOgYmyHgNoC4KyZbpVdMu1JH_BdBhBRaWlhYFSYPS_RkcqIBBf9enrwiJQ0msr9O2OepgpARRGfqqK6j4m7vRQyETNDkFHgtUwRytwDhQWGSNXz7fFvLA3ru9BRg8NGjxUhhjm8RefBQw3xV2guXHy6LtBtHxkm4pw44ECMe-4Hpv4U1BGNSmlrFArFweg2nhvYa-1Vu7zQ0NXT5DucWofjoN80XvpoK995eyqIM7OHdlbHoPXuGjA7xhuEu3xoFP_PF6M2e4UXBaE31HHZMQGINvevVvYau30yQBJrhQS20LRfEV7Obt85jPj0eMtmTavq75OBKNXO251_B-c7SbTxe6FY5DT-a6e0YUciiMN78GFv5HafjC8ZB5W8VWeyiKuMSr9uhPN_C_61Bfv9NGgWVpa5C5dEAMwGfN3X4JDdjL1Xxkidcnlo6nnDbG4iXHU1B2CUrLCWJo6WFqDnyxzgirLwq4Q0NCaj_XrtKGd469XZQeDAavxxh5fVKbGGKHjhIorC2OLp_Gy8ZXI41RXoe8L-V9bso3wnuOPEP5BH9CY_EQGmm2PgrvPLr8xhDlP1tSITLSqqlaCLSqgm8IJ0OfHJGNR41cgQjjB_nw0l6GpJ4UaqlQP_RTBiDGqOLmvCsdFCsSWweyLWDpR9ZXrm2WkOJOKr5kXuth3x89Lcxja30TLv1-C2iS58ThtGr8jgD_C74qNq0nxf-igqBvvy90kG7L1lu5eA4gsh-dY1LWAHnot4TYicz1Sewe0P-P_JglXytBV_vYfACAthgJUV7uGW9oyKVqQJlbDbreyHRKHJ5OyzM0e1kwosZilR_nKo_MpZulG8LK7znEDJqvBa1-WBAp7DEr-EohNQet-pwRXfWDFV6D4EZ5wO2oS4h6C3gl4rP_zG7muLBYGqzr7CV227UHMi4WvoyYCFca_w_kGNCIKC8IYAMlaNQS9nd2QzSa32Mnq4EVmfNhfliqSen0rQU1e-BtNIqEaXNc5ZXAHQOuqriant4JB0O1v1R9T2QIVVIzvL6aHyDclq9_oKE-yvnOtZm9q-RNmAX4hNT-NBv5SdZQMfAvEF19vnjO-OPCa9RNocwqJrTYRQLokF2XxMD5OLWDGkahyUYEO-r7nZMh5pT2lop2EXyn_kBsFuUUQoSmeC14mNFj4RXSo-SZAXoAYoRkfK8LK1Jo4PCQXUxriyabkbwMBM-5wIPKbpO74T65snyu0dT_E76bB73B-A2e-DzB1geN9lKlb1qpKfLDzYsgVrPY-ka7chBuaz6SahR5ftMmbA7ioZo4qsdicn9AZpGjIaaJNcmomlCEkZdKAE5qVNcIbpSiSRoQsBB0N4YkJr557PUxUzHfDSAixpecmte_qNvhWq3rVmr-NI-fqwQfvQygxJx6sbCXgp5qMkD0EFLsAvlId8KIMW6HHIDOEOs_zKa6PXUszHeIrxPoRXXIRjfbnJt34Ro5pQS2bTgT3lS-KwPxZ9c2NJTndUKXkGsV18RxFYuTo9z845bqlgeWlD01h6yMCP11GKQZBiYpdX6AfgwwZWKsJ13Cs2WEx2lmQcnIc2iiGn8bde1nyvJ0JDArDs7avSoRPXyNqg8OydAS6O464lnu_18NdnKh1PwWcldjHl0uQQ91OGNsXiK4hiBx5jo2UBfeh0e_en8DszVPZouw3A7vOyc366Ho6o2GYcBlsUhTaW7yRZNb8UQ6FAfmrRIDraOVbUeE4bhXG9RJ63N2S3_koGXiZanNs0HyuiMdgM_cGuzLU1J-bXITNA-MNa0HjHKqZ5r6QibaEh-uAwtT8LKZVZlv9kFrcE-vKJ_sNjXFVr7uPojynULU-R7tJlrrrbEGXP-ryvvJ8uCDNma7XnWU9TcvYWvdD24F1_Rw2d9J_FgfJ3qlH_0_on0Lt5UZitlE_fMXf0P6JtVLliLvidhs7twBE5uttooAcLNjA62Mzl-y9YZa3GOFIKRI1kDlJE5LlggdCWoQlmGyfhW_rYsBMJ9glceQLdyvSelHJ0fXY5kYSZgcHtOyJX7Uf73a8LZf3M01NPql453bgOrDN2kUxVhCt8dosTtqvO_bFfUoGDkTLdBD_O0ltQtrnPBkGxLizqgAhLLN3Hhb_ysKXU5DsRCFkbWn0B25zhsG_-V_Os4cnTpES9_Fs9ltQ1-oPrH7Rsz0uI3plgN6eFjD_RHL_dDBKLZg_MgLSp3sN_y2iALwaPkV8NjG89dBmURuWJ3XJwjyB4b2gTs4gm7FkJwvM6LtPEDMPMp_Ht3jHCjLBcaVDT9EeaYfq3tHXDz9w9Wo-E9Fd9FMpbfjNY8_JTF_rc_2LDyoNd1X70O5GZYLX40rygwBf6RIn5Ibd-agg0IxkUPBoxg58OZirFvFjCnED05gvRd2-FbCoS5cvmwU2GrCotuteqBJm17unyRivXXZlWjuJd2rRhDYOaRyab4eRf7rUgqFVNMN9Mz0iySUwCPk4S8Sp5caxERuzhjXdse-ry3nACa0n9UtdgFYk3m5B4rbFGI5SdKNyWNdDCy_8_93jvtFqi7-PadjCl1PtKXtRTq_KHwP6bRxly8WJ887En6-u2W_zTG2gbf3ppPRIRmhiqmZO7urHuxSYfskcm8bZZlQgJKvHb0NMGIiY0qv-LhJ4G7tpTMPo8ZY7eCGL85VJ3BYfgVuG2i8Nav5rjAmuRdkjAkrO50pVftLh2gGWS8TzsOHGnlug95sPq_JQujffU7RpgwFiZCIYnKv9GY6jw3xBoKSFzJwfWc8LqUmO5IgArozGgx0zuBvBHrQ8vVW4hR2YBqRhFaPVgx4S429VKZvVHBuuouGUhHjuHHXKf5-WmVRayKV97-EEwn2SAX2IC7HWZlFCglndInFXNmSxDiefX-U4x476rsObr4m-ksS2iF_8-NBU9BC1igDqCpv0s2p2Dqiwzz_xJScCsf0xwX08ZkJLdXaEaoFl7meTsciX2tnbOnMgs1cxCuxCbIT6b4wIvEfbXMK63npaF-4ftHHaQZptCPk8srtfYCDCHpvXRv70KegeTTPvE5DRYENm_A_XM6dDuyq5qqhO4bsm9C-3CZUxuEpDT22pChAOsA_DYkPOK7V0mf4DeBNY7LZJfdpeGfvZxWqcxacfX2miGRq_uK3sfwlHUnGuvC4e1ICo9MD1a6w7dm9oJD2jN0zGgUjByeA-9s_LP_Nd2gs0MBNC6nnjIb-pyok7H1FkvGsuu-OTN_4lL518JlN4ZK22T-gKyOifG0o_BWJk8Bmvx7cGtA5xJok61dI1hQ-hKDuxvGBx8jl42KoPk6hSt0hGFKXi4nBlxnXyQ0SV8eVAGHZAaR9jKvQKXIxBPKU9Nvlyb1BX2eZHzSpm934VARNr2o_mG-M9wGJ48fE02uIA3fm8C4M4xprnh31AoAv4tUVs_Qr8ps95Lfi6BhDGgfQK1wdM3EOXlwND2ZPXIFVJvitMlou-R1S4tmg0xdxGjLW9_R0uq4G9Ij4JCOpW8gAxR0FCgPDYFmJodHKGODrxQOgistcyuNGWvWfRd7oReVbyxFr4JR1A4E9N6w7Be3gX9wpxOJ_rJxWMXIO-gnGJiCkom3Rw8f677Ue8Zn2YAX-OHrpAMpF1O407n8yhhHUfnTp48uG0nmtc45mkJJ0ux3Ohb9_udMd-2x9h3Hny1U_xypvMEujahAB1ZpAqXkpNypaSr5tciSrEx2qiuKAdnU2a_C0NXAz_VaRP03apVbG6-PEjsokeVKErYxfTXdGmmA7etBTPGN7V7_q3Iu-POalJGvpPMn2khu45lTHafsRIFCn-gZ4EcNG2kqmvE4cSKn6siLqfxRhO8_Wk_oIXKmiVXdPj3fH0wZGttdaKxNoDyQphedS3KVxYqJaXKmID1ADnvgk0r6WyaHP8Jz3wlsN4QpfaPrn4D83tnfw6WTGPbp3TobzVlvqLPApnR5_TMiqt7IhhQ0aq-r4Fv6DQeOrbWDkSBYRAhs-T-6cEy2zY6cJ6ek-WmxwQFdZev7vBbZ8DXkrq9XM48XPH-FZt4kpUi8Jm9VERPSw8vc2TeLZ7PMIyPPMtknu7-gcx4uRRFRId1GsqFFz0_5593lfctxtAVetD85w8HyIuPKmFID7nhitInVTHjafdbSzwliqasqJU_zTtbdrsFZZHXx1F_09euzRXjI-LBeQsMW_E-y1pqI5LPM0ywpUt1HeoENmZruN-0Txh6l4oStJlrXER6AUV4Cv8BNnJezwjwoc_CNJ3RPepPdlKmy_fE2ixjBwFmz8cbDUv8kUtJgfv7u_GXdbWOHjDHWr8X9McOgWN1UkLtmIVkJb4TvlhJd1t-fOR5reEJCLuGpqgGE_jGvsNgxjYkOTqO1TMU5mneRcXeY0lW7j0tMoH7Rs7z7r0hXAg9zwrULnq0tLYMVN0FgBTPRNWDY_yPXEH9Xy_2QdnHT6ijQjSsZ9gTX3RKqcehDodafhe5Shj9AizHU_jJo2LrsVViO1EYCplL2EtIXbaPPqvTPWukbZAupNJ6woMfiJjk5D3J30qfOMwN-kMQqGTbDWWqjprHPTXW54N8EEvJcMsKnBg7FvLV8zd1uI2LJAxtC8nx3ueABvCiPfWLv6SUeXNblk3ApCRa4rGXfySzKuvtjgOVwkFzQ1AJAw7hUFip4LgiN2FmisiBqDH0eND99yJsgmrauZnGq5QTm3IF1sxHfboCld8FjyGksyOCPuFK_CT9ZJ1PFOIHbB1Sbbt5BqYovPRCunHhmdorhnDjoJ9OOMeKP5yNOEs2ELG4BgUaC8N_S_jlBtCEyy7yx6ezxi10KdZJD9yjn5KEtnLH2PGTuhttT7uJJPm1FTugmrkeolZheoPBGIefcHsoflp1tiCSpTHLWDK95dSBhjtpYdmj5Mpc-3mcbBClIOrL8r4hnVUvFCTyzHQYqEPN9UuvbkqfiMCCBlDdtuosXbYOqD0IaQ9ME84e-lb6P-ZP_9g66kLVYlMD1vZDnePO0M4SWlENQ9E3mToNZiNa_iwYvWWwjQLqTZvon8Gf-yI1cuUDPxLuO1NjEB92xoxmugbAt7vOcS3c4_eMUMCpqape8HOdNPtpp_eQLFZD298Z02XQBnlMcdoFE7GJZWKfqKU72qJEB06rjizBKrUNi-16ik6cqg4TP6yNftKgl-_pQ8dqhycV2nbJ8LV_Av4kT0xYiUq41gC-O1wiLSVmNQha9UzjHy1ZrLrB8mcsrbf1-IgVYf6rsTAEeYzusldGswC55eqRWSg3h-AZGv_e9NjliwYtbhXtK6bZ-nQcK4JyVkVMIzWXyb-dv1xqHvB2VM9R_y53g5HEJyeY76bgFJcxGCFvd6OLDyfcqSvhBmgF_NTOdVXC60v6A5U2XcaUCshy_tHEEWHma-Z4YyNE-oQbM-pUAyZClyigqoeRkvsLl8uyshz3gX-u07t2K-TZcK9lRc83aWJcIlD3rnFMu8B-mHUT2sj3Hufbozd392BQQfS0zSFc_o1C8EGqaP8nfpM_eMFFuJ4LsJUiG_3xSGgu7Egiq372SPYIKPowgQMIlnMYJT1UFs3CcXPMM856Irksc27c8EPZFzWpYbIPi85IoiNz1VRPtoNEzExXkc5VdY0fTCscPv2q7BSHPdd2PCrjgm7fTifawSz-U53vSy8cbWWhT0lTII1welDz-eCL2aqzOR7dMgwRlyZOgD4yt-KgLeVlIXL8i7C79z9fX6Ocmp_4SkIek43g5ysXqou02yvthUR6JnCfPEfCFC9nQtPE19Oda4jSBdtnznus12msJ3LOrOVhk1DNgsKbR7vIr_xTpnzoq7ydwG_Se7uWYa-jBTHc5Moia1AiteOU8X4VfNXDdk4AmyZn-dXydul8GhCbTFlavmBTju9Ovxt16IT5OzRIXQDBEA-S0zEHlc4Bi483in6jZe2Dvsb_3VOTKCjqJLbO_VZALrbYrAG6IPXDdXuO5NNuyO06fi4EF2WlgBiE1CSlrNhYKbafQX10smwRnQM41rUHdaCA-VYltGRJWtXIznqx4TZFe5gvVAG6wLWwjM3hvSoKDuiMFKtkhEeoogb8ObR8qnofxNi5Tq8x-MOrFOSHRbWi5onAf0rT4l6LwuQ1dtC_MqYnrOlNKDDarxVwMyX-HsFt3u647uAUO-tuj00JCDTuY7Skw5143ffLNkZOUGMGcCVlCznJ1SbYuYJpczk3hl5HhOb-w36FO74iI8k3kFC8luFDG7FQGAIKosDWpsRE_Yp4T1UbUBYt-a8FhgKyGq8hDAu7KhqGriGDuoqP0wxaQIOnNUfqVV0GtLIgDQ1aCG1KkCERLRQH6GautwZNHHz5MttrBFW2OL-mhieYU0pQDO7kCu-j989sDqF8IpEpIPtmlBdmPfpFlmLfRq4WDSd7E7lW48FzvbT7PEEl0BDBmX9QsIhQTIvokn1h_D1y_whQVHi3Wrj5id1zuaIDUq4Ql8HK2NDxPsy1I3syN_QMqJuhF1gn08HpdEPuxS2wYNzUKr85yRFgc6BhhHeGhtZE_2Az29CkWPWdj_sEDPd0HAFAZov1lAnS6asJ3liaiFqaIX165i3kdRwWp5Wipxetcb6ncJ51qD1ExllxZXqoPOctPN32CmAPLjml2cAcY4SUf8t5AdbK6CV1Dxml4oLwi4GyA46pphi_D__QE5_ppesUXPy7dCVuf-wVRnG00KaX741NvA_Dj1Txn49d6XfUyr9ygGFcDkX1SxiIsfaoh8ck8SEH7ibhRVd7Ur0KJnKD6VS5HVzs93SAgQ6LlIewFD8qruhWtss-MUEWenqrL2LzmGic18cmJLZuxcf-mrk8Hj1cq9mijaR8E0KbfsIIFG6ryZM7AsSErJhG1xpTjKkxsW4iD7kN_hmWmoXOfJqWRm-MhjKxps7JudIN80obZ93ZdoamLIsf_dS6ylQL99TsIBA50-pfJUK9lV7DM_cbHZuUR4SjB_NS0dkV7anB1ziUsgV_vVTO96nE0Ea_nNOvQpAeQyRAOCDRXuMq03pmWUpTEIwPuDYle0HOJXoKyFkCL6KVEOgAJ8I2gS54jWRZMo5phXgoWobfpR1Cc6mfEBb3u1WK90DaxMZoDGCWk6PV9fq2-XgxN0YsXT4rwXmKQhW2SMn85qgB9mDcwPnDEt_z1j3eozPbOecbuzhKMho-oSR8ONGUJ9x2ZF-gzafZitERKX-l6kKUkq_frukLNglVKbjWyKDY2jnl8Ps-TbE6ozoZywKwbKwic076UybFsC2Pa6qw_yXy_XkkALARrV7txGoAl0btm3_CYohP_Vq6NhLlSw5CQ1jqgJ5YrhmQ9zle5VHS8GBAlsYOtVa9-UFg03Ppgo2X06C8dHe27YTS3xPi6q633E1dVhZcfHt2KzN6B3Lq8RSP1pDch60k2Jc6e_jUjOjSQSoBWtgaub--dNDKhBsVqGL1hwkhN7m957h08K2kh8fN-IG_4ziY3sKtFQKPVgOg7ojRtY3jjxGLqGjg36F3SoUXLQiyds2NScGQuDDUturvsymw-aGd1mRJl5rOVsWNQ-LOuPRzr49aoSO2rj4WdyvlTrvbmeluP5TDtAid1yT2-fZHdadVbrmCTkDoNbwF8h_yHQvaKqjEIs2VxVU3IVXRWe33C0mGFD6LYPUnZBAnJY9HGbM7deBD8B7zWo8wM2zcIvgyllrTGtobkKSjXKUuJ9u6zF96UsKQijGdwZCw9sK562ptbOsi2lZWFyJrHCmX8WLtKvLiNsekcPG0Bp2I2tDHGbaEjr7wATu4TIkGcrJ7cOAuEMXJuL44VZco4-uLA6hl6nUXUZOpeyUiXiBrQ9bZpj6f5TJoFGj2qLzIJqrFvH1YDgxMPWsRjkMBcY6c-_u_Q4ByvCVzdPwX5wbxRKSCylZ_ZrUQP3ibn6nDQiFdiZBHwwZqbxJ7vQ3_H8YWlnvHdRyKiWwunKBNjNAijDLRDDBqhMHaSmS3BcY8CGxKdCam9YilxQ-YIIr3HuU6TzZJ2nQCpAjTnLzJCiteYVDAKfO-wXSJk4yyWBSkL-3A07ckgfGKm9QL-aD7JgfqssmW6bVwc-voWTd0fjTe6EAKc2Nl134LpnYxtcf-fmSdzQi3pWm-0phk3uAu7V4jAeRxqL_FvH49dctlTqrOzjKNGk1GvtZnlYbewizSUrk7KhA_gafDbsuQobpNmV-7440XTlhi0RYd3RYfn7hdFWQ3noxlCrAhvB8nZIzQYyen8MG4RufWCs0dUcMAPPJtZcjHD5XPoakGBKC8DbFM0uqyOBWdulrBdn08clypef8YGIs4ggBELNE7LolKlhI3K3BtAKIAKfpUq_ev-wqsKoT1aACUEUNrV4wU09tPVZsLfxYl2D5A9RDx6Hx4fxsfYHkkTuWuYwAp1eOENB9tDlwRnSMQbMobmTqTfZxygoc2EKxj-J6l6GTq4__bXEkbilavtgYgngOlm1cLOfjjnIL9xMUUVjaUooqciXy2T3qO_lMNLWIdOv7m0vrjkenPsCCE9XT2dklH2D5cwsHqwdhiSX_NJ5WnZdfUk_RezvbfSmJuFFEKhCPWGglojKVa9vdLCK9iSB_3BLKzgifHmCiVZINfk-5PUr_ErJ60uqm7tQbEgZzuF5n7t12C52UKO-0t6OU64lTmCI-Aiz_ojODWOxlxnIG7mt-az5jQW5uMZ0F1VnDOlFue54WX_bsQAMQ2BDOawNGh7CFr_Fa_Vm-8gLIsy31KUoklAuTlNswqy-4L2tXXCpbz2e9VnKuryWdQRTQKNOlzHucf22JlIeVT2IiOV07fIrNKKAXP99QQ_uPPqMX3RJKrYGVecSNNL4wZbymqlkPAxyj2oep6piRlZagnTDyUrG01j8pCn2z3hEKNhJGWCtl3TVXiHAvobQsfn0pxLUyXg3Lm3PrQ7UQqYDGqNGFXEz8Xbtv1_4Uk-YT9bnRRH5LhTWVKFvqYL3u1wJMa7lepnVR_7kyEln3xuapOxqgeNtnBVrMS86z_rkQjm3-k3upprMm1AAsY138c4j334zbwstpnJfkl82Z60mxWpzJAzBbfNlML2eKew4Aobt9wbQ4e0U4DtthMsHnlnM3lvt8TWbOfTS3Sci9_eQKTSt6pfvShEswZf_GkGlftqDVS-VJW43ECiOb8mewc-wXVlJPcgDx9ytESFb0p1FsXGbd-IJm0syzUsxbvr4YxJ96iu9FXgm3tsoOW3te7vSbFXOY-soQ2mWUsZNmJuj5aB12JZ_VMPKcFOTHBbbexAH13vQ3tbaINKPJ127J9Mrlhr0I7KD6xuHm-vA_2YambO1PE_4XquSf-WzkHY-WyLJClCfyDSIAhTSRqNuc0p_u_YBeE_0F4HERm8K_39bO-405nnFkJ1PLnKu1fQhnaS95H9eZ2ftKC0QbnkEEYJgv4lY4ns33jXLBxHnMUSXaDbbj7lUTMvbRxjlnbp_U98fabloG11w92k1EWelk1d8dl7GasQMWtqJc3kNjollhu_QmNGgiltor6Wy9SgoLuinNcIL9Wi4AQ6TFoxGRVI86qcucsXlCUHBp2LhlP94MMLCYpWIFU5hp_GehfdfpeF9AxJz_cjKJhpVDMt56sACaWMstOZmvksCgXBOw1Vvo8KTYMbTjhZLCI-7alZOSuUK2iRuoMkuXRqJGCEkqlDj8FipKQmYolpmYrdgXZCdfKzgDnjeSuw0374bqwexTa4UoXM2rSIJgbpROac6if5hvS8GJ9IpFHSLJsGoHL72JSj2b_SxwU7ca5gWfk8DiraJ-ql_Nj1rX3C51jQem9obQXF2ieknIMvX_YUO_aHKDNMSqkfUONum3oMIaMhpkLDpfOE-QXfZJIfzv6rdfLaTbRegzYs7UGc0gOC3D1SDmrDbReBCmjtJdcGB9lVtqp3kvsz20wgQKRwNbS1fVbIfV79am7LxNj9qQY7uT7It74x8soBqIBllZ4FsxCaJ3I1yfQ-bBty5ruXdWiwWd0kAisRDaI__y7j_EQN5k02OsOR3wEP3Xo7tUhuCweEYPNz7SNLBAO2J3EoJILcGxjCsXIhhNhUVN6f9D-PF1VW51PNXbdZyT9O4ix2I10wbfRp8A1t7r7hFLGEqwSyZNB8frA-ndgi4TUvfD5blx_dhL9dVqBr2W8omOOJKks_k381jfFd2_je2u6Dxoq-5DvxPN-IlnN4F7bwBAnwbn1sAecLYMGbmgzG_taadAh2_2QF59iea0C2Q-rAD6h1US5HrQkroycLDzX0FmdXc_iVRIpmmo3wxLAefYGKoB5ODfJ2duQG2rixELu7TWEnW8FzJjeOTLDdot1kKLTexh-LtoLv1jap8xj9EKy6gn9BU1sZ6Vpaszg7Dq5xI1EzGolxnmg_BXLhRJTXwbu8kfHJKz7Z53-l24EuMjspLYEyO5M7fBHKv8_ZGOjZGR62v7IerIMJEb6J47PZN4jYVCN6IHEsXI5Nzi4JTD-Sty5c-S5-RGPFnoCB2t7FwRlhdxvh8Q7hVuTcnc9w-IL3G26J-EQ7X25_IttcrFlVvxlC8dGOGQppwC9RkZ1YXU8nqaLC3UANNNi9HVflJfjZylOorusaXvoM24azuKuWWZ1JVYfJk3cTYkxr40r1WNVSsWapcUH17IpsOSEhxMfzkp6IHVH6afoKlhOx5he_v4hv4q4TIQcXCTQGMHOHkMNC3f3TPVHDp1qKzYeNew7CeUKR-Nfu1JwoXj2IznrzCos8ulNu-ZL8MFOmz2wJy8wFBSNkLygqaLYP7Yjsx4HVgHpGS36Nt2RIYxRRxP1mW20wCRcas29Q2VfDB1IwoAzc9Qe2o6vehUsqDAP4iA3SX2XU8x0aK_hJs-P0jPg4Z5-dJ3XGYOT97HnOlTNKmESFrU8GSIq5TXKXOWwVRw0kjLxGVbFj-RbHNW3YLYnDIB_8c9tbQB8njqKLGGUlVaKb6MIPu0TUFOeiabu5lUpxw-wOIHcMpfTEn4adloGm0gZVJvIHuwaRXVA-9spH4vGYPhpRnSrNjTlHkEJHlURxzMWpF-qT5sSr3QacEtw0QCQGiSZfWFYPh8SLc3R_HB2mSpGlEf61tQQ24uTKOJ1tlQVoUOMoMu1rHTjm36gOcN3lwdzcUgdU0iS5ByRJsAXN3JIJPjVnMJec9L8K9tmoRrW3X-c3sVguXYeMoav025belYqD3gETgXZd5t4wUVOpRf4ZgdkWnR4i17LLwOcCBJPPIIWMoT40HEmuS2kaBXsyVpYHSjXjg11KKsrBZLJb31MwGYzcpOxzUT6SVTXP2wcYt5PpD_7EMUVm1zLxnDs9p0izt8NJZ-laLsQQhRaeLtV4wVDt5jI4wMySDH1ueoL8xALvj_ROuNYrF3162qcwzO0xx6beLwSmPet0BSnB-4ytxx67qH0lmiv0zWmSP6uUSPvM9znTYnXAowvyegOD33c414OTV6OUh71qVMXdc8N9onyBMhrOvHkxjnYA-2wQjAP1MNA0OWdGNlgBDe5Q67-o-nwSVwmIMGQnil77EIg9vX7cppXFnD3XPI-W8gKUeuEIJksH_EKQH2Es0YwrAKjTv1xXnPN9vsU_gxRkO-mut55Qs8JHsCv0s06PP7VyIJuTXt601RqRCV3iLr4iJSmvHZ4VbYlVZJJd83iUZGTLJBIc0rN90D-NQyTx2X6Zg1Gffne418s0VSmOdOhvrlTZxeBhcxSzyO18Jh5VL9c-kQtlBXpawXZ74Wt8WvPPUs19owDTUNuPibH2EdpEmQoYmz_rsIlOxgt_BR7vWgFOeRJgQOLekzxSSc-qiEBnHA0awDG28z0shoPYQT9Qucna6YD9WGUZj8bXclmDPRrWXO0Fpn3YFQuBkzWWWSINauLaTSkIo_iSpmYGsIDl9zZhzfmbFDle_x_bYc_4Fq_4-9eipDWcnjHj_SZS_-bvZ7MlENaj7xQdpfGuUs9GJKdKj7ItS8lphvJu_m8AbvPuN6LCRdii46FykbMonmMn95Cbj6mA5JVEi5kdP0Sh9awMVHxoVxNU5bjIW8kkHV-dlhkyghB_Cf6fjR6d8CDvduoRh3AgWJMo2GNcD5cD0J1auT2Aqe_lZ6PAzLXkTrQNGUoGZeL1PoyFX39dpURgwEEAHMAr0cclYc8WCU_iwPlSjb0SGh_E1Pc3njYS7tRqm5BrRdnjLDMWFUSf0ciuccJM5bdklE8wzLMTSQKawnwUVTxFlh8BrfaOPbN6NW-h6blOp065yi6JdpDFSWEujfLvta4vMOIaGmI4i5FYiro4Q4uVZ_bzhMNHmG8XHuvQLOvwtuaSbJ-HIKGe92HVKv22sdd5nLuAZ0OB8Er4LvhYiLQbgkFsKCVop3M5YNl43WEuqCNRKEtttQ5_cheOqlrnODd9E6RAlAsOIad4FN5HXGUHDI5a5xt_NA2gIiwUfjpVkZCiB1N80gaiOgsxVKWmtFA0RkSls0hWAokqApMNG5sLo8prJ38ROU0JSrMZdWjq6dsZjzRT9v-EzZpTvglw9kE19OArpSXWfiHvmdeAiwJsD4Gz2qFMDHAgBGvMDWrIfpNguo8NCifZpUpzF4mWafv9jWaSjKYvSUwtU7sHWUvzKijFlvUy-T3efuCqxHPgEyekjxGgI3F8A1fRvvTIDKYTvARO7DhvzR8UQGsVgC_2mf70cBZ9xD8kRUCQvSmUeC24ZcfedB_0Kz6D87pKhVmM3REbEH4KW-RzR9i4Ysta0x0ilkS3hOGCxiaHEew_g4-IYxSR60jNELXSZjEnS-xO2KkzEL2t2WabDLQKgSFTH345JNS-lEGFGycjSFrjbGrp4xkgDxuWbXQlubyu1g5YsujGQXjptwaUBCCoULmYqv0zdWbQxowkSHFFyd7vq3H8sWUQs3utyvb3f4qdvd8B9FSRAI__vq2X6uiyq0ZxJJOCwO7CJABiUif77tfcC_26TvDNtiAwB_dm_n8PcCOfN98cSZEaf-uP-SYqZ6AXgQ7NiG24THB9az3PJFqh0Tnvn5EisRiw7GBKnz7qmEJpI--AC1WRn6mkGPiOWKlcqZLqD26zlkcUhNFISPkBSM0mt8nATtEe-ohZ_XJSkrDmzzJWaBQaf9PpeWLy-gFzAocgPLtDTsKj6xKmNUdQCQMLDaCRcsvO1EVJL2j9D7HgTewVphrIoJoYK_iUsURWL_X7ppkFTl3fk5HBKL9W7dR2Yj5fjHWVFlmOKNwMMopX2FJJCI3WmbObAUg8xv_KWFwpmgC6QXF0g97SrtLfBwukqU3meWSOr_cEvyjGmGawpJ7z5QudnZBD4Mq_WqJoLzRykXjaWOMFXcM03ngPMns-XVErylP2S9SPzZXf1J5RL3X-MiVfiPnVN7gRfPfvHoWgR1wF9R7zo4DoununDm8K6LdBoS3P3Av_ykk5l6IA4Tnj-yDt0hpIzJW9RfjXlzah9rdy9Q5nBISt7rCqmC4sqgniu4tYDz77bNGRFt14DfTCNG_77JSqvzKRm3V1D6FgPrMdwAbh4GSTYX6YT36H9GAVw7jc4inX4s5xU4VVnHUgVMmxbHjsXXhktyY8yNMml4UIaZdmj-CsS99jwVGblazxPI1nEHL_z_9TqLV0NaMTAkoa0IfxoYn3Kn_LXdvu3HYnLDsDpJq6kzt34bs99bBAhNZeroQ1eaXaT3WY5S2yRUIm0AbdrMrI32azR9v1CXQUyq4oFjWxyDZ_nnlTsdOibsA5KIYeozor8UX2YxElijFDlYIMhtmOE5M7FEmR4a0enwJdJLxwY-iEPmchRWCx2HoBzaiWjc5S49JcTrEhQapaX4rhBXZL-PLJ28_qSl2f-pSNbeuY0snGwvRvILp1yH-8hAUntpSDonjLgYdhw4imAZfkVlU7abR_O6E26QUgokMyE-XIjXkSQsftvTsX-qFO8Rbz8C29wMoKLiVwyB8ulnfKZYJqaM_jmtiSApgO-i4IqlRpthJuxri3LURnS65LGJH5IMlDmz7DM1_NCcwjtwgNiniVtBN5XrZgrKfT2Kdw018WZwWpJnDgmHuzvtcVvKKUSrafIVflJ6f1_s_h9lopz0psfj4zGnoh2SdTBh-lFpVbags4kdCpXM64que8bOoiGa_37inQ2WlR_g0wdoUg3haqSiM0OGMbXoNYeVGmTwGmNZuPZBNmTKpvwo-JAhBcDUw15wjJ5eNcVYrmK0U0FxRL1sWwgbbMv3E7xUS51gRSugR6kWsfxfC-7tzi7NfHG-F3HpcINqRlR2cUJGAyIodo7zogxpPE4aca-TvBCrhDiJ-KbzlrNEPCHfrex6byZndakuzgMG-880HN6p0sBWqm8Bt93FXOSC5ecZH9yDT27dFywcF6zX8795idfwisGFmU9HYgSxOuRHuybzhY6d4iN83U8QxIDsbrQ9qgthLNdsfq-5t52hFhk13XBb4-ddynJ9Uv3ZN-aYNx5ZEw39X4Lv5Xm7JHdG9cI7fYQHAXkFmf4u3hp1i0fmF7rpRm-LtNAnB8B4uAk-E-ZoYkZQtETTII6FCN1SojMf9KWnjmvTdLf0M-BVnCqEQigSZxYDJXBFvncRHXouSkXlebsEbgjn6QRsWheLzV_0hR04WnxKxiiZ_-E8KrFktt1iCzhSqZAse3pw6BHki7fU_fBrY_QrvgpOrxI6G6vAmlD0lcympf1apg4HzGTbKHbeLEpkxH8mkiZRQBzzFLyjaMHp7JRNpFOl_nOoOz3h1JXaEe4iUdFJ2jciEHdytXILO8y6p0TnvMRdzCu3CV-8vJ3EUszNCdJFty7JgqoD5V1zd1U2Icl88cv4BokSTDl7t1iQTjAf2_-92Ra1dwBbMAIXHXq7NyjayxR7l7sftQMhwkrS3tCYuw_Fw8tmUff8DT5lmnhwO-qSGn5mFt0H1_3PCY6E2nV0THkjJpevyoqMQrGEEOgpn1mNJ9wwuAATouDrKy39mpf4j1XiTTzUED5R2ovcEdXPD6fJEM6pj5kEoLfUwt8xikJWpNrpjl8ye1-ENis6EdGn8_CeOoGtdp0WXhfUyvi_rH_RfuVPsQRO45cYYxa7vMUsjo9-uNXI_Ks3zjXlMmWkzpHsgbqO9iXM_d6U1gIBjclkR8-KHcSmvUjvyxXOTVVSSX2Be4QMC1G4YnIgrAnppqxOCA7hSCA16oaxABi7ObFJNlNiF_bxiqjki_vAxdtVseNrR8gE2UE6D-lMOH4ItqF7Ti6cLpiejSxL3MscWnWT-p0KmYdkDkNiSUdUeWPcnL-6mxWxwwYP_k1-GiY3xVK-KT3io8szHNq24bbpArhJ0pJUjc_bZreW7IUNjSNzR0uBvu6IFctWcoHDv30gC6NjXQEXw3HOXNhgIgOnNrg7LFlNqkrgr9GTKBsy6jXuvVK7xh8Rt9OmxL3n-GLX2pg9__T9Wa5-_btZfh8e2DUakF80qxzDJ5xFVkkVqx9wLUJq-XcefbQfCMt2r867v_j4O4uNheirRY_e4p21hZpjrFnxwgnLvxGzO-8Pu4q50kaJQdx0b5XM48Plbs1P0eHEsr1Ipp4norrXBOxpMIFwr_xNGMJUGkVq67TmAcEaAYNp3Y3iNo3P3iPCNYegR4pc9lAung7OOhLbjtWwN3ztCp5NpT-CzWWCXUpFkKc-1WE5JHaXQ8dhFyF-A-M69jb0ZpDFyB-99su9hgA_JHJpL7vNpSf34NJoR4nd4i-a0tPEzVCwbwJmyfozxUYRWnQ5ozeGTydObgaT128ASkzquHAwmDl_MsRhm7ObvwPl-bt0V98tqFSmcwMcDuTGSxZEa1nFEBI1fGwxgHjnpJ5W9dZBNdNwnBpwMJtWPLhi9uKDBypIPd5tUpQRE_EYZ-A5985XOA9bmqP8HyUt6npdbvHUGM9_3MLY0L-zQo1G7kc9avg4lS5jaW0uc_lNITiJ4BpfXRoLlvkdpfMMha-aBwRvYt25T4iGYQSt8SiwpgbaqnUh9bsBKwYncG2ZoI4p2Y5Mag92VXW237I_8ecFdI-zZjluIwjEH9SB0g96P2OKlucbjxfxuAH5VyV92KI_-bPDSOTAjq8hPGenU20fRk3d98K-ZgsxeimWS4qxSBwYo96lFdTKSMNtr8kQxY9fZR0B8ALNoejqOEQnrqRNT7gC8Q51fN94_Ai2ueIhz3bpzOmxkoVT2fClzoWt9HAPb_Ru1EQVD5ORzKuglMGqxdsTUsMWPfTSiutqRX_PWETZ3WCs-lJecfy5eQYftdw30oCvqVKGsIQoy1EdDGX9Ju4UilxHaUz9URlafJeEUXh6sBAeLDKgS97Ch-98JN2la_U9z9-XCbgMewQRxugbtVZbzHHbtM_GidinWkSfCcYd6Ox67CLvmUmMsQ8ZRWS0beLdcvHLipFjF6wcB4W2b8VehEkOiZOPC9-4WQGaUXxuk-gPgm9clL8MvWRjDIJw2qvmxSc7ddl3cA-2CxGa09xQPGZziOJONjP9aj7nDZhiFVYYOFUHdMUkozK6hoEdYHjxrBxijb8HQkXPfBFJnrKPzg3PVk9ekU55fV5MT8YZYtzgq2CHBoLL6os-fBHv3ZjcCkFIlNcpzS4PrZ8lvwiAJJ0d7SEacvmOj7ckUO9_Yzv9T-rJj89LFMbZ0QM-OQ0AsHFCsbiHhcJWbFFbY5eWvZg8Cz5iMsFDxgnfQQ-M9Ser6Eoqx--2tfe4xZjgUmNyfSnHqlE9ySQmDCNTWi7tNhRSkXtRlS3tHB79VwUkBIeyOUdc_9HEpGZmbPwM68l8uBpdxt_fdeN08G3D47XTyRFmcSL0DTLDZ08LbhPWIZ03M8MIvBtVq5pPTVruioiec-jy6d1V1VGj-0FbcdH8k2k9FV4yBMJCrAysDV-XkcTNbWqxg2X0TeY7hmmzKmMiKtwzVAud55p1YWHM9wrXikHu6ceXMTUZkViQwxtsKU2NayqPfN8dRc_c2DWGiEEGjWanqPIBKMsZxWeuNC2LDHhE71EvvOBQ35TuL9TNPZents4lFlplnraS07ZCD3uz3ZbFSuXBBTlOHXEVpvrIifCU1WpM-JC3fmX07WjP6BauDksBoLOsUqzg9r6Q_aTRxgIvHYFXDmLb5CVnI9afpiQ7ftXjzxC4Sl60uVQoUsnn9rHn8W7np9484cxTLWEZ6L_MQcgQxAn9K26E2U5DdtQzP337k97YhqvLsMszS3Pxgb6cg9xJdXTeDbr_iiuW3xstAcE2KGT_1ptTsg0o_bFCc7K7LarLP9qUbXDpI62ovYk6U5C9tnBNpLtXlcIWPCNYQZW4SlykzEOA92GEcQrKSct8xo1_9X0qW8-M3Wm03gDiGgnUwXRF4Pz4cjmLj1riFiyUdpHj2rH8yR80yrP7ByrV2A9jgbj87itv57ohZXf4Sclex2F1t6M-SJe5d-7DXo4GhFfrq6GwGQIVV9FOqwCgQ3cTwfXlIK5YnbLrTviFtGh9sUCjXf4yk5moGpxwK5p58NxhOH52pOwvDZ7sztzB9bBQBKbEYXU8H9iFFrJbybaLKcW8Oi0kYmt2Rf8V_nwxeU5GIlklpt8ewk1zrmtPTuD3Bks4w3B_lGqYjp_LR58afsl93mOxUH0M0j1u5r0IVSEaNNru_Z9iLCXYfgAwPIiSGQSArF57BuEv2RjYw9_lsTG_X3-gqL0x809sHapxAFX5PK1SpwhPQubEi8kd_YKzZFOO2mdLwUgWDK7gjSbYQjZPBMzl3y-TzQPIhfI430zkRvPXZ8LxcPWGLOKlr9x9I9dr0HN496l9OLtJ5_u0yvPNlbf_0duQQDvBVDzTHljgUmja-ozFemNFaTnq59fOU5GbFx_YGhBtaD_VBC46zb2EEyAyvgO9SFyUuEQ9BP7hA-9IeY-BBeBEdy8BrEWY5vSzeybcsHA5jMSwWuV-MvoxWBowIYOOpQ_kUy1SN_Rx0l5Mc3ma7DtkvVzoCHni0Jcs58_yXPdJNpxhFUFm2SFT-h6JbuEgDs_7qY_VN4AtCWuaN4GqXGAP89qFG7YZzuHCQAJuiRqenfKV23vGz1bTmFf9ALt7SMJnFZHnTr1aMIiZKQ6UzkbS1PL8DTGOjw1b8WknZTxmHKKQZD85wE7ZUnT0DOxU80wSuQBlKtggCQwgGkIzw1_xxpGArURgc6As3vgLaJ9PJs_Mv-Sv-wAxRlRm-PCphfZW9c2tkObEnbNQetQlL4IA5Soz-Bv_69NY8-iqwxZkoGWM5pCIj6oey-PPZrAD84TnwD8wGlYuyPERh51lfcyunN9m-YyT8duiuBuZ_-T9qrVylOjEasBnv7StxN8hy2ADKkpT0atIZmf8HG_y4O6Q3RdPJqOETuWIhzN6p7_Dzn3ZuwwX3MKU9YIxhC55brmIUIbXzs3EGSQY0eQVuswaMz0S7QuW7F80DtO_rXt_CC6IMxCfyVwOt_CUN6ZF5s7JWzMwH0lK_UhjaYlA6RcAi5_ycGRIJUrSZTaRf27SiEEVOGr3zBMA55yVppribuE-ow945Kek7wolmqofFwJH06oIbuyePRiKSrRc8RvT_HLPsot6CZziXvSDeIxV-caxRF0mJyYziFEXLiNahz2WY8tpyfMR-X5brwTIT3B74moz2NkNNNIqihcjSBSRXOBjy2vSLqN5w03qJjRnsxD6YYkbGjXlFpFU1uPAVmVm5ZjD3mQd-0-hAJNLTz6pjuybNEGQDE-GzU87MzYRVVPItQ24BCSfvLt_v2zReJ2g_MI2Z78brY8E2i01jTKkXFzZnJuYWc9dQDh4SbP67cHN1WGAYyX3kr0Id38JS6OdWTu4Y49H4CHLN8uJx3L0SC_TmS_k2kr2JwAuctBtHLa7TvSK7hIomazJRbcwSV6o1eDPMmnjzSl6VreJ_P7TpAKZ1gI1HFwnLU1SefxwJn00Zj7bsgUGR6DTaijeKwDDPQKUOHTXZL0HjiconYxUS_-vD257qNgt44w8CmBptHgLW-_57-uJcBsKRhi7y0-340tp3-97OvTaVm__NCmhM8iFnGEBtq8ylX_gnQ6xvliwLjrhlHFQDCL4Xc8CmRub6m-ikswZg1SsJ--EGht_kzF-au_hExKMGaBb7xxK6uyn3gZb58_JASipqsdgAj93Afr9wJzNOvJRQlMQuAcHqsc-KqoaE_Tfq-CzDEtelIvG2VkDiihF9j6Vk7eu0tW00iZljoczhZ0M9vxAWQkN0fuC20JVJLAdA33IWwUrzyXZzYxvQfbjXmJkE3pt8UN5_HH4ZW0wq3i_iP3WOdFwnOwmg9E7Q3aS46jZ9_vuAWbX2_0xz3nmWFxmWix_OQUCPu3LjMkLoEDiiRxRqiu4ulXrWT15NnbL_Qoqvauvvo5ODKigtWmHqBP67O0L3Ykr4he3_yYFg6C5OYwnFcuNNdyVO5EDFKAwf_LWBoHVkOoAQnDU0UaoX47M8XzwRnL2xssPcV6litKaXRX-2Woje5izqGTSQWwxb4KxCDLs-oPip9Fm812o4EDhLbf-QKZBC3Bgue0wOHG2flOPaKF0vBi3kBVNRdfczvxFD2dDv0cpY4n3CnECo907XPyOR6GWqTfwATUJ0G-DljYwog0psKDSLipHMn7tpY6mEi1fyc43M5EJBIcChvrL8OeXUIl93LTZpHUEUU7NfwCfOnHOGIFTGxbmGH73exrxTa9cZ2HOrABEP1Afi8bqi8wASk2Iw5sHwH-ZjidkZTSOH6xYC5rVURHKtmxcxtpTzylvJrSgt2uWCxOyWvf8qg9btqs6FHKFU_9X9f4IQBgS4abD8p283ubs1hMJJ1MSeB1M_UMuX73d4gt1Ocm1gaJDEyJxQ0B8LXPi5yaOHXGt99qlQccoo_lz4L7IZp874cmHYdfz3w-UUm4iNFmmhFB3fxRGAivhLcGFqPOEIj3WD_2CiTk9HbNOwbrR3rGqoxHp5qXLHqN0LY-RwNI66WogKC9WaRKseas3-_siRtF4Nz5OGe5luF-x4Fy-s-byfsIyGkOf_VitJ0tfBxIXVEV824q8FkV95l10uIMXvvryw0QWXmSiiVKeUzJSmU41QP6q7rc2dHOtpsO-jlh2rEGbcQN-M1zwnItR0_mnrDgEe-8P5JdOIFCJN0FOWVqn1UARbP5maYObYvInXaIh6Sh7DKvcvL_U6XAkdOtr14Hx48nPY724Wfx8FlEBi2ZN92Ir8vsvgTyLq3qOXL50RWBEDLyUETOMAheXNK9uiXzL5fOovHgtrUpd7xzCrmECr8iGvTKNZQr5okCHaOoNDKp1StombcT_wr4_SoY6NkKu8x3-2sfZUK1H160F6Vwof0YZwTEhUJFmJTwjv5KynXX08IvT3uSMNVzCPOt0EkvtyszukLdUcpvuJwpaYM1T00zHqrhF0TB9oyKyK-xqsD8jv4RTHCn138wi8aVSZgEwhRZXAxvev8O_5W2sX-sfxjb62b9U6QqBbJV_l5b33iulGx6Y7kzfmpXP3plrM2B-22mF9g7D3U2Wfuwk21xnXvvuA5gmy35kD1bq64mYvsJ6FnvaOyZ5g7yZBD9BYIPGWeJRa3MzGF3sHuYI-xR7jOh_TjwDH2L1L-5VGznZEhfh8T-mLWCSV4DjF8pxuMjGwNGqburAuNcX7a4RGjoqaayvySl2OYhXxpaLo_eGA2hCB4abIifKEVMZAia7gA0Y6lsBalIyIYAShmHAPbuwVs1EO-1nWr8AKoxYxp3FkCr7rIDxtDvfThrCvEE1nQmRCLP9fanLj0XMcZhJP7ns0lZLgfoKCbO6sD8ii2LX2JeGZpReItwAOHPg7kGbF7ro59ZnhPl4V_5PuIZuiIlirQ8U3v3Vn1zVi_pRKrzg1EWsgfMgzTw-nGiZYsqIfuzlpO8W5W7vRG1DbB_MsJvrsBJh1elqovzXoysV4Ws1cnQjW5MREWJF7J01aGTZb9TZyqL0HdUemO_UjFV_Gu6ZGlOa5UomVtwn-gFoT-R7rrp4pKMzf6kz8gB4PL-GRExpvJi5RYbXUUezoLvz9Esmtom_0jIpLlXAbp-EbC4I8cG4PXCe9n8l5s55A0q4P15TKU9FW9k9NVfWhtHuhj5DcWz4HqOBjGW1v0qwPPE0SqDMoY15NxGlT5pJFDu7bNoP1TsLLnCLKJbyCf4iHVu8-EGiutlw3TLrld4Pek-IkfqCdmHnb--7h0Ow8iNlnL-oh1RNBkZuzZEbQ_5-VCN5JhSDtCsGhO3oLaLNX0ut2ywvZ26QlPPOJF8uSdehCgPvyzOnt1oHJ92REvRvux7HqOi5lK0yEt2EnyOrUIIG0PvO_fW1PxMfLsSoo6-TPlVNhZu6TPREQmREOmolhYUjLelXiFcmCU_79vpeZkFwd7IZeQwYDm5kyCwV2WaomP1RhJBrkQhe-Wjp0Y7spyGPKMrOcOs0GKZjOdC2MWVSEGld5hQokQbaEcef_U3ERhpu14Keo322_Q_tCGhMg8dQqxKodUCr15viLA64IJ4h-Ko4YeJXuyXhuvnlVkXjCeGzCRdbenlPqAGEENGDMT2nVqJFpieOU80YNiHa59UlviDMntBXgIs7fZIBSXie8a9QsnwEMczVXKCRed4FVPXyTJ7Zj7eBZyGNAbHSoUKjivdlTKvovAvZKBKDNMi5XLNF-jNzQ1NXNkYYuz_YPNKK7Tz-xrDnqaSxSMf6SIfiD2IdK5HjNI_i-Hf41J-4NwPv0Xt-9LaoizmeUN_QEC6QPjPQ5CK-x_RVpw-qm1Ic1W1zH5kE6FFxuA-Djbr2OTpyyLkir0O6kLuNNWASPDAUeQybzV1zQh3eUbgyuwscjgxdTGZXN6QxF6FwKjToV43QbdvCqeRXQjVDs84kJmE3FZ2mLMKhi_5yvj4PZVGT0YoIbNXCC8KfLFmUj_j6UNcSNgLnRNPe4NafMT9MF3PLtKvT1n2qNoGGxhD_CUL5xtdPsaLq3O1Jg3Ot26y6YYSnwC2HoUyBMPQrGm4w5s34MxXbgSZtSp_uUYwsExVSfNeSQL_8Tf_6HVtZHpsRVoC3m8P7xUFi5qzOYgeOdi1PO_4gsvN-wQjmT24kghbRSoAi3xjsj7MSEa_LhXeGL5uktbg4LJ0wMTYEqUV80jnpgZ1bQVzjOwWSoxEXhKhJoZuYWaDzbVPMholddSWkSnT1klddCyvwpB7Al-zgM6LZocbyYbHJHuxt2fzsl-AOfigb582-Mjj0Gbpdc4uk2d8BjWxdT0tufogdcuwZHVf-6KcxgsNCFftrhc-BpBG0ojkXn6NkgL7dcyjQsAW4cI_8i0pDASmDFl-uwctjkeYGpEAI35Vb18ES1ly1bSGpFtyWnzFYpXPqbWt4zL7SxJe8OLVZRuVwwQF82TKqC0eWAvBCWzTWUdI9oVE3lOz596HZ6jORrSPBKm5kDLlcnm6zjf0MgYY1OJ2vgtgedULYBzo4b0wZNdSrTCFnZ-zWRasDpEJcx9iqeC4PBDzUMTJCbRBY66qf44wsjp5HUde0VMS8wGEgbFBFHLTIrwPNLVd-6jL9iKmW7FEV1mcZCQ9zUE1pr4nWaM5YuFLhM4umQAa_caKZ_n4CjxttKvnVERCuZBoxI7jD4jSf9KRpy8jPD9HoREXXzhwEIb2QibRVF1WnIPGnqeUQ9mW-u6-QqZBIOXJxoeodY3yunuaW7KipUDKLvgqbpVMMXnyGMsz3SDWRsRYOio3pmKtHGWIT_lIhIGROsQifc3I_DV29z5kkILh04fVEWudyKEG2KkOvPCFT5UpjP0mQCGZfMBB1j8DoIf6SBdRsSBqCIZz2YJJYq2zT6GTXpw-K8zzdeicAHh9A_cvwKbSoS2ukfw646cMBx5VMo1uifGOLLi1GvSncXZShf8rJXG6VlePGR_5sQRJpPdsjjsblOA6mO3HWRWkQ85QC40N1zIw70IR0zbxYc_SEB9EpJCck2L8kLxYjzsHgAfPMjpKfoGI4XwGEIgPuZkVHwrsQWqTnQ56f2igk9BiqrHTok6-UBWYQoV1bD4tFb8q3t2cvw2Ux7Z0iiSNZGy8W-cmhm15waoPCgyQL0cVxGQonxaoBkR9asEv-SRruZEZuv419fRxCHCkhSt2kRI0z5ItzjelYDcFXOWCH86TGzh35TORfaqcjHsiXClsSVWOgtLWu2UqOoH40VB_CTn59QveUJDIX-TkAeF3subTh9Tw8L36lTMlPYkZm2SS76ZxmNEEscCBghGSllOfpa_M_5WQHs6ucuTvDvD2q2-Vy3wlRleZkLmSwW3nC3HQa4Hvpnq4i2GI6X8qUtkY0mH4P87SMicOsO0lefruYfUGJNADrFpjA2bMPIHlXuGek0dUmBXuOMs8osctBmQi0LhVEWQddvdg4Q106bcjxRGp3XioFqTbbcZ5dgLuXC3gJMDBwOZ6S7LpNmjjqxk9V4-m5exgyZ3Lj8xjNJAZOCko8h63e3zxMXfmH5ugCG6kwapG_2aKwXDbGYqVkA-9da1D6BqO_VGeVv0giQyFJ454cgcA6vt88od4-UywgfaUsEsqqfMGoRiEN7zKADWgXoAHvLSb23iS_YsOpRONCimXbb-pGZWQu9I0GIEoO7GXVQo9lUPSoqsRE9x9Jr_uohRoNQ82lBkzAGDJUPVKdm3O1FGZ333NjtY1zZ3W8Naf6k7g4KRd2NnEdADoHjbxx3-eXVnNXW8WlNPvypRk6qniVnvOKoPUQMxTy3h6c3mhWuDlkSvCYJz_PAALI2aYhlcOZU_7vI3lKuMrdQCu9EddHtDBPeer1_jjxwRbW8SxToIvA_9ErsDc6FYefyA-yiM2t_ziVgkU432vAwyWZbxrbOEJIJVL-u3LTD5Sa1aiJe__LByLpfsVLe08914LLfqhfQLqSGm2YDGojmqunVSqSvmoV4odtxz9ivbIV3RT0QKqjjTmq9QJFOEWBJxIErObMQCqcjtPFRSqEWCSEDyjy8MJYe8wS7_XG4F4ngCq0DRtco1YaJ3J618DaCVWseO6w49cxDMVE5WHnGd12DtcOVvWmA1GkTnLLYk_j_PGKoA1-I-7URg4zC7wHB7yGLi8a7dTfyMSao9UmkR4kfkwROw3EZP9_3c0bnD15YirBeZNcZVGq_mebBih6Zv93ZAaO_sJ0T0uxa27XcqtRX5wFWid0nva8MY3zHkNgswHHKf2owoqDEMmI6X7uv6u2jNl61Bit2L_nk8sK0COt0cd4ySNdd8v3P9apUyxfJTzfrL88bzXgQa-GGK_hwZ74snF-xLs3WhmgXLMY_WJfkxvte1HDtD444szvj40mrLskzI9JwVqjXlDmtKl7dWr6mTrNJNgRHJVlRMz_BMBQLWTDboXwodPI_hoAsG0BGgy3Q3-C-yELjttmFjVY8O8VDrsqYA8TgCMnoVlV0lIoiX_JhlaJpLEmfmMHJM6ZmKXccdX86i2sThrB928Ll5oIn3yfnPAiSMu3v5e5X1b1YDRLREjkeXhqLUOgHdPVwcBFdwssIJUrQIxQhMrGn6C-efagQHJSKIhgurKE-VPPq_EJXC5JN_EuvESsDZPRg2Rsta6tK29fBDSMeGZr8cphXcT0l87RQV7-Cm22oQhwTreuD_qFZQlCxOHklEKpD8CaTMyaHchJmJmpNJPk42QigBUe9PuHklzRdVg4AQg9yg7pGOyXU4Bn2zyY6ZV7PKLfBpKnM9dW-eYM5WZ5aIE5Xs2wQoayMg3UWFrfMg8zGpgxWB4refXJ-_GG08ltTv2bUEbVgtVuaJ2u-Y0keQfKM8NoYY9uEUgyTllFain-3te3o8IdMEKbqq4fmUt8oyGjHB5AWHU0-X5XQx5y7rrPSEJcx1zk12jpG6OSYimRrnl5_0GojUbo4RFJlaahr4XDFpEEOGurCBHy6QOfkpBG0M3bb3kWxbXroMxGBLAsPjvKaAWXPkSS_JiwqsJHy2lHs9bgyxJr9s5HExKUcPkES1c-nLptSvl2WDftPJpJyuyB-JswVG_DmjLd0MAGh4kFLz6jbsnD3Z8ekDI_FDinBakdKvZF1jv31NDPNh5-usLiQSNmSop3S_FqovUCR6thLQyh6cPW-2N7XE86vRynDQ2PCjrmgtnU4VT-vmGyyVl95GUPJFKMya_j7PyCGuAE0ctOhTgYXXGHKUY-J68ItqDss01IBbwSKZhFJX4CyVm9VaWQFIrivLGZZvZGNU-F4PxmvQ5uTbyd00LRMe_xzHZ7OvyVbSy26yyR1sA5IAisvLmSd17yrx8E2rq0GDBBjezSV-oIWFwuZF0SZD32gHotRgRSdeBOVirNZODGBTh84zzy8fCIx0oSRVbiJTlPfeX_J7wJX7ZMMkZLr569oBBbbPE8buh9CVo3jcYbPVQDSgGkTJmAaU6lbNPCl_btYee2-rp_QIawPhbpoltUM-RNYMluZz6bHQVaOW-9JY9oZWgajYd7i1aWIgieJ8-osX3us-1FcTgRtEm4KjpPGb0BA6RfS4lldctQZNV-rtZ7R_73zfUj0gB2i9wDazgmCy09nIyqWSUMyQGUQwD81D4Wry39IjifJhT43sYvOZxpSSDVu-BUc6ReptvSCs5BMP-nv_yP7f0XL54shZe9hLZl1u2ZOuDp1t_u97EKar2Vzx-zy7T3DvLWHUO4Nbu4a6K_jEP7CE2oFQZhJR41UvXaDXeIxqERZX-Jp6yv0wIW_jQbXJ6BS96sJEwk7DCm7NEiWR-qGcSmCAJL1-3KPjNxhMopMhKMRY_2wYLPeblSjk7WAw6z7YIEkrOAAtErXpyuydMVKFPavkznNZQ55Lhh85u9wn5IZcDPDJ7UYq6FWy_mSdn_k40NM78u8rh1sUdFuHKHO_1UejMHZy0ZamafZijOb18gmjKspMviTkhKSATLrXm_-UupG7y9Vh-bwBiRwFaYfecKSVJ9lfzXefmvl0AWv_-w9O3nW1c8HiIAwoQ3NWMxUX_8jFGUZuzOoGwYiC4jtyVs2-IVIV6C2y1DtrszWwDEWlQRvl_AJ5_F-4B5U3-46LyKOlRNxjnQthIAotgwSGCfV_v-7DYJmDZ135nWBbbwh4bR1wy_FbruItybznPSxN2ju0WaLpzEqe8wrtce648KzsdOkHQkkA2ozeuzciHZC6e5q83INk9HPK9Ko5J1VsAGEq5Vd73bGvc29vn5_4R4vTnnx-uvxjCHQJkES1lpTgKs5spGUSqo-nbnJIhmZ2UJ9iIFB-zIf77pj-9dG1GAACq31MDQ5vnXH2UioA86tQo0ErBcXJ1gxt8_t00R8EfNDQ1FNRawMMBS2SZf8mkzJUr4RCpffHfpC_XBZ8B8_FffylhJqHCbb14sH_jWTf8EONPIdZo9nnmOWyghA56BS5Gz7fnbQzVWpXpvXYT3WnQU9m0uN_MZuNWuc7bk7olgy5cct7ELdMCdCPx4hgefVhbWXFu85d_s9yILRqKHA4ljGe-0yndNKumNRxaT25mCI0gRYb-hJWM9yYXCdMJHiJQpuMyizVZShY85uxCZQI5doGKrIo4zR0E_qN51f1k-f7nbvBODIkBY2ry6d3defv6QDpeiHc1bue6W44hsg09Eacxz_GCN0wYykjT5rm7o2Fln6fvnR1suaU6so7-5SNgVvA8d_fIDJbkTeAqSXsE-jBWkeHRJZMnUjrPBBTHG2XZ_18NvFD-q7fWrvaT0RCv6P4Pbxdz5eRAhWkRFAL1xYBzlDTaq6_vIkGmjGXNIV--0O5uhePYHSov1G6KcmrWLZN0v-0akbzRjc07khkllKKzyk7U1f4FtgDAOGyfZLVePCl4o4N0I5GBHDl_NyeSlr0a9H4TsaNHfgKB0K79-CSkn-2CWRStR1lZ8vbo1oxylEwK0KjyLOHxUvQm9Oc261Io0t0FrGewH0z1640-w6cLY8M6hLtIvVh-g5pdyTDmvQDfRKH9aGwN-G2j0bKJ2oUPvaxSTUzdj9xHNHHqNu90OxKJn16422hOY1km1KmTYB685Scnf90I6lN0a9E78K9C2fNHxUQtTydEIgiEr18TYbW78UusJh4_zbPrLrGOEYqRPJHiwVxbgK0nvb6SROqrI0qgCwNht4_dIt4scY-6OrwRQXYQ5KLv913D2M7IR7AhuHIdHYhtC_eV8JNjw3ix045g0c1UvAABQrZ68hFRkl2lQGWSrABm_S6zY31eiT6FKYLPSwbnS-m5wvW5X6CPR7b8AqE3S6WamHd4W7IQRazWbtX0hueW-fm-iGA0JLgoUImezfSYpUtILH8RUc4DA_dRaGh5IhmPif1kTH3y0rWp2OF-AHu0_1yPij9gNSPtvUtXkT68ZcVh5WKtsZ4zs3CfkU1J28mR9UWqXGyRwkNHCeyS8DVOeAxQPZC7UAu6JrQPsuu-i_4cqaqii3d88AzhLuqtQXzSLWy7NjAO7Nj2nzbcHuRt-oO6jWhE0egXzxIrvhnjmoMaRX_bwiXOUCHEQAqHQatcEZ7pID6f8Ja6C4I_MLcBgtxrQEXCRRVWaLJeT3S63zL2uqDf8cMSgwAR8yA5A32tDpcU379CJl3ZKIym-fWEmU_7ezsE-hqSvp3OwJi69wnWY9YpWuwGf5AJ2qEEXEJAepZPUxGn3jOrQQMOB95SCpp19seNnFMSvs2mQI0J8y81upfqk1ON9ODdRDg7kTCaltQE-okpvzEjyvFY8zRzoHmZt3HhyL3GR2_Zpf__Me2Atm5rWdhffJMETp99V54EpniKzZJvfq0TfcJLzLJRdHHF2ksoTL4o_u1YXPXAXRnuoYg_trL-KZpOnlWkVsmgzmUySQCzNck0Riph-UWRGA5GLmSVv3Au5lkhTbWEIsIYOTBFtLPDT1sEZ5NNfdPtSIoP5X5INlXpmAJY5HUXm-xudgQAZOBKOPAXFxc3ca98NU9lDf_WHy-2zs3ZZXCDiKeSME6RKFznbRQOl-WNAcUtIegWO4nV1EoM2tRscv1f7XO46G6yeC3xqhGmxosqTEAGm1i9OhVCrji-5TaoCekQBBb3ian_vZ5WOUD2Sqxc-5TbdcrQzWbfOIAlimgtnM9Rf-LAKDOyZKh6KjR-rbs2_58xjODgLBVpgVLuTTtBJbDLRfpSwvMrYoJJwlgKddpmbA25Y54RAme-V0lUL9T6EMD_Q8C6oRh3nCjmyBwRRrGyjsdO7iKC43DPr7P5HktHC7j4B_O6ZF9z3EXUfsSlym3XqcX3jtGELvidX5Pqm85oxNURwg8xA8LtwP_GKjhr1JuNaK7NqrUFbURGZp32_n5ViY3PrVjYKhAWMTtNvSy_euezYHlccYJ5Z6HIsTHLjn7kA8zlXAkuFNpw2gpR6mufEsU8d5hDXJNe7Rkhs4LwESI0kdvafEHhKBCyqCUSwjHwNZGxFXn1wl6eKHtXrO6MYFmMbS_AzCsbCbrUFwRtZKwE-Lnh-sx5HsuQ3F7OcRM9HmNC0y0453lEHdeL43oF9pzMS16L-hEWSYiLW4n8qFKfVHvdV9UKXyB-f99fChjm_2VosSgdIgfHDliGJsxEe-pA8wKlj7WaeO6dAwQCfso1p-oiVazT7FTYs1YDpsoHznzgBjESrrig9GuR39YCZeNZkATmizkUU6tfDSWrvOiV0mrKsjuPJcKQe8T_CQKMagEY96eN94BxSR6TCKIBgeJ-hAV8F7wyYY9zWV53l2Hrc-GDFwV3s-N01Pn-X0A1wijiVW3EPEke3ID0IWv1Z6wyki2bUvLQ38NA1KiuL-U2f1bvlV4MtOsvS9k4AknsVT3Las6H0t_9YTLmAYmEBJ6t-CJiB50c8QIA85oZYSB5ravOlVF4KMX2-PEiGVnAipPjSmkjMBSTipdkIBbZbIGPCtZe99X9jdWR7swKm8LgVzqeLct613IlghgmtdQuLI8mHxxFPF_wJFt0iDG5iXnv_wnNTlBavKFVv7e_GMp_aS5H6_iBBw39sa3AOc9Xu4VXD-UrWRSjF3JaPipWZorPUqOJME08iYRlW90STT4VrPhCkkakK9DcMV4gc0rs0trUD3Y9mCmGhf8F7layJzGH-wl8UQiPECTWrYLG39MMmKE0X85zVTaUPNb2gKya7ufyv2b2VtZdmIUcbEklaa8dHn9oFCM_K61fZqodFp0yKoW-WN_lycH3EBP-KXEMTjqXFBXAcNpItzr4s_vNg_w7yDYx0hmtsbF95zYY3dK9YhPqUsPu6917nYvwn4YmYuuF-Vv2FEcPxnaGyCGo3OrMEhIzHlWuk5ItUvGm5Vm90_Hmop2HkASdYb6bysfoSgv-AgiCme7hcg1ndM3XTSWBaTVqptHYJcfcLhdzxOwUcthImsGfm8aOejN1LpUav1J0d13HZ8Vs3NZPmF9pPW1k-slKQzOdYQSdLpYIrOSECUYQgm8p_pDALek5Yh1_Mqw3DEnnVeo8an9j5Wy7zRwEyOi45L4oZNis0q1tSTA57Uh_eNhJ5V8Nm37Cg1S1MKGHlZeyQWBj7Y49GV0PWKnoeg1C8oP2CRri3mNfSLVsfO1EtetaR1rp1kXorB3x8pXXna4KzmRywPKICs9BISBhfjYYLLkSo1bRPwJyl4d8q4z0f0aH94XJcXLyYsRgYCeQ14Y089mGMvPylf-BYxufdIaEFwMRf-q04UGYk4hHdkJXYOsHq2OVRNhsK6A9ZsMkPO6bFchTZkI132Jx2NaNkeN-OBeS7BGop46pkLPoohdwl_WNtUQ_suFpmeVgTImuqCYzxOwPdyJUp9fuoUakcOxZKcO3cM9FcICyHPp9-qPdsmNb0mVKdzH773apvtu8iak2mKqRVhrXTxNugTzCSbPLVVV3wQd0OSvzOpn0ZCiczvoLiaDQN2MxvfkjtZarNEnutKZIom3c0asJL6qS_JUcdql_wMm1vj_C-6HLa7Z3eNn9QdeMVsSOlz-rOKH6mfoB6adtYxNtCFvr6emvJ24s7ddNH2PYjsUHq0SF4raIqz23WL2EdlHYMmIvmUJ0eWKs1_x1SyWTaCx5xZf_nJ4Kg8lY9QbHQ7ICHJmQbWwcb7xthggSvVTs-84xC3DFhExE23oSNxFk60nVdufCbXgv69DUQTjs5WCEDCpw28kIrskRmkV4E_9HO2wzSmzRydTM7VGh1wv2VRVg1RxBL02QJcxpD0Gdr9MUqYik_XyHELn6XZ5jQtNiOXN_Pt-CVLKuNAP7pA9fsNcqrdVKJZEms_T469SFAxz24Xaa_xsULL4MDOcFbqF0t4UrF6CqsmVXxNqKk1P_CUQtfvImN5sJux4LR9laOupDRzxYi1nxaG8UgbQAArRz4kNJuVCrY3c8hEyMIO0bwCbR3h9k-GUfssi3m26Hzgt9DxyGmUj7gqiv3xfl9I72kmIaeVJQQK7fSk8ob3N6YK9oWgI9oBnox6_5pZ39NkUTSOl2UPumDB7fbAqeAGeMW3QOI246RiLVaBjPg-12LEtGCfPESQOT1zWGiCsO2V_knmjI8A1kqoJ45Fg04CzZ8H-fewS-_A1oRIa2u6ZMR8KYlKrfhtKC61Jl1L5XEdZ98uQYBNzeHSga05uz0zK3XnWcMhhrU3e10bRi0TWXQG48Q5Hse48-nHCRpoMZfaMPtgqNyLeHR-B8FsmUmxB7Ph4xJQbTTjuA4GkaAFrCXjwZfLF27lQ_9wU4np4kTRRyXnzRoBmYNcNbscPN8AhNCut_YMb0dwzu7WSoD_Fa24q-87kjy6mFyrkpTMS33svAUd7cKiPS6Z1BVcqlVM4BRrn4iaFsTxLKdZdALxYpk5ZOUnIbxid_XgPwqsd-guQlAsJrQ0q7xNriZham9Getucc9K1y7Bvj_3z2vOsNaThidKK4agRytIIqxAsN1PTL09aBpQ8hJUrs6DvJJW_7QyTiggfW0AVKAh1oLBywuP1wkPfoQJrVCmOd4fL3O9M2pNJ3Af6bLU5JramCKcLz9JuJLwCIXsp5arUJtZTtG2HCdTSxMi6O-L8URs2Rby43bThPMJBo-SyuKUQBs2C7eSGhuHf0NASbuRzAaujKFIc2-6MRXOVxZGfXV_xQxswJypRtpmloGfs82f1Jj8yTbYHwtoAlS2ZeIv45IxU7Y1LHDy-67OlIaPcf8Ft86e62u81lEXLMr5XSF17ifNsC3H0F6Sp_Z3CIQWCo6wihCAxUKmT88CQ164bhPQkj2cjBox-Gep_NVCCCgpRPFOfIgZezqf0WeWCbSyDCMRdZKfOEhDu_tCFEG0-7eE7424dKS5B3T2cbCBgI3U2u2uUDaU_DlgELvC0NgFf3xati444SzYA66tj7VGhgW5_z7iwqI-ROPeOHDamXGM7ZrZd2ZJ8hn7MgV2wCjvSdLDL7JOW9f-QIs14MjIyGsUk7TB0AUyyt7hKjGLt2WhgVitBfiiCv4pB1bt_Dte10HyH4MBqG1CvKZoMKdKK5Bvi_qijTR_ma82k-wLU_36QziC2ZjP2Wcvf5iba7wNI1Cfc_Q1_LGYUp137E5UL85hneaPGtiLPyaNflh-VeNdsWfvWRZz0_FdI8d-sImH_H345WJ14XPmctoIK5AAhweDyEFOV9jQjLLq6zquCSeOTSFKAgLNLLum_0vosy6f_kJtwIQVgob5Ivo_5wPhhScQ1MHAa43jxOBCJ-18x_nIvN3m9qC5TlLNycxh5ePz0itUF6LFmYSMbX2RE3wFQ9UU5tjWhFh4OBEUbRXZ4MHpr0fN8sTzrkHTbgLBzvc= \ No newline at end of file diff --git a/server/data/.salt.txt b/server/data/.salt.txt new file mode 100644 index 0000000..b5cdf2b --- /dev/null +++ b/server/data/.salt.txt @@ -0,0 +1 @@ +<6%Cq \ No newline at end of file diff --git a/server/data/config.ini b/server/data/config.ini new file mode 100644 index 0000000..9ebfc16 --- /dev/null +++ b/server/data/config.ini @@ -0,0 +1,40 @@ +[authorisation] +adminkey = secret +registrationkey = secret +usernamemaxlength = 20 +usernameminlength = 5 +passwordmaxlength = 30 +passwordminlength = 5 +tokenexpirytime = 2592000 + +[database] +path = data/database.db +encrypt = true +shamirsecretsharing = true +numberofshares = 6 +minimumshares = 3 +keypath = data/key.txt +encryptedpath = data/.cryptdatabase.db +encryptionconfigpath = data/encryptconfig.txt +saltpath = data/.salt.txt +sharespath = data/shares/ + +[user] +defaultlevel = member +defaultoccupationid = Null + +[posts] +posttimelimit = 5 +daystart = 9 +dayend = 17 + +[notifications] +defaultexpiretime = 604800 +ntfyurl = https://ntfy.example.com + +[networking] +port = 9999 + +[miscellaneous] +servercode = 12345 + diff --git a/server/data/images/post_071f2963-9b6b-4501-81e7-4773ff21c7ff_2024-01-31.png b/server/data/images/post_071f2963-9b6b-4501-81e7-4773ff21c7ff_2024-01-31.png new file mode 100644 index 0000000..a3882e4 Binary files /dev/null and b/server/data/images/post_071f2963-9b6b-4501-81e7-4773ff21c7ff_2024-01-31.png differ diff --git a/server/data/images/post_0d2fa135-0311-4729-9f49-77f50f2d8373_2024-01-31.png b/server/data/images/post_0d2fa135-0311-4729-9f49-77f50f2d8373_2024-01-31.png new file mode 100644 index 0000000..a35b6a6 Binary files /dev/null and b/server/data/images/post_0d2fa135-0311-4729-9f49-77f50f2d8373_2024-01-31.png differ diff --git a/server/data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-30.png b/server/data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-30.png new file mode 100644 index 0000000..6f8c288 Binary files /dev/null and b/server/data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-30.png differ diff --git a/server/data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-31.png b/server/data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-31.png new file mode 100644 index 0000000..e8e58b7 Binary files /dev/null and b/server/data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-31.png differ diff --git a/server/data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-30.png b/server/data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-30.png new file mode 100644 index 0000000..a5fea1d Binary files /dev/null and b/server/data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-30.png differ diff --git a/server/data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-31.png b/server/data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-31.png new file mode 100644 index 0000000..eef3250 Binary files /dev/null and b/server/data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-31.png differ diff --git a/server/data/images/post_8b310b49-0911-4149-976b-4701534d4341_2024-01-31.png b/server/data/images/post_8b310b49-0911-4149-976b-4701534d4341_2024-01-31.png new file mode 100644 index 0000000..e10d8dd Binary files /dev/null and b/server/data/images/post_8b310b49-0911-4149-976b-4701534d4341_2024-01-31.png differ diff --git a/server/data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-30.png b/server/data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-30.png new file mode 100644 index 0000000..eb95a8a Binary files /dev/null and b/server/data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-30.png differ diff --git a/server/data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-31.png b/server/data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-31.png new file mode 100644 index 0000000..b2cb886 Binary files /dev/null and b/server/data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-31.png differ diff --git a/server/data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-30.png b/server/data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-30.png new file mode 100644 index 0000000..827eb78 Binary files /dev/null and b/server/data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-30.png differ diff --git a/server/data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-31.png b/server/data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-31.png new file mode 100644 index 0000000..4984729 Binary files /dev/null and b/server/data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-31.png differ diff --git a/server/data/key.txt b/server/data/key.txt new file mode 100644 index 0000000..af46747 --- /dev/null +++ b/server/data/key.txt @@ -0,0 +1 @@ +gAAAAABluqjkgZxWuY8Ne1R2Mm1z3iyu_13kMDotTQade2biMZ_OP0l2jlRBubZes7WIMC19OOWB4Sn2G-lul5YJmFtuJGuv8IgM0ocyth1nQj7zN0sTLScCAryIoedEeFJ9SsqxoWNt \ No newline at end of file diff --git a/server/data/log.txt b/server/data/log.txt new file mode 100644 index 0000000..aff8c82 --- /dev/null +++ b/server/data/log.txt @@ -0,0 +1 @@ +2024-01-30T19:52:16Z | INFO | Log file created at 'data/log.txt'2024-01-30T19:52:16Z | INFO | Created new directory: data/images2024-01-30T19:52:16Z | INFO | Ensuring server directories2024-01-30T19:52:16Z | INFO | Ensuring config file2024-01-30T19:52:16Z | INFO | Creating config file2024-01-30T19:52:16Z | INFO | Created config file2024-01-30T19:52:16Z | INFO | Ensuring database2024-01-30T19:52:16Z | INFO | Checking encryption2024-01-30T19:52:16Z | INFO | Starting server background service2024-01-30T19:52:16Z | INFO | Server mode normal, continuing startup2024-01-30T19:52:16Z | INFO | Generating time slot for 2024-01-302024-01-30T19:52:16Z | INFO | Generating time slot for 2024-01-312024-01-30T19:52:20Z | INFO | client ooBs_YWe7hCva38rAAAB connected2024-01-30T19:52:48Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts unable to be fetched, no other team members2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts unable to be fetched, no team members provided2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:52:49Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) could not be fetched2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:53:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully changed/deleted {column}2024-01-30T19:53:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully changed/deleted {column}2024-01-30T19:53:11Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T19:53:11Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T19:53:11Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts unable to be fetched, no other team members2024-01-30T19:53:11Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts unable to be fetched, no team members provided2024-01-30T19:53:14Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:53:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:53:21Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully changed/deleted {column}2024-01-30T19:53:21Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:53:26Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:53:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully changed/deleted {column}2024-01-30T19:53:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:53:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-30T19:53:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:53:55Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) could not be fetched2024-01-30T19:54:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully created2024-01-30T19:54:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:54:33Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully created2024-01-30T19:54:33Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:54:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully created2024-01-30T19:54:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:54:53Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully edited2024-01-30T19:54:53Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:54:59Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T19:54:59Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data could not be fetched, invalid data provided2024-01-30T19:54:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:55:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:55:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T19:55:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully set2024-01-30T19:55:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:55:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T19:55:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T19:55:11Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T19:55:11Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T19:55:11Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T19:55:11Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:17Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | New leader successfully added to team2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:17Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:17Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:17Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully changed2024-01-30T19:55:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T19:55:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T19:55:33Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:56:06Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T19:56:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T19:56:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-30T19:56:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-30T19:56:06Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T19:56:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:56:17Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No notifications exist for this user2024-01-30T19:56:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Notification(s) successfully fetched2024-01-30T19:56:20Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No notifications exist for this user2024-01-30T19:56:20Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Notification(s) successfully fetched2024-01-30T20:01:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:05:34Z | INFO | client ooBs_YWe7hCva38rAAAB disconnected2024-01-30T20:05:37Z | INFO | client QlkMXywRdKqsq-k6AAAD connected2024-01-30T20:06:10Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no other team members2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no team members provided2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation(s) successfully fetched2024-01-30T20:06:10Z | FAIL | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation requests could not be fetched invalid data provided2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:06:28Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation change request successfully created2024-01-30T20:06:28Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-30T20:06:30Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully changed/deleted {column}2024-01-30T20:06:30Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully changed/deleted {column}2024-01-30T20:06:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:06:34Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:06:34Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:06:36Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:06:58Z | INFO | client QlkMXywRdKqsq-k6AAAD disconnected2024-01-30T20:08:06Z | INFO | client Fvg8aOw7kMxOAHS2AAAF connected2024-01-30T20:08:06Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-30T20:08:06Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no other team members2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no team members provided2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:08:08Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:08:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:08:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:08:11Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:08:16Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friend request successfully created2024-01-30T20:08:16Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched outgoing friend request(s)2024-01-30T20:08:16Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:08:24Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friend request successfully created2024-01-30T20:08:24Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched outgoing friend request(s)2024-01-30T20:08:24Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:08:45Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched outgoing friend request(s)2024-01-30T20:08:46Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:09:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:09:26Z | INFO | client Fvg8aOw7kMxOAHS2AAAF disconnected2024-01-30T20:10:23Z | INFO | client 6unaBI9blemVe5jIAAAH connected2024-01-30T20:10:32Z | INFO | client 6unaBI9blemVe5jIAAAH disconnected2024-01-30T20:10:43Z | INFO | client FLny04WmxlzhmniMAAAJ connected2024-01-30T20:11:46Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:11:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:11:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:11:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation(s) successfully fetched2024-01-30T20:11:47Z | FAIL | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation requests could not be fetched invalid data provided2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:12:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation change request successfully created2024-01-30T20:12:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:12:07Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully changed/deleted {column}2024-01-30T20:12:07Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully changed/deleted {column}2024-01-30T20:12:09Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:12:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:12:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:12:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched incoming friend request(s)2024-01-30T20:12:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:12:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-30T20:12:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:12:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-30T20:12:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:12:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:12:48Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-30T20:12:48Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:12:49Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:12:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-30T20:12:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:12:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:13:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:13:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:13:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:13:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:13:24Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:13:25Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:13:25Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:14:44Z | INFO | client FLny04WmxlzhmniMAAAJ disconnected2024-01-30T20:16:15Z | WARN | Server recieved shutdown signal2024-01-30T20:16:15Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:16:15Z | INFO | Ensuring server directories2024-01-30T20:16:15Z | INFO | Ensuring config file2024-01-30T20:16:15Z | INFO | Config already exists2024-01-30T20:16:15Z | INFO | Ensuring database2024-01-30T20:16:15Z | INFO | Checking encryption2024-01-30T20:16:16Z | INFO | Starting server background service2024-01-30T20:16:16Z | INFO | Server mode normal, continuing startup2024-01-30T20:16:28Z | WARN | Server recieved shutdown signal2024-01-30T20:16:28Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:18:27Z | INFO | Ensuring server directories2024-01-30T20:18:27Z | INFO | Ensuring config file2024-01-30T20:18:27Z | INFO | Config already exists2024-01-30T20:18:27Z | INFO | Ensuring database2024-01-30T20:18:27Z | INFO | Checking encryption2024-01-30T20:18:27Z | INFO | Starting server background service2024-01-30T20:18:27Z | INFO | Server mode normal, continuing startup2024-01-30T20:18:37Z | INFO | Sending post time notifications2024-01-30T20:18:38Z | INFO | Sent post time notifications2024-01-30T20:18:55Z | INFO | client ZEFsP4ulcmr-x4yjAAAB connected2024-01-30T20:18:55Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:18:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:19:00Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:19:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:19:03Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:19:04Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:19:14Z | INFO | client ZEFsP4ulcmr-x4yjAAAB disconnected2024-01-30T20:19:58Z | INFO | client 1EZPUPnKQMuIkI-eAAAD connected2024-01-30T20:19:58Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:19:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:20:00Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:20:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:20:02Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:20:04Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:20:04Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:20:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:20:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:22:36Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:22:47Z | INFO | client 1EZPUPnKQMuIkI-eAAAD disconnected2024-01-30T20:23:37Z | INFO | client RHxhmoBHTnfPJHBBAAAF connected2024-01-30T20:23:37Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:23:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:23:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:23:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:23:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:23:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:23:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:23:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:23:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:23:38Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:23:38Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:23:38Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:23:38Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:23:38Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:23:40Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:23:48Z | INFO | client RHxhmoBHTnfPJHBBAAAF disconnected2024-01-30T20:24:14Z | INFO | client rm9JI7zeBWr9c0rKAAAH connected2024-01-30T20:24:14Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:24:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:24:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:24:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:24:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:24:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:24:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:24:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:24:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:24:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:25:40Z | INFO | client rm9JI7zeBWr9c0rKAAAH disconnected2024-01-30T20:26:21Z | INFO | client eS3Ar3sTkBDMrRanAAAJ connected2024-01-30T20:26:21Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:26:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:26:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:26:26Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:26:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post successfully created2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-30T20:27:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:27:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:27:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post(s) Succesfully fetched2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-30T20:27:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:27:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-30T20:27:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-30T20:27:31Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:27:39Z | INFO | client eS3Ar3sTkBDMrRanAAAJ disconnected2024-01-30T20:27:43Z | INFO | client W47fmKqhmMHcyEe2AAAL connected2024-01-30T20:27:52Z | INFO | Starting user service for bfb13167-d959-4d7d-b317-657325cf7b0d2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No memories exist2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts unable to be fetched, no other team members2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts unable to be fetched, no team members provided2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No memories exist2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation(s) successfully fetched2024-01-30T20:27:52Z | FAIL | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation requests could not be fetched invalid data provided2024-01-30T20:27:53Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-30T20:28:09Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation change request successfully created2024-01-30T20:28:09Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-30T20:28:10Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully changed/deleted {column}2024-01-30T20:28:10Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully changed/deleted {column}2024-01-30T20:28:14Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Permissions successfully fetched2024-01-30T20:28:15Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-30T20:28:15Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Permissions successfully fetched2024-01-30T20:28:18Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched incoming friend request(s)2024-01-30T20:28:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:22Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-30T20:28:22Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched incoming friend request(s)2024-01-30T20:28:22Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:23Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-30T20:28:23Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:44Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-30T20:28:45Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched outgoing friend request(s)2024-01-30T20:28:45Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-30T20:28:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched outgoing friend request(s)2024-01-30T20:28:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:58Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-30T20:29:12Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-30T20:29:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Post successfully created2024-01-30T20:29:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friends' post(s)2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts unable to be fetched, no other team members2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts unable to be fetched, no team members provided2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Post(s) Succesfully fetched2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-30T20:29:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-30T20:29:52Z | INFO | client W47fmKqhmMHcyEe2AAAL disconnected2024-01-30T20:29:55Z | INFO | client Tl7sGtG2u6vrIaOfAAAN connected2024-01-30T20:30:06Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No memories exist2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts unable to be fetched, no other team members2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts unable to be fetched, no team members provided2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No memories exist2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-30T20:30:07Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:30:07Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation(s) successfully fetched2024-01-30T20:30:07Z | FAIL | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation requests could not be fetched invalid data provided2024-01-30T20:30:07Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:30:28Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation change request successfully created2024-01-30T20:30:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:30:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully changed/deleted {column}2024-01-30T20:30:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully changed/deleted {column}2024-01-30T20:30:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Permissions successfully fetched2024-01-30T20:30:37Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-30T20:30:38Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Permissions successfully fetched2024-01-30T20:30:39Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched incoming friend request(s)2024-01-30T20:30:39Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:30:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friend request successfully created2024-01-30T20:30:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:30:48Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:30:57Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friend request successfully created2024-01-30T20:30:57Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched outgoing friend request(s)2024-01-30T20:30:58Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:31:15Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friend request successfully created2024-01-30T20:31:15Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched outgoing friend request(s)2024-01-30T20:31:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:31:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-30T20:31:39Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post successfully created2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts unable to be fetched, no other team members2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts unable to be fetched, no team members provided2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:32:07Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:32:17Z | FAIL | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Comment(s) unable to be fetched, something went wrong2024-01-30T20:32:17Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully created comment2024-01-30T20:32:31Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:32:31Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:32:31Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:32:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression from this user of this type already exists on this content2024-01-30T20:32:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression succesfully created2024-01-30T20:32:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post/comment has no impressions associated2024-01-30T20:32:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:32:39Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:32:48Z | INFO | client Tl7sGtG2u6vrIaOfAAAN disconnected2024-01-30T20:32:52Z | INFO | client SC5iJLr7akpDZbbnAAAP connected2024-01-30T20:32:56Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-30T20:32:56Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-30T20:32:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:32:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:32:56Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-30T20:32:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no other team members2024-01-30T20:32:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no team members provided2024-01-30T20:32:57Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation(s) successfully fetched2024-01-30T20:32:57Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation requests could not be fetched invalid data provided2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:33:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation change request successfully created2024-01-30T20:33:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-30T20:33:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully changed/deleted {column}2024-01-30T20:33:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully changed/deleted {column}2024-01-30T20:33:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:33:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:33:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:33:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched incoming friend request(s)2024-01-30T20:33:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:33:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:33:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched incoming friend request(s)2024-01-30T20:33:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:33:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:33:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched incoming friend request(s)2024-01-30T20:33:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:33:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:33:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:33:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:33:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:33:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:34:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:34:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:34:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:34:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:34:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:34:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:34:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:34:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-30T20:34:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-30T20:34:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no other team members2024-01-30T20:34:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no team members provided2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:34:38Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Comment(s) unable to be fetched, something went wrong2024-01-30T20:34:38Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-30T20:34:46Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-30T20:34:46Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-30T20:34:46Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:34:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression from this user of this type already exists on this content2024-01-30T20:34:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression succesfully created2024-01-30T20:34:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-30T20:34:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:51Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Comment(s) unable to be fetched, something went wrong2024-01-30T20:34:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-30T20:35:02Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-30T20:35:02Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-30T20:35:02Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:35:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:35:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:35:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-30T20:35:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-30T20:35:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no other team members2024-01-30T20:35:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no team members provided2024-01-30T20:35:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:35:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:36:01Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts unable to be fetched, no other team members2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts unable to be fetched, no team members provided2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation(s) successfully fetched2024-01-30T20:36:01Z | FAIL | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation requests could not be fetched invalid data provided2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:36:27Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation change request successfully created2024-01-30T20:36:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:36:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-30T20:36:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-30T20:36:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:36:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:36:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-30T20:36:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:36:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:36:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:36:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:36:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:36:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:36:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:37:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:37:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:37:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:37:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:37:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:37:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:37:07Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:37:07Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:37:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:37:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:37:29Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no other team members2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no team members provided2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:37:32Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:37:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:37:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:37:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched incoming friend request(s)2024-01-30T20:37:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:37:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:37:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:37:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:37:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:37:54Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:38:00Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friends' post(s)2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no other team members2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no team members provided2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-30T20:38:01Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-30T20:38:01Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:38:03Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:38:04Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:38:04Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:38:05Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched incoming friend request(s)2024-01-30T20:38:05Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:38:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friend request successfully created2024-01-30T20:38:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:38:11Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:38:17Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-30T20:38:18Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T20:38:18Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-30T20:38:18Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:23Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:29Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:39Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-30T20:38:39Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T20:38:39Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-30T20:38:39Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T20:38:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:38:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:12Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:12Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:12Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:12Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests could not be fetched something went wrong2024-01-30T20:39:23Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T20:39:23Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:23Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:27Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:39:27Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T20:39:34Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:34Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully set2024-01-30T20:39:35Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T20:39:35Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:35Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:38Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T20:39:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T20:39:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:39:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully changed2024-01-30T20:39:54Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T20:39:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T20:39:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:39:59Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | New leader successfully added to team2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:39:59Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:39:59Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:39:59Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | New leader successfully added to team2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:08Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:08Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:08Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:09Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T20:40:09Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:40:09Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:40:41Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:40:54Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-30T20:40:54Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-30T20:40:54Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-30T20:40:55Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts Succesfully fetched2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched team's post(s)2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:40:55Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:40:57Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-30T20:40:57Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:40:58Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Permissions successfully fetched2024-01-30T20:40:58Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team data successfully fetched2024-01-30T20:40:58Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:40:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-30T20:40:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Permissions successfully fetched2024-01-30T20:40:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team data successfully fetched2024-01-30T20:40:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:41:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched outgoing friend request(s)2024-01-30T20:41:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:41:04Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friend request successfully created2024-01-30T20:41:04Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched outgoing friend request(s)2024-01-30T20:41:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:41:16Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:41:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:41:16Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-30T20:41:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:41:16Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:41:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully created comment2024-01-30T20:41:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:41:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:41:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:41:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:41:24Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression from this user of this type already exists on this content2024-01-30T20:41:24Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression succesfully created2024-01-30T20:41:24Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post/comment has no impressions associated2024-01-30T20:41:24Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:41:29Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:41:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:41:29Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-30T20:41:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:41:29Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post/comment has no impressions associated2024-01-30T20:41:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:41:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:41:31Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression from this user of this type already exists on this content2024-01-30T20:41:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression succesfully created2024-01-30T20:41:33Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression from this user of this type already exists on this content2024-01-30T20:41:33Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression succesfully created2024-01-30T20:41:37Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:41:50Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:41:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:41:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:41:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team leaders successfully fetched2024-01-30T20:41:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team members successfully fetched2024-01-30T20:41:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:41:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:42:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:42:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:42:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:42:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:42:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:42:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:42:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:42:17Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-30T20:42:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-30T20:42:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:42:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:42:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:42:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:42:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:42:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:42:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:42:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-30T20:42:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:42:27Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:42:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:42:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:42:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:42:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:42:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:42:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:42:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:42:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-30T20:42:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:42:53Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:42:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:42:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully created comment2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:43:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:43:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:43:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:43:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:43:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:43:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:43:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:43:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:43:17Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:43:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions succesfully fetched2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:43:52Z | INFO | client SC5iJLr7akpDZbbnAAAP disconnected2024-01-30T20:43:55Z | WARN | Server recieved shutdown signal2024-01-30T20:43:55Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:44:33Z | INFO | Ensuring server directories2024-01-30T20:44:33Z | INFO | Ensuring config file2024-01-30T20:44:33Z | INFO | Config already exists2024-01-30T20:44:33Z | INFO | Ensuring database2024-01-30T20:44:33Z | INFO | Checking encryption2024-01-30T20:44:33Z | INFO | Starting server background service2024-01-30T20:44:33Z | INFO | Server mode normal, continuing startup2024-01-30T20:44:51Z | WARN | Server recieved shutdown signal2024-01-30T20:44:51Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:44:52Z | INFO | Ensuring server directories2024-01-30T20:44:52Z | INFO | Ensuring config file2024-01-30T20:44:52Z | INFO | Config already exists2024-01-30T20:44:52Z | INFO | Ensuring database2024-01-30T20:44:52Z | INFO | Checking encryption2024-01-30T20:44:52Z | INFO | Starting server background service2024-01-30T20:44:52Z | INFO | Server mode normal, continuing startup2024-01-30T20:45:23Z | INFO | client x4GUI3sEXHODgpwJAAAB connected2024-01-30T20:45:23Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-30T20:45:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:45:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:45:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:25Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:45:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:45:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post successfully created2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:46:48Z | INFO | client x4GUI3sEXHODgpwJAAAB disconnected2024-01-30T20:46:50Z | WARN | Server recieved shutdown signal2024-01-30T20:46:50Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:47:04Z | INFO | Ensuring server directories2024-01-30T20:47:04Z | INFO | Ensuring config file2024-01-30T20:47:04Z | INFO | Config already exists2024-01-30T20:47:04Z | INFO | Ensuring database2024-01-30T20:47:04Z | INFO | Checking encryption2024-01-30T20:47:04Z | INFO | Starting server background service2024-01-30T20:47:04Z | INFO | Server mode normal, continuing startup2024-01-30T20:47:28Z | INFO | client v2vLki__Ezldw4SMAAAB connected2024-01-30T20:47:28Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-30T20:47:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:47:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:47:28Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:47:28Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:47:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:47:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:47:30Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:47:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:47:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:47:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:47:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:47:40Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:47:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:47:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions succesfully fetched2024-01-30T20:47:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:47:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:47:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:47:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:48:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:48:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post successfully created2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:48:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:48:30Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:50:53Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:50:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:50:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:50:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:50:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:50:54Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:50:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:56:03Z | INFO | client v2vLki__Ezldw4SMAAAB disconnected2024-01-30T20:56:04Z | WARN | Server recieved shutdown signal2024-01-30T20:56:04Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:36:33Z | INFO | Ensuring server directories2024-01-31T15:36:33Z | INFO | Ensuring config file2024-01-31T15:36:33Z | INFO | Config already exists2024-01-31T15:36:33Z | INFO | Ensuring database2024-01-31T15:36:33Z | INFO | Checking encryption2024-01-31T15:36:33Z | INFO | Starting server background service2024-01-31T15:36:33Z | INFO | Server mode normal, continuing startup2024-01-31T15:36:33Z | INFO | Generating time slot for 2024-02-012024-01-31T15:37:50Z | WARN | Server recieved shutdown signal2024-01-31T15:37:50Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:37:52Z | INFO | Ensuring server directories2024-01-31T15:37:52Z | INFO | Ensuring config file2024-01-31T15:37:52Z | INFO | Config already exists2024-01-31T15:37:52Z | INFO | Ensuring database2024-01-31T15:37:52Z | INFO | Checking encryption2024-01-31T15:37:52Z | INFO | Starting server background service2024-01-31T15:37:52Z | INFO | Server mode normal, continuing startup2024-01-31T15:39:24Z | WARN | Server recieved shutdown signal2024-01-31T15:39:24Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:39:25Z | INFO | Ensuring server directories2024-01-31T15:39:25Z | INFO | Ensuring config file2024-01-31T15:39:25Z | INFO | Config already exists2024-01-31T15:39:25Z | INFO | Ensuring database2024-01-31T15:39:25Z | INFO | Checking encryption2024-01-31T15:39:25Z | INFO | Starting server background service2024-01-31T15:39:25Z | INFO | Server mode normal, continuing startup2024-01-31T15:40:57Z | WARN | Server recieved shutdown signal2024-01-31T15:40:57Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:40:57Z | INFO | Ensuring server directories2024-01-31T15:40:57Z | INFO | Ensuring config file2024-01-31T15:40:57Z | INFO | Config already exists2024-01-31T15:40:57Z | INFO | Ensuring database2024-01-31T15:40:57Z | INFO | Checking encryption2024-01-31T15:40:57Z | INFO | Starting server background service2024-01-31T15:40:57Z | INFO | Server mode normal, continuing startup2024-01-31T15:42:59Z | WARN | Server recieved shutdown signal2024-01-31T15:42:59Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:43:00Z | INFO | Ensuring server directories2024-01-31T15:43:00Z | INFO | Ensuring config file2024-01-31T15:43:00Z | INFO | Config already exists2024-01-31T15:43:00Z | INFO | Ensuring database2024-01-31T15:43:00Z | INFO | Checking encryption2024-01-31T15:43:22Z | INFO | Ensuring server directories2024-01-31T15:43:22Z | INFO | Ensuring config file2024-01-31T15:43:22Z | INFO | Config already exists2024-01-31T15:43:22Z | INFO | Ensuring database2024-01-31T15:43:22Z | INFO | Checking encryption2024-01-31T15:43:23Z | INFO | Starting server background service2024-01-31T15:43:23Z | INFO | Server mode normal, continuing startup2024-01-31T15:43:30Z | WARN | Server recieved shutdown signal2024-01-31T15:43:30Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:44:13Z | INFO | Ensuring server directories2024-01-31T15:44:13Z | INFO | Ensuring config file2024-01-31T15:44:13Z | INFO | Config already exists2024-01-31T15:44:13Z | INFO | Ensuring database2024-01-31T15:44:13Z | INFO | Checking encryption2024-01-31T15:44:19Z | INFO | Ensuring server directories2024-01-31T15:44:19Z | INFO | Ensuring config file2024-01-31T15:44:19Z | INFO | Config already exists2024-01-31T15:44:19Z | INFO | Ensuring database2024-01-31T15:44:19Z | INFO | Checking encryption2024-01-31T15:44:19Z | INFO | Starting server background service2024-01-31T15:44:19Z | INFO | Server mode normal, continuing startup2024-01-31T15:46:12Z | WARN | Server recieved shutdown signal2024-01-31T15:46:12Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:46:13Z | INFO | Ensuring server directories2024-01-31T15:46:13Z | INFO | Ensuring config file2024-01-31T15:46:13Z | INFO | Config already exists2024-01-31T15:46:13Z | INFO | Ensuring database2024-01-31T15:46:13Z | INFO | Checking encryption2024-01-31T15:46:13Z | INFO | Starting server background service2024-01-31T15:46:13Z | INFO | Server mode normal, continuing startup2024-01-31T15:47:00Z | WARN | Server recieved shutdown signal2024-01-31T15:47:00Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:47:01Z | INFO | Ensuring server directories2024-01-31T15:47:01Z | INFO | Ensuring config file2024-01-31T15:47:01Z | INFO | Config already exists2024-01-31T15:47:01Z | INFO | Ensuring database2024-01-31T15:47:01Z | INFO | Checking encryption2024-01-31T15:47:07Z | INFO | Ensuring server directories2024-01-31T15:47:07Z | INFO | Ensuring config file2024-01-31T15:47:07Z | INFO | Config already exists2024-01-31T15:47:07Z | INFO | Ensuring database2024-01-31T15:47:07Z | INFO | Checking encryption2024-01-31T15:47:20Z | INFO | Ensuring server directories2024-01-31T15:47:20Z | INFO | Ensuring config file2024-01-31T15:47:20Z | INFO | Config already exists2024-01-31T15:47:20Z | INFO | Ensuring database2024-01-31T15:47:20Z | INFO | Checking encryption2024-01-31T15:47:20Z | INFO | Starting server background service2024-01-31T15:47:20Z | INFO | Server mode normal, continuing startup2024-01-31T15:47:28Z | WARN | Server recieved shutdown signal2024-01-31T15:47:28Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:47:28Z | INFO | Ensuring server directories2024-01-31T15:47:28Z | INFO | Ensuring config file2024-01-31T15:47:28Z | INFO | Config already exists2024-01-31T15:47:28Z | INFO | Ensuring database2024-01-31T15:47:28Z | INFO | Checking encryption2024-01-31T15:47:29Z | INFO | Starting server background service2024-01-31T15:47:29Z | INFO | Server mode normal, continuing startup2024-01-31T15:48:53Z | WARN | Server recieved shutdown signal2024-01-31T15:48:53Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:48:54Z | INFO | Ensuring server directories2024-01-31T15:48:54Z | INFO | Ensuring config file2024-01-31T15:48:54Z | INFO | Config already exists2024-01-31T15:48:54Z | INFO | Ensuring database2024-01-31T15:48:54Z | INFO | Checking encryption2024-01-31T15:48:55Z | INFO | Starting server background service2024-01-31T15:48:55Z | INFO | Server mode normal, continuing startup2024-01-31T15:50:00Z | WARN | Server recieved shutdown signal2024-01-31T15:50:00Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:50:01Z | INFO | Ensuring server directories2024-01-31T15:50:01Z | INFO | Ensuring config file2024-01-31T15:50:01Z | INFO | Config already exists2024-01-31T15:50:01Z | INFO | Ensuring database2024-01-31T15:50:01Z | INFO | Checking encryption2024-01-31T15:50:01Z | INFO | Starting server background service2024-01-31T15:50:01Z | INFO | Server mode normal, continuing startup2024-01-31T15:52:57Z | WARN | Server recieved shutdown signal2024-01-31T15:52:57Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:52:58Z | INFO | Ensuring server directories2024-01-31T15:52:58Z | INFO | Ensuring config file2024-01-31T15:52:58Z | INFO | Config already exists2024-01-31T15:52:58Z | INFO | Ensuring database2024-01-31T15:52:58Z | INFO | Checking encryption2024-01-31T15:53:04Z | INFO | Ensuring server directories2024-01-31T15:53:04Z | INFO | Ensuring config file2024-01-31T15:53:04Z | INFO | Config already exists2024-01-31T15:53:04Z | INFO | Ensuring database2024-01-31T15:53:04Z | INFO | Checking encryption2024-01-31T15:53:22Z | INFO | Ensuring server directories2024-01-31T15:53:22Z | INFO | Ensuring config file2024-01-31T15:53:22Z | INFO | Config already exists2024-01-31T15:53:22Z | INFO | Ensuring database2024-01-31T15:53:22Z | INFO | Checking encryption2024-01-31T15:53:22Z | INFO | Starting server background service2024-01-31T15:53:22Z | INFO | Server mode normal, continuing startup2024-01-31T15:54:24Z | WARN | Server recieved shutdown signal2024-01-31T15:54:24Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:54:25Z | INFO | Ensuring server directories2024-01-31T15:54:25Z | INFO | Ensuring config file2024-01-31T15:54:25Z | INFO | Config already exists2024-01-31T15:54:25Z | INFO | Ensuring database2024-01-31T15:54:25Z | INFO | Checking encryption2024-01-31T15:54:25Z | INFO | Starting server background service2024-01-31T15:54:25Z | INFO | Server mode normal, continuing startup2024-01-31T15:54:36Z | WARN | Server recieved shutdown signal2024-01-31T15:54:36Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:54:36Z | INFO | Ensuring server directories2024-01-31T15:54:36Z | INFO | Ensuring config file2024-01-31T15:54:36Z | INFO | Config already exists2024-01-31T15:54:36Z | INFO | Ensuring database2024-01-31T15:54:36Z | INFO | Checking encryption2024-01-31T15:54:37Z | INFO | Starting server background service2024-01-31T15:54:37Z | INFO | Server mode normal, continuing startup2024-01-31T15:55:14Z | WARN | Server recieved shutdown signal2024-01-31T15:55:14Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:55:14Z | INFO | Ensuring server directories2024-01-31T15:55:14Z | INFO | Ensuring config file2024-01-31T15:55:14Z | INFO | Config already exists2024-01-31T15:55:14Z | INFO | Ensuring database2024-01-31T15:55:14Z | INFO | Checking encryption2024-01-31T15:55:15Z | INFO | Starting server background service2024-01-31T15:55:15Z | INFO | Server mode normal, continuing startup2024-01-31T15:55:26Z | WARN | Server recieved shutdown signal2024-01-31T15:55:26Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:55:27Z | INFO | Ensuring server directories2024-01-31T15:55:27Z | INFO | Ensuring config file2024-01-31T15:55:27Z | INFO | Config already exists2024-01-31T15:55:27Z | INFO | Ensuring database2024-01-31T15:55:27Z | INFO | Checking encryption2024-01-31T15:55:27Z | INFO | Starting server background service2024-01-31T15:55:27Z | INFO | Server mode normal, continuing startup2024-01-31T15:55:49Z | WARN | Server recieved shutdown signal2024-01-31T15:55:49Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:55:50Z | INFO | Ensuring server directories2024-01-31T15:55:50Z | INFO | Ensuring config file2024-01-31T15:55:50Z | INFO | Config already exists2024-01-31T15:55:50Z | INFO | Ensuring database2024-01-31T15:55:50Z | INFO | Checking encryption2024-01-31T15:55:50Z | INFO | Starting server background service2024-01-31T15:55:50Z | INFO | Server mode normal, continuing startup2024-01-31T15:56:58Z | WARN | Server recieved shutdown signal2024-01-31T15:56:58Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:56:59Z | INFO | Ensuring server directories2024-01-31T15:56:59Z | INFO | Ensuring config file2024-01-31T15:56:59Z | INFO | Config already exists2024-01-31T15:56:59Z | INFO | Ensuring database2024-01-31T15:56:59Z | INFO | Checking encryption2024-01-31T15:57:55Z | INFO | Ensuring server directories2024-01-31T15:57:55Z | INFO | Ensuring config file2024-01-31T15:57:55Z | INFO | Config already exists2024-01-31T15:57:55Z | INFO | Ensuring database2024-01-31T15:57:55Z | INFO | Checking encryption2024-01-31T15:57:56Z | INFO | Starting server background service2024-01-31T15:57:56Z | INFO | Server mode normal, continuing startup2024-01-31T15:58:13Z | WARN | Server recieved shutdown signal2024-01-31T15:58:13Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T15:58:14Z | INFO | Ensuring server directories2024-01-31T15:58:14Z | INFO | Ensuring config file2024-01-31T15:58:14Z | INFO | Config already exists2024-01-31T15:58:14Z | INFO | Ensuring database2024-01-31T15:58:14Z | INFO | Checking encryption2024-01-31T15:58:14Z | INFO | Starting server background service2024-01-31T15:58:14Z | INFO | Server mode normal, continuing startup2024-01-31T16:01:15Z | WARN | Server recieved shutdown signal2024-01-31T16:01:15Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:01:16Z | INFO | Ensuring server directories2024-01-31T16:01:16Z | INFO | Ensuring config file2024-01-31T16:01:16Z | INFO | Config already exists2024-01-31T16:01:16Z | INFO | Ensuring database2024-01-31T16:01:16Z | INFO | Checking encryption2024-01-31T16:01:16Z | INFO | Starting server background service2024-01-31T16:01:16Z | INFO | Server mode normal, continuing startup2024-01-31T16:04:02Z | WARN | Server recieved shutdown signal2024-01-31T16:04:02Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:04:08Z | INFO | Ensuring server directories2024-01-31T16:04:08Z | INFO | Ensuring config file2024-01-31T16:04:08Z | INFO | Config already exists2024-01-31T16:04:08Z | INFO | Ensuring database2024-01-31T16:04:08Z | INFO | Checking encryption2024-01-31T16:04:20Z | INFO | Ensuring server directories2024-01-31T16:04:20Z | INFO | Ensuring config file2024-01-31T16:04:20Z | INFO | Config already exists2024-01-31T16:04:20Z | INFO | Ensuring database2024-01-31T16:04:20Z | INFO | Checking encryption2024-01-31T16:04:30Z | INFO | Ensuring server directories2024-01-31T16:04:30Z | INFO | Ensuring config file2024-01-31T16:04:30Z | INFO | Config already exists2024-01-31T16:04:30Z | INFO | Ensuring database2024-01-31T16:04:30Z | INFO | Checking encryption2024-01-31T16:04:31Z | INFO | Starting server background service2024-01-31T16:04:31Z | INFO | Server mode normal, continuing startup2024-01-31T16:05:32Z | WARN | Server recieved shutdown signal2024-01-31T16:05:32Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:05:33Z | INFO | Ensuring server directories2024-01-31T16:05:33Z | INFO | Ensuring config file2024-01-31T16:05:33Z | INFO | Config already exists2024-01-31T16:05:33Z | INFO | Ensuring database2024-01-31T16:05:33Z | INFO | Checking encryption2024-01-31T16:05:33Z | INFO | Starting server background service2024-01-31T16:05:33Z | INFO | Server mode normal, continuing startup2024-01-31T16:08:09Z | WARN | Server recieved shutdown signal2024-01-31T16:08:09Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:08:10Z | INFO | Ensuring server directories2024-01-31T16:08:10Z | INFO | Ensuring config file2024-01-31T16:08:10Z | INFO | Config already exists2024-01-31T16:08:10Z | INFO | Ensuring database2024-01-31T16:08:10Z | INFO | Checking encryption2024-01-31T16:08:10Z | INFO | Starting server background service2024-01-31T16:08:10Z | INFO | Server mode normal, continuing startup2024-01-31T16:08:52Z | INFO | client fKdfZbKfv-T39qYMAAAB connected2024-01-31T16:08:52Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T16:08:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:08:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T16:08:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:08:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:08:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T16:08:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T16:08:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T16:08:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T16:08:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:08:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:08:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:08:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:08:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:08:54Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:08:54Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:08:54Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:08:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:08:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:08:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:08:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:09:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:09:05Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-31T16:09:05Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:09:05Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:09:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-31T16:09:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:09:06Z | FAIL | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T16:09:15Z | INFO | client fKdfZbKfv-T39qYMAAAB disconnected2024-01-31T16:09:51Z | WARN | Server recieved shutdown signal2024-01-31T16:09:51Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:09:57Z | INFO | Ensuring server directories2024-01-31T16:09:57Z | INFO | Ensuring config file2024-01-31T16:09:57Z | INFO | Config already exists2024-01-31T16:09:57Z | INFO | Ensuring database2024-01-31T16:09:57Z | INFO | Checking encryption2024-01-31T16:09:57Z | INFO | Starting server background service2024-01-31T16:09:57Z | INFO | Server mode normal, continuing startup2024-01-31T16:10:03Z | WARN | Server recieved shutdown signal2024-01-31T16:10:03Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:10:18Z | INFO | Ensuring server directories2024-01-31T16:10:18Z | INFO | Ensuring config file2024-01-31T16:10:18Z | INFO | Config already exists2024-01-31T16:10:18Z | INFO | Ensuring database2024-01-31T16:10:18Z | INFO | Checking encryption2024-01-31T16:10:19Z | INFO | Starting server background service2024-01-31T16:10:19Z | INFO | Server mode normal, continuing startup2024-01-31T16:10:21Z | INFO | client vHu_0auWvuQI8LknAAAB connected2024-01-31T16:10:21Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T16:10:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:10:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:10:22Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:10:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:10:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:10:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:10:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:10:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:10:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:10:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:10:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:10:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:10:27Z | FAIL | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T16:10:34Z | INFO | client vHu_0auWvuQI8LknAAAB disconnected2024-01-31T16:11:21Z | INFO | client _pNPMl2t6nQRXClIAAAD connected2024-01-31T16:11:21Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:11:21Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:11:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:11:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:11:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:11:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:11:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:11:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:11:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:11:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:11:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:11:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:11:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:11:26Z | FAIL | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T16:11:32Z | INFO | client _pNPMl2t6nQRXClIAAAD disconnected2024-01-31T16:12:29Z | INFO | client 4NeW5UuhWNK8xG0kAAAF connected2024-01-31T16:12:29Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T16:12:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:12:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:12:30Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:12:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:12:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:12:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:12:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:12:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:12:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:12:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:12:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:12:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:12:34Z | FAIL | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T16:13:08Z | INFO | client 4NeW5UuhWNK8xG0kAAAF disconnected2024-01-31T16:13:59Z | WARN | Server recieved shutdown signal2024-01-31T16:13:59Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:14:00Z | INFO | Ensuring server directories2024-01-31T16:14:00Z | INFO | Ensuring config file2024-01-31T16:14:00Z | INFO | Config already exists2024-01-31T16:14:00Z | INFO | Ensuring database2024-01-31T16:14:00Z | INFO | Checking encryption2024-01-31T16:14:00Z | INFO | Starting server background service2024-01-31T16:14:00Z | INFO | Server mode normal, continuing startup2024-01-31T16:14:03Z | INFO | client _u-ZSIrPdzQIviBzAAAB connected2024-01-31T16:14:03Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:14:03Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:14:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:14:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:14:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:14:05Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:14:05Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:14:05Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:14:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:14:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:14:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:14:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:14:07Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:14:08Z | FAIL | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T16:14:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend/friend request successfully removed/rejected2024-01-31T16:14:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:14:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:14:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:14:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:14:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:14:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:14:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend/friend request successfully removed/rejected2024-01-31T16:14:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:14:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:14:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:14:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:14:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:14:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:15:24Z | INFO | client _u-ZSIrPdzQIviBzAAAB disconnected2024-01-31T16:18:00Z | INFO | client 2n1pdWuOHhv6PlAbAAAD connected2024-01-31T16:18:00Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T16:18:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:18:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T16:18:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:18:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:18:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:18:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:18:06Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:18:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T16:18:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T16:18:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T16:18:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T16:18:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:18:07Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:18:07Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:18:07Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:18:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:18:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:18:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:18:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:18:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:18:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:18:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-31T16:18:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T16:18:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:18:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:18:25Z | INFO | Starting user service for bfb13167-d959-4d7d-b317-657325cf7b0d2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T16:18:25Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friends' post(s)2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts Succesfully fetched2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched team's post(s)2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-31T16:18:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T16:18:27Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Permissions successfully fetched2024-01-31T16:18:27Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team data successfully fetched2024-01-31T16:18:27Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-31T16:18:28Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-31T16:18:28Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Permissions successfully fetched2024-01-31T16:18:28Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team data successfully fetched2024-01-31T16:18:28Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-31T16:18:30Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched incoming friend request(s)2024-01-31T16:18:31Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-31T16:18:33Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-31T16:18:34Z | FAIL | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T16:18:56Z | INFO | client 2n1pdWuOHhv6PlAbAAAD disconnected2024-01-31T16:19:00Z | INFO | client 92wsrIJZoDuwHOXtAAAF connected2024-01-31T16:19:00Z | INFO | Starting user service for bfb13167-d959-4d7d-b317-657325cf7b0d2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T16:19:00Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friends' post(s)2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts Succesfully fetched2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched team's post(s)2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-31T16:19:00Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T16:19:02Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Permissions successfully fetched2024-01-31T16:19:02Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team data successfully fetched2024-01-31T16:19:02Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-31T16:19:03Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-31T16:19:03Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Permissions successfully fetched2024-01-31T16:19:03Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team data successfully fetched2024-01-31T16:19:03Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-31T16:19:05Z | FAIL | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T16:19:14Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T16:19:20Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T16:19:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T16:19:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T16:19:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:19:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T16:19:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T16:19:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T16:19:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T16:19:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T16:19:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T16:19:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T16:19:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T16:19:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T16:19:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T16:19:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T16:19:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T16:19:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T16:19:24Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T16:19:24Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T16:19:24Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T16:19:25Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched incoming friend request(s)2024-01-31T16:19:26Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-31T16:19:29Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-31T16:19:29Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-31T16:19:29Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T16:19:29Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T16:19:29Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T16:19:29Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T16:19:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend/friend request successfully removed/rejected2024-01-31T16:19:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T16:19:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T16:19:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T16:19:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T16:19:49Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-31T16:19:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-31T16:19:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-31T16:19:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-31T16:19:56Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T16:20:01Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:20:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:20:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T16:20:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:20:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:20:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:20:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:20:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:20:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:20:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:20:05Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T16:20:05Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:20:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T16:20:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:20:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T16:20:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:20:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-31T16:20:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T16:20:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:20:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:20:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:20:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:20:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T16:20:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T16:20:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T16:20:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T16:40:43Z | INFO | client 92wsrIJZoDuwHOXtAAAF disconnected2024-01-31T16:40:46Z | WARN | Server recieved shutdown signal2024-01-31T16:40:46Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:44:13Z | INFO | Ensuring server directories2024-01-31T16:44:13Z | INFO | Ensuring config file2024-01-31T16:44:13Z | INFO | Config already exists2024-01-31T16:44:13Z | INFO | Ensuring database2024-01-31T16:44:13Z | INFO | Checking encryption2024-01-31T16:44:13Z | INFO | Starting server background service2024-01-31T16:44:13Z | INFO | Server mode normal, continuing startup2024-01-31T16:44:13Z | INFO | Generating time slot for 2024-01-312024-01-31T16:45:01Z | WARN | Server recieved shutdown signal2024-01-31T16:45:01Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:45:08Z | INFO | Ensuring server directories2024-01-31T16:45:08Z | INFO | Ensuring config file2024-01-31T16:45:08Z | INFO | Config already exists2024-01-31T16:45:08Z | INFO | Ensuring database2024-01-31T16:45:08Z | INFO | Checking encryption2024-01-31T16:45:08Z | INFO | Starting server background service2024-01-31T16:45:08Z | INFO | Server mode normal, continuing startup2024-01-31T16:45:08Z | INFO | Generating time slot for 2024-01-312024-01-31T16:45:08Z | INFO | Generating time slot for 2024-02-012024-01-31T16:46:44Z | WARN | Server recieved shutdown signal2024-01-31T16:46:44Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T16:46:44Z | INFO | Ensuring server directories2024-01-31T16:46:44Z | INFO | Ensuring config file2024-01-31T16:46:44Z | INFO | Config already exists2024-01-31T16:46:44Z | INFO | Ensuring database2024-01-31T16:46:44Z | INFO | Checking encryption2024-01-31T16:46:45Z | INFO | Starting server background service2024-01-31T16:46:45Z | INFO | Server mode normal, continuing startup2024-01-31T16:46:45Z | INFO | Generating time slot for 2024-01-312024-01-31T16:46:45Z | INFO | Generating time slot for 2024-02-012024-01-31T17:02:09Z | WARN | Server recieved shutdown signal2024-01-31T17:02:09Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T17:02:10Z | INFO | Ensuring server directories2024-01-31T17:02:10Z | INFO | Ensuring config file2024-01-31T17:02:10Z | INFO | Config already exists2024-01-31T17:02:10Z | INFO | Ensuring database2024-01-31T17:02:10Z | INFO | Checking encryption2024-01-31T17:02:11Z | INFO | Starting server background service2024-01-31T17:02:11Z | INFO | Server mode normal, continuing startup2024-01-31T17:02:13Z | INFO | client EARu6QS5p2VUnRtuAAAB connected2024-01-31T17:02:13Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:02:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:02:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:02:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:02:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:02:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:02:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:02:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:02:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:02:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:02:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:02:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:02:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:02:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:02:20Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:02:21Z | INFO | Sending post time notifications2024-01-31T17:02:21Z | INFO | Sent post time notifications2024-01-31T17:02:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post successfully created2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:02:26Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:02:26Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:02:26Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:02:26Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:02:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:02:43Z | INFO | client EARu6QS5p2VUnRtuAAAB disconnected2024-01-31T17:07:37Z | INFO | client nTR0Z6G7z-mDMSmhAAAD connected2024-01-31T17:07:38Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:07:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:07:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:07:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:07:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:07:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:07:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:07:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:07:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:07:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:07:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:07:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:08:18Z | INFO | client nTR0Z6G7z-mDMSmhAAAD disconnected2024-01-31T17:08:21Z | INFO | client Folpy9wW68PusSmsAAAF connected2024-01-31T17:08:21Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:08:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:08:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:08:22Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:08:22Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:08:22Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:08:22Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:08:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:08:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:08:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:08:34Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:08:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:08:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:08:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:08:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:08:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:09:39Z | INFO | client Folpy9wW68PusSmsAAAF disconnected2024-01-31T17:09:41Z | INFO | client d8VDuJIi44EFpjlsAAAH connected2024-01-31T17:09:41Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:09:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:09:42Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:09:42Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:09:42Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:09:42Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:09:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:09:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:09:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:09:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:09:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:10:25Z | INFO | client d8VDuJIi44EFpjlsAAAH disconnected2024-01-31T17:10:28Z | INFO | client 1JLlb_lS4VMBN4BUAAAJ connected2024-01-31T17:10:28Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:10:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:10:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:10:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:10:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:10:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:10:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:10:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:10:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:10:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:10:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:10:50Z | INFO | client 1JLlb_lS4VMBN4BUAAAJ disconnected2024-01-31T17:11:20Z | INFO | client Z2bk4iYeEkbh4ukPAAAL connected2024-01-31T17:11:20Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:11:20Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:11:21Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:11:21Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:11:21Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:11:21Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:11:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:11:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:11:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:11:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:11:59Z | INFO | client Z2bk4iYeEkbh4ukPAAAL disconnected2024-01-31T17:12:01Z | INFO | client UoWWApAWpEcO-yMKAAAN connected2024-01-31T17:12:01Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:12:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:12:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:12:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:12:02Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:12:02Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:12:02Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:12:02Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:12:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:12:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:12:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:13:21Z | INFO | client UoWWApAWpEcO-yMKAAAN disconnected2024-01-31T17:13:28Z | INFO | client lbxRKn73Q2miMxk0AAAP connected2024-01-31T17:13:28Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:13:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:13:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:13:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:13:28Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:13:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:13:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:13:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:13:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:13:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:13:38Z | INFO | client lbxRKn73Q2miMxk0AAAP disconnected2024-01-31T17:13:43Z | INFO | client wNVFpXasqPo0BwvlAAAR connected2024-01-31T17:13:43Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:13:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:13:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:13:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:13:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:13:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:13:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:13:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:13:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:13:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:13:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:13:51Z | INFO | client wNVFpXasqPo0BwvlAAAR disconnected2024-01-31T17:14:17Z | INFO | client -SnBklX_PDu3-e69AAAT connected2024-01-31T17:14:17Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:14:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:14:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:14:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:14:17Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:14:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:14:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:14:18Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:14:18Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:14:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:14:27Z | INFO | client -SnBklX_PDu3-e69AAAT disconnected2024-01-31T17:16:47Z | INFO | client wxz9byfgNjfqmRhYAAAV connected2024-01-31T17:16:48Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:16:48Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:16:48Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:16:48Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:16:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:17:07Z | INFO | client wxz9byfgNjfqmRhYAAAV disconnected2024-01-31T17:17:09Z | INFO | client MidA9oQ9VmURI6PSAAAX connected2024-01-31T17:17:09Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:17:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:17:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:17:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:17:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:17:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:17:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:17:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:17:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:17:10Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:10Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:17:10Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:17:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:17:52Z | INFO | client MidA9oQ9VmURI6PSAAAX disconnected2024-01-31T17:17:55Z | INFO | client orFg4XPK9SeS92W0AAAZ connected2024-01-31T17:17:55Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:17:55Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:17:55Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:17:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:17:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:17:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:17:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:17:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:17:57Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:17:57Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:17:57Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:18:33Z | INFO | client orFg4XPK9SeS92W0AAAZ disconnected2024-01-31T17:18:35Z | INFO | client eRHDglCpSb89cU93AAAb connected2024-01-31T17:18:35Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:18:35Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:35Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:18:36Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:18:36Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:18:36Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:18:36Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:19:10Z | INFO | client eRHDglCpSb89cU93AAAb disconnected2024-01-31T17:19:12Z | INFO | client 0z81fXN4YLx24_1CAAAd connected2024-01-31T17:19:12Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:19:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:19:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:19:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:19:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:19:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:22:35Z | INFO | client 0z81fXN4YLx24_1CAAAd disconnected2024-01-31T17:22:37Z | INFO | client JrkjKDkLD4zuN63WAAAf connected2024-01-31T17:22:37Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T17:22:37Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:22:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T17:22:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T17:22:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T17:22:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:22:41Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:22:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:22:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:22:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:22:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:22:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:22:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:22:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T17:22:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T17:22:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T17:22:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T17:22:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T17:22:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T17:22:58Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T17:22:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:22:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-31T17:22:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T17:22:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T17:22:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T17:23:00Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T17:23:04Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post successfully created2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T17:23:05Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post(s) Succesfully fetched2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:23:05Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T17:23:05Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-31T17:23:06Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:23:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T17:23:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T17:23:10Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:23:10Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T17:23:10Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T17:23:10Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T17:23:10Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T17:23:10Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post(s) Succesfully fetched2024-01-31T17:23:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:23:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T17:23:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T17:23:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T17:23:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T17:23:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post(s) Succesfully fetched2024-01-31T17:23:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T17:23:24Z | INFO | client JrkjKDkLD4zuN63WAAAf disconnected2024-01-31T17:23:28Z | INFO | client zDBUA3qTJLcyaqNnAAAh connected2024-01-31T17:23:32Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-31T17:23:32Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-31T17:23:32Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friends' post(s)2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts Succesfully fetched2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched team's post(s)2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:32Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:32Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-31T17:23:33Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:33Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-31T17:23:33Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-31T17:23:33Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-31T17:23:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T17:23:35Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-31T17:23:39Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-31T17:23:40Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Post successfully created2024-01-31T17:23:40Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched post memories2024-01-31T17:23:40Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:23:40Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-31T17:23:40Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friends' post(s)2024-01-31T17:23:40Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts Succesfully fetched2024-01-31T17:23:40Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched team's post(s)2024-01-31T17:23:40Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Post(s) Succesfully fetched2024-01-31T17:23:41Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:41Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:41Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:41Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:41Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:23:41Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-31T17:23:41Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:23:41Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-31T17:23:41Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-31T17:25:47Z | INFO | client zDBUA3qTJLcyaqNnAAAh disconnected2024-01-31T17:25:55Z | INFO | client vnr8s1Qlorpsp0f8AAAj connected2024-01-31T17:25:55Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched post memories2024-01-31T17:25:55Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friends' post(s)2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts Succesfully fetched2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched team's post(s)2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Post(s) Succesfully fetched2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:55Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:55Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-31T17:25:56Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-31T17:25:56Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T17:25:56Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-31T17:25:56Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched post memories2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-31T17:25:56Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-31T17:25:57Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T17:26:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T17:26:05Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T17:26:05Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts Succesfully fetched2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched team's post(s)2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T17:26:05Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:05Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T17:26:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T17:26:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-31T17:26:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T17:26:13Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-31T17:26:17Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-31T17:26:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post successfully created2024-01-31T17:26:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T17:26:18Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:26:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-31T17:26:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-31T17:26:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts Succesfully fetched2024-01-31T17:26:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched team's post(s)2024-01-31T17:26:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-31T17:26:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:26:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T17:26:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:26:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T17:26:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T17:27:34Z | INFO | client vnr8s1Qlorpsp0f8AAAj disconnected2024-01-31T17:27:41Z | INFO | client mZx-s_AFoSPqFWfiAAAl connected2024-01-31T17:27:41Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T17:27:41Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts Succesfully fetched2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched team's post(s)2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T17:27:41Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:41Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T17:27:42Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T17:27:42Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T17:27:42Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T17:27:42Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-31T17:27:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-31T17:27:43Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T17:27:48Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T17:27:59Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:27:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T17:27:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:27:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:27:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:27:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:28:00Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:28:00Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:00Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:28:00Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:28:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:28:01Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T17:28:01Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:28:01Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:28:01Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:28:01Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:28:03Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:28:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post successfully created2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:28:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:28:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:28:08Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:28:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:28:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:28:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:28:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:28:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:28:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:28:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:28:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:28:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:28:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:28:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:28:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:28:39Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:28:39Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:28:39Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:28:39Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:28:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:28:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | User {leader['username']} removed as a leader from this team2024-01-31T17:28:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:28:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:28:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:28:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:28:45Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:28:45Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:28:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:28:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:28:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:28:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:28:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:28:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:28:52Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:28:52Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:28:52Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:28:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:29:03Z | INFO | client mZx-s_AFoSPqFWfiAAAl disconnected2024-01-31T17:29:05Z | INFO | client sAYUE1CeYNTdc19GAAAn connected2024-01-31T17:29:11Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:29:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:29:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:29:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:29:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:29:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:29:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:29:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:29:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:29:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:29:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:29:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:29:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:29:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:29:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:29:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:29:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:29:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:29:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:29:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:29:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:29:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:29:33Z | INFO | Starting user service for 8b310b49-0911-4149-976b-4701534d43412024-01-31T17:29:33Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched post slot2024-01-31T17:29:33Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T17:29:33Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:29:33Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friend(s) post(s)2024-01-31T17:29:33Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no other team members2024-01-31T17:29:33Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no team members provided2024-01-31T17:29:33Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T17:29:33Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T17:29:33Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Occupation successfully fetched2024-01-31T17:29:33Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Friends successfully fetched2024-01-31T17:29:33Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T17:29:33Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Occupation(s) successfully fetched2024-01-31T17:29:33Z | FAIL | 8b310b49-0911-4149-976b-4701534d4341 | Occupation requests could not be fetched invalid data provided2024-01-31T17:29:34Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T17:29:39Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully changed/deleted {column}2024-01-31T17:29:42Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched post slot2024-01-31T17:29:44Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched post slot2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Post successfully created2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched post memories2024-01-31T17:29:46Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friend(s) post(s)2024-01-31T17:29:46Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no other team members2024-01-31T17:29:46Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no team members provided2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Post(s) Succesfully fetched2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T17:29:46Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T17:29:46Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No post data requested to be fetched, check your inputs2024-01-31T17:29:47Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:29:47Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression(s)2024-01-31T17:29:47Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression count2024-01-31T17:29:49Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:29:49Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friend(s) post(s)2024-01-31T17:29:49Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no other team members2024-01-31T17:29:49Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no team members provided2024-01-31T17:29:49Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Post(s) Succesfully fetched2024-01-31T17:29:50Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T17:29:53Z | INFO | client sAYUE1CeYNTdc19GAAAn disconnected2024-01-31T17:30:16Z | INFO | client 6RAVixrKzemFwYJFAAAp connected2024-01-31T17:30:21Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:30:21Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T17:30:21Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:21Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:30:21Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:30:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:30:22Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:30:22Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:22Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:30:22Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:30:22Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T17:30:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:30:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:30:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:30:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:30:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:30:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post successfully created2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:30:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:30:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:30:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:30:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:31:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:31:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:31:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:31:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:31:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:31:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:32:00Z | INFO | client 6RAVixrKzemFwYJFAAAp disconnected2024-01-31T17:32:12Z | INFO | client wVfvUE3hmiyaz0cjAAAr connected2024-01-31T17:32:12Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:32:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:32:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:32:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T17:32:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:32:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:32:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:32:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:32:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:32:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:32:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:32:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T17:32:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:32:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:32:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:32:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:32:15Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:32:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:32:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post successfully created2024-01-31T17:32:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:32:20Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:32:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:32:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:32:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:32:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:32:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:32:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:32:21Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:32:21Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:32:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:32:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:33:27Z | INFO | client wVfvUE3hmiyaz0cjAAAr disconnected2024-01-31T17:36:05Z | INFO | client BIUKL73gBmAWkTtMAAAt connected2024-01-31T17:36:05Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:36:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:36:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:36:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:36:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:36:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:36:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:36:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:36:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:36:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:36:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:36:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:36:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:36:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:36:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:36:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:36:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions succesfully fetched2024-01-31T17:36:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:36:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:36:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:36:15Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:36:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:36:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:36:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:36:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:36:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:36:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:36:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:36:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:36:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:36:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:36:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions succesfully fetched2024-01-31T17:36:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:36:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:36:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:36:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:36:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:36:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:36:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:36:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:41:02Z | INFO | client BIUKL73gBmAWkTtMAAAt disconnected2024-01-31T17:41:05Z | INFO | client l4PiVghmgpSMkRmvAAAv connected2024-01-31T17:41:05Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:41:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:41:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:41:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:41:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:41:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:41:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:41:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:41:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:41:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:41:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:41:25Z | INFO | client l4PiVghmgpSMkRmvAAAv disconnected2024-01-31T17:41:27Z | INFO | client X4j2KH3E_ETZGsF-AAAx connected2024-01-31T17:41:27Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:41:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:41:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:41:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:41:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:41:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:41:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:41:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:41:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:41:32Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:41:32Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:41:32Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:42:15Z | INFO | client X4j2KH3E_ETZGsF-AAAx disconnected2024-01-31T17:42:18Z | INFO | client ReCRhU5W95RdavwxAAAz connected2024-01-31T17:42:18Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:42:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:42:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:42:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:42:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:42:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:42:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:42:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:42:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:42:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:42:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:42:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:42:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:42:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:42:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:42:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:42:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:42:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:42:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:43:05Z | INFO | client ReCRhU5W95RdavwxAAAz disconnected2024-01-31T17:43:08Z | INFO | client 3DQbuFA85yg1LfeiAAA1 connected2024-01-31T17:43:08Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:43:08Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:43:08Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:08Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:43:09Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:43:09Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:43:09Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:43:09Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:43:09Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:43:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:43:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:43:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:43:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:43:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:43:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:43:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:43:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:43:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:43:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:44:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders successfully fetched2024-01-31T17:44:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | User {leader['username']} removed as a leader from this team2024-01-31T17:44:30Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team leaders could not be fetched, invalid data provided2024-01-31T17:44:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team members successfully fetched2024-01-31T17:44:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:44:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:56:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:56:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:56:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:56:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions succesfully fetched2024-01-31T17:56:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:56:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:56:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:56:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:57:07Z | INFO | client 3DQbuFA85yg1LfeiAAA1 disconnected2024-01-31T17:57:11Z | INFO | client _jv0nweA8-_OyLlQAAA3 connected2024-01-31T17:57:11Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:57:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:57:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:57:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:57:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:57:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:57:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T17:57:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T17:57:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T17:57:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:57:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:57:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:57:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:57:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:57:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully changed/deleted {column}2024-01-31T17:57:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:57:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:57:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T17:57:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression from this user of this type already exists on this content2024-01-31T17:57:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression succesfully created2024-01-31T17:57:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions succesfully fetched2024-01-31T17:57:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T17:57:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T17:57:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T17:57:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:19:15Z | INFO | client _jv0nweA8-_OyLlQAAA3 disconnected2024-01-31T18:37:12Z | INFO | client fHlpm-be5mFF8BmeAAA5 connected2024-01-31T18:37:12Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:37:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:37:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:37:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:37:15Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:37:15Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:37:16Z | INFO | client EMLc34Ti-o5F-9gRAAA7 connected2024-01-31T18:37:16Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:37:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:37:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:37:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:37:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:37:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:37:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:37:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:37:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:37:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:37:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:37:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:37:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:37:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T18:37:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T18:37:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:37:34Z | INFO | Starting user service for 8b310b49-0911-4149-976b-4701534d43412024-01-31T18:37:34Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched post slot2024-01-31T18:37:34Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T18:37:34Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:37:34Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friend(s) post(s)2024-01-31T18:37:34Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no other team members2024-01-31T18:37:34Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no team members provided2024-01-31T18:37:34Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T18:37:34Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:37:34Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Occupation successfully fetched2024-01-31T18:37:34Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Friends successfully fetched2024-01-31T18:37:34Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:37:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T18:37:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T18:37:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:37:37Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:37:37Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T18:37:37Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T18:37:37Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:37:39Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-31T18:37:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-31T18:37:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-31T18:37:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-31T18:37:53Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No notifications exist for this user2024-01-31T18:37:53Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Notification(s) successfully fetched2024-01-31T18:38:17Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Permissions successfully fetched2024-01-31T18:38:19Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Friends successfully fetched2024-01-31T18:38:19Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Permissions successfully fetched2024-01-31T18:38:25Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T18:38:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T18:38:29Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched incoming friend request(s)2024-01-31T18:38:29Z | FAIL | 8b310b49-0911-4149-976b-4701534d4341 | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T18:38:31Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Friend request successfully created2024-01-31T18:38:31Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched friend recomendations2024-01-31T18:38:31Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Friends successfully fetched2024-01-31T18:38:32Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Permissions successfully fetched2024-01-31T18:38:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T18:38:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T18:38:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T18:38:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T18:39:07Z | INFO | client EMLc34Ti-o5F-9gRAAA7 disconnected2024-01-31T18:39:07Z | INFO | client fHlpm-be5mFF8BmeAAA5 disconnected2024-01-31T18:39:07Z | WARN | Server recieved shutdown signal2024-01-31T18:39:07Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:39:12Z | INFO | Ensuring server directories2024-01-31T18:39:12Z | INFO | Ensuring config file2024-01-31T18:39:12Z | INFO | Config already exists2024-01-31T18:39:12Z | INFO | Ensuring database2024-01-31T18:39:12Z | INFO | Checking encryption2024-01-31T18:43:52Z | INFO | Ensuring server directories2024-01-31T18:43:52Z | INFO | Ensuring config file2024-01-31T18:43:52Z | INFO | Config already exists2024-01-31T18:43:52Z | INFO | Ensuring database2024-01-31T18:43:52Z | INFO | Checking encryption2024-01-31T18:43:52Z | INFO | Starting server background service2024-01-31T18:43:52Z | INFO | Server mode normal, continuing startup2024-01-31T18:43:58Z | INFO | client jMQG0tJOjHQtOXX2AAAB connected2024-01-31T18:43:58Z | INFO | Starting user service for 8b310b49-0911-4149-976b-4701534d43412024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched post slot2024-01-31T18:43:58Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T18:43:58Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friend(s) post(s)2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friends' post(s)2024-01-31T18:43:58Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no other team members2024-01-31T18:43:58Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no team members provided2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:43:58Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No post data requested to be fetched, check your inputs2024-01-31T18:43:58Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression(s)2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression count2024-01-31T18:43:58Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:43:58Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Occupation successfully fetched2024-01-31T18:43:59Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Friends successfully fetched2024-01-31T18:43:59Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:44:07Z | INFO | client UxEI-IwH8PNgqGAbAAAD connected2024-01-31T18:44:07Z | INFO | Starting user service for 8b310b49-0911-4149-976b-4701534d43412024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched post slot2024-01-31T18:44:07Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T18:44:07Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friend(s) post(s)2024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friends' post(s)2024-01-31T18:44:07Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no other team members2024-01-31T18:44:07Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no team members provided2024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:44:07Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T18:44:07Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No post data requested to be fetched, check your inputs2024-01-31T18:44:08Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:44:08Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression(s)2024-01-31T18:44:08Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression count2024-01-31T18:44:08Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T18:44:08Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:44:08Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Occupation successfully fetched2024-01-31T18:44:08Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Friends successfully fetched2024-01-31T18:44:08Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:44:10Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T18:44:17Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:44:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:44:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:44:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:44:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:44:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:44:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:44:19Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:44:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:44:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:44:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:44:23Z | FAIL | 8b310b49-0911-4149-976b-4701534d4341 | Comment(s) unable to be fetched, something went wrong2024-01-31T18:44:23Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment(s)2024-01-31T18:44:27Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully created comment2024-01-31T18:44:27Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No data requested to be fetched, check inputs2024-01-31T18:44:27Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment2024-01-31T18:44:27Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No comments related to requested post2024-01-31T18:44:27Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment(s)2024-01-31T18:44:27Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:44:27Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression(s)2024-01-31T18:44:27Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression count2024-01-31T18:46:00Z | INFO | client UxEI-IwH8PNgqGAbAAAD disconnected2024-01-31T18:46:00Z | INFO | client jMQG0tJOjHQtOXX2AAAB disconnected2024-01-31T18:46:00Z | WARN | Server recieved shutdown signal2024-01-31T18:46:00Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:46:07Z | INFO | Ensuring server directories2024-01-31T18:46:07Z | INFO | Ensuring config file2024-01-31T18:46:07Z | INFO | Config already exists2024-01-31T18:46:07Z | INFO | Ensuring database2024-01-31T18:46:07Z | INFO | Checking encryption2024-01-31T18:46:07Z | INFO | Starting server background service2024-01-31T18:46:07Z | INFO | Server mode normal, continuing startup2024-01-31T18:46:12Z | INFO | client FCeGwS0c3BJ-3h8uAAAB connected2024-01-31T18:46:12Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:46:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:46:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:46:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:46:12Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:46:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:46:12Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:46:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:46:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:46:13Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:13Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:46:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:46:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:46:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:46:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:46:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T18:46:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T18:46:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:46:20Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Comment(s) unable to be fetched, something went wrong2024-01-31T18:46:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:46:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:46:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:46:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:46:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:46:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:46:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:46:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:46:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:47:11Z | INFO | client FCeGwS0c3BJ-3h8uAAAB disconnected2024-01-31T18:47:11Z | WARN | Server recieved shutdown signal2024-01-31T18:47:11Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:47:13Z | INFO | Ensuring server directories2024-01-31T18:47:13Z | INFO | Ensuring config file2024-01-31T18:47:13Z | INFO | Config already exists2024-01-31T18:47:13Z | INFO | Ensuring database2024-01-31T18:47:13Z | INFO | Checking encryption2024-01-31T18:47:14Z | INFO | Starting server background service2024-01-31T18:47:14Z | INFO | Server mode normal, continuing startup2024-01-31T18:47:16Z | INFO | client zWTPE9W8dwH36yb6AAAB connected2024-01-31T18:47:17Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:47:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:47:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:47:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:47:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:47:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:47:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:47:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:47:18Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:47:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:47:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:47:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:47:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:47:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:47:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:47:22Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Comment(s) unable to be fetched, something went wrong2024-01-31T18:47:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:47:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:47:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:47:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:47:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:47:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:47:28Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:47:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:47:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:08Z | INFO | client zWTPE9W8dwH36yb6AAAB disconnected2024-01-31T18:49:12Z | WARN | Server recieved shutdown signal2024-01-31T18:49:12Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:49:13Z | INFO | Ensuring server directories2024-01-31T18:49:13Z | INFO | Ensuring config file2024-01-31T18:49:13Z | INFO | Config already exists2024-01-31T18:49:13Z | INFO | Ensuring database2024-01-31T18:49:13Z | INFO | Checking encryption2024-01-31T18:49:13Z | INFO | Starting server background service2024-01-31T18:49:13Z | INFO | Server mode normal, continuing startup2024-01-31T18:49:15Z | INFO | client aqpUwaGea2AytesdAAAB connected2024-01-31T18:49:15Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:49:15Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:49:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:17Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:49:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:49:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:49:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:49:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:49:22Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Comment(s) unable to be fetched, something went wrong2024-01-31T18:49:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:49:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:49:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:49:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:49:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:49:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:49:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:45Z | INFO | client aqpUwaGea2AytesdAAAB disconnected2024-01-31T18:49:45Z | WARN | Server recieved shutdown signal2024-01-31T18:49:45Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:49:46Z | INFO | Ensuring server directories2024-01-31T18:49:46Z | INFO | Ensuring config file2024-01-31T18:49:46Z | INFO | Config already exists2024-01-31T18:49:46Z | INFO | Ensuring database2024-01-31T18:49:46Z | INFO | Checking encryption2024-01-31T18:49:46Z | INFO | Starting server background service2024-01-31T18:49:46Z | INFO | Server mode normal, continuing startup2024-01-31T18:49:49Z | INFO | client Kfk2CMKjrTt_0ol0AAAB connected2024-01-31T18:49:49Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:49:49Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:49Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:51Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:49:51Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:49:51Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:49:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:49:55Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Comment(s) unable to be fetched, something went wrong2024-01-31T18:49:55Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:49:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:49:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:49:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:49:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:49:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:49:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:49:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:49:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:50:19Z | INFO | client Kfk2CMKjrTt_0ol0AAAB disconnected2024-01-31T18:50:20Z | WARN | Server recieved shutdown signal2024-01-31T18:50:20Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:50:20Z | INFO | Ensuring server directories2024-01-31T18:50:20Z | INFO | Ensuring config file2024-01-31T18:50:20Z | INFO | Config already exists2024-01-31T18:50:20Z | INFO | Ensuring database2024-01-31T18:50:20Z | INFO | Checking encryption2024-01-31T18:50:21Z | INFO | Starting server background service2024-01-31T18:50:21Z | INFO | Server mode normal, continuing startup2024-01-31T18:50:23Z | INFO | client GgiWvE_IC378OEMNAAAB connected2024-01-31T18:50:23Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:50:23Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:23Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:50:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:50:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:50:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:50:25Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:50:25Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:50:25Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:50:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:50:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:50:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:50:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:50:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:50:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:50:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:50:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:50:38Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:50:38Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:50:38Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:50:38Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:50:38Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:50:38Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:50:38Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:50:43Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:50:43Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:50:43Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:50:43Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:50:43Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:50:43Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:50:43Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:50:43Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:50:43Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:50:43Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:51:18Z | INFO | client GgiWvE_IC378OEMNAAAB disconnected2024-01-31T18:51:18Z | WARN | Server recieved shutdown signal2024-01-31T18:51:18Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:51:19Z | INFO | Ensuring server directories2024-01-31T18:51:19Z | INFO | Ensuring config file2024-01-31T18:51:19Z | INFO | Config already exists2024-01-31T18:51:19Z | INFO | Ensuring database2024-01-31T18:51:19Z | INFO | Checking encryption2024-01-31T18:51:19Z | INFO | Starting server background service2024-01-31T18:51:19Z | INFO | Server mode normal, continuing startup2024-01-31T18:51:22Z | INFO | client yFGfGlJ9GI5p8rhBAAAB connected2024-01-31T18:51:22Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:51:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:51:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:51:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:51:22Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:51:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:51:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:51:23Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:51:23Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:23Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:51:23Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:51:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:51:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:51:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:51:24Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:51:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:51:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:51:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:51:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:51:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:51:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:51:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:51:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:51:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:51:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:51:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:51:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:51:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:51:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:51:31Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:51:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:51:31Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:51:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:51:31Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:51:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:51:31Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:51:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:51:31Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:51:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:51:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:28Z | INFO | client yFGfGlJ9GI5p8rhBAAAB disconnected2024-01-31T18:52:29Z | WARN | Server recieved shutdown signal2024-01-31T18:52:29Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:52:30Z | INFO | Ensuring server directories2024-01-31T18:52:30Z | INFO | Ensuring config file2024-01-31T18:52:30Z | INFO | Config already exists2024-01-31T18:52:30Z | INFO | Ensuring database2024-01-31T18:52:30Z | INFO | Checking encryption2024-01-31T18:52:30Z | INFO | Starting server background service2024-01-31T18:52:30Z | INFO | Server mode normal, continuing startup2024-01-31T18:52:32Z | INFO | client CwCHIL-Q6zg5jCX9AAAB connected2024-01-31T18:52:33Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:52:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:52:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:52:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:52:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:52:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:52:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:52:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:52:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:52:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:52:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:52:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:52:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:52:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:52:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:52:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:52:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:52:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:52:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:52:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:52:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:52:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:52:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:52:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:52:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:52:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:45Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:52:45Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:52:45Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:52:45Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:52:45Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:52:45Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:52:45Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:52:45Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:52:45Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:52:45Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:52:59Z | INFO | client CwCHIL-Q6zg5jCX9AAAB disconnected2024-01-31T18:52:59Z | WARN | Server recieved shutdown signal2024-01-31T18:52:59Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:53:03Z | INFO | Ensuring server directories2024-01-31T18:53:03Z | INFO | Ensuring config file2024-01-31T18:53:03Z | INFO | Config already exists2024-01-31T18:53:03Z | INFO | Ensuring database2024-01-31T18:53:03Z | INFO | Checking encryption2024-01-31T18:53:03Z | INFO | Starting server background service2024-01-31T18:53:03Z | INFO | Server mode normal, continuing startup2024-01-31T18:53:05Z | INFO | client oOZra3gPbS0v5f1-AAAB connected2024-01-31T18:53:05Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:53:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:53:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:53:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:53:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:06Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:07Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:53:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:53:10Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:53:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:53:10Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:53:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:53:10Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:10Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:53:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:53:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:53:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:53:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:53:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:53:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:53:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:35Z | INFO | client oOZra3gPbS0v5f1-AAAB disconnected2024-01-31T18:53:35Z | WARN | Server recieved shutdown signal2024-01-31T18:53:35Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:53:39Z | INFO | Ensuring server directories2024-01-31T18:53:39Z | INFO | Ensuring config file2024-01-31T18:53:39Z | INFO | Config already exists2024-01-31T18:53:39Z | INFO | Ensuring database2024-01-31T18:53:39Z | INFO | Checking encryption2024-01-31T18:53:39Z | INFO | Starting server background service2024-01-31T18:53:39Z | INFO | Server mode normal, continuing startup2024-01-31T18:53:40Z | INFO | client pCWbFXMOtj5csXrFAAAB connected2024-01-31T18:53:40Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:53:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:53:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:53:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:53:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:53:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:53:43Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:53:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:53:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:53:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:53:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:53:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:53:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:53:51Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:53:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:53:51Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:53:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:53:51Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:53:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:53:51Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:53:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:53:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:54:16Z | INFO | client pCWbFXMOtj5csXrFAAAB disconnected2024-01-31T18:54:16Z | WARN | Server recieved shutdown signal2024-01-31T18:54:16Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:54:37Z | INFO | Ensuring server directories2024-01-31T18:54:37Z | INFO | Ensuring config file2024-01-31T18:54:37Z | INFO | Config already exists2024-01-31T18:54:37Z | INFO | Ensuring database2024-01-31T18:54:37Z | INFO | Checking encryption2024-01-31T18:54:37Z | INFO | Starting server background service2024-01-31T18:54:37Z | INFO | Server mode normal, continuing startup2024-01-31T18:54:39Z | INFO | client viMg7rSsh8gMVqwcAAAB connected2024-01-31T18:54:40Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:54:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:54:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:54:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:54:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:54:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:54:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:54:41Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:54:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:54:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:54:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:54:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:54:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:54:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:54:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:54:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:54:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:54:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:54:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:54:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:54:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:54:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:54:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:54:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:54:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:54:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:54:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T18:54:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:54:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:54:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:54:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:54:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T18:54:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T18:54:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T18:54:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T18:54:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:54:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:54:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:55:06Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:55:10Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T18:55:11Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts Succesfully fetched2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched team's post(s)2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:55:11Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:55:11Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:11Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:55:12Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:55:12Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:55:12Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:55:12Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T18:55:12Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:55:13Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-31T18:55:13Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-31T18:55:13Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:55:15Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No notifications exist for this user2024-01-31T18:55:15Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification(s) successfully fetched2024-01-31T18:55:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification successfully removed2024-01-31T18:55:18Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No notifications exist for this user2024-01-31T18:55:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification(s) successfully fetched2024-01-31T18:55:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification successfully removed2024-01-31T18:55:18Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No notifications exist for this user2024-01-31T18:55:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification(s) successfully fetched2024-01-31T18:55:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification successfully removed2024-01-31T18:55:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No notifications exist for this user2024-01-31T18:55:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification(s) successfully fetched2024-01-31T18:55:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification successfully removed2024-01-31T18:55:20Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No notifications exist for this user2024-01-31T18:55:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification(s) successfully fetched2024-01-31T18:55:37Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No notifications exist for this user2024-01-31T18:55:37Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification(s) successfully fetched2024-01-31T18:55:38Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No notifications exist for this user2024-01-31T18:55:38Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Notification(s) successfully fetched2024-01-31T18:55:40Z | INFO | client viMg7rSsh8gMVqwcAAAB disconnected2024-01-31T18:55:40Z | WARN | Server recieved shutdown signal2024-01-31T18:55:40Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:57:16Z | INFO | Ensuring server directories2024-01-31T18:57:16Z | INFO | Ensuring config file2024-01-31T18:57:16Z | INFO | Config already exists2024-01-31T18:57:16Z | INFO | Ensuring database2024-01-31T18:57:16Z | INFO | Checking encryption2024-01-31T18:57:16Z | INFO | Starting server background service2024-01-31T18:57:16Z | INFO | Server mode normal, continuing startup2024-01-31T18:57:18Z | INFO | client 50Q1IzcUMx_mcQq2AAAB connected2024-01-31T18:57:18Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-31T18:57:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:57:18Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T18:57:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts Succesfully fetched2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched team's post(s)2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:57:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:57:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:19Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:57:20Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:57:20Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:20Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:57:20Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:57:20Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-31T18:57:21Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-31T18:57:21Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:57:22Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:22Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:22Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:22Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:22Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:22Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:22Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-31T18:57:22Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-31T18:57:22Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:22Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:30Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:30Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:30Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:30Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-31T18:57:30Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:30Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:30Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully created comment2024-01-31T18:57:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:57:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:57:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-31T18:57:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-31T18:57:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:55Z | INFO | client 50Q1IzcUMx_mcQq2AAAB disconnected2024-01-31T18:57:56Z | WARN | Server recieved shutdown signal2024-01-31T18:57:56Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:57:56Z | INFO | Ensuring server directories2024-01-31T18:57:56Z | INFO | Ensuring config file2024-01-31T18:57:56Z | INFO | Config already exists2024-01-31T18:57:56Z | INFO | Ensuring database2024-01-31T18:57:56Z | INFO | Checking encryption2024-01-31T18:57:57Z | INFO | Starting server background service2024-01-31T18:57:57Z | INFO | Server mode normal, continuing startup2024-01-31T18:57:58Z | INFO | client 2SRk7wsm1mRQQ6UYAAAB connected2024-01-31T18:57:59Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T18:57:59Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts Succesfully fetched2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched team's post(s)2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:57:59Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:57:59Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:58:00Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:58:00Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:58:00Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-31T18:58:00Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-31T18:58:00Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:58:00Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:58:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-31T18:58:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:58:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-31T18:58:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-31T18:58:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:58:04Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:58:04Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:58:04Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-31T18:58:04Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-31T18:58:04Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:04Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:58:04Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:58:08Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully created comment2024-01-31T18:58:08Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:58:08Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:58:08Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-31T18:58:08Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-31T18:58:08Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-31T18:58:08Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-31T18:58:08Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:08Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-31T18:58:08Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-31T18:58:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-31T18:58:26Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:58:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:58:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:26Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:58:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:58:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:58:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:58:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:58:27Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:58:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:58:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:58:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:58:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:58:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:58:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:58:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T18:58:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T18:58:41Z | INFO | client 2SRk7wsm1mRQQ6UYAAAB disconnected2024-01-31T18:59:04Z | WARN | Server recieved shutdown signal2024-01-31T18:59:04Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T18:59:45Z | INFO | Ensuring server directories2024-01-31T18:59:45Z | INFO | Ensuring config file2024-01-31T18:59:45Z | INFO | Config already exists2024-01-31T18:59:45Z | INFO | Ensuring database2024-01-31T18:59:45Z | INFO | Checking encryption2024-01-31T18:59:45Z | INFO | Starting server background service2024-01-31T18:59:45Z | INFO | Server mode normal, continuing startup2024-01-31T18:59:47Z | INFO | client 3YJfAtCGkAXrVxOpAAAB connected2024-01-31T18:59:47Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:59:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:59:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:59:48Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:59:48Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:59:48Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T18:59:48Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T18:59:48Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T18:59:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T18:59:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T18:59:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T18:59:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:59:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T18:59:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T18:59:49Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T18:59:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:00:08Z | INFO | Starting user service for 557da777-0163-4f09-b7bf-1f230d3707312024-01-31T19:00:08Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Successfully fetched post slot2024-01-31T19:00:08Z | WARN | 557da777-0163-4f09-b7bf-1f230d370731 | No memories exist2024-01-31T19:00:08Z | WARN | 557da777-0163-4f09-b7bf-1f230d370731 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:00:08Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Succesfully fetched friend(s) post(s)2024-01-31T19:00:08Z | WARN | 557da777-0163-4f09-b7bf-1f230d370731 | Team posts unable to be fetched, no other team members2024-01-31T19:00:08Z | WARN | 557da777-0163-4f09-b7bf-1f230d370731 | Team posts unable to be fetched, no team members provided2024-01-31T19:00:08Z | WARN | 557da777-0163-4f09-b7bf-1f230d370731 | No memories exist2024-01-31T19:00:08Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Authorisation info successfully fetched2024-01-31T19:00:09Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Occupation successfully fetched2024-01-31T19:00:09Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Friends successfully fetched2024-01-31T19:00:09Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Authorisation info successfully fetched2024-01-31T19:00:09Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Occupation(s) successfully fetched2024-01-31T19:00:09Z | FAIL | 557da777-0163-4f09-b7bf-1f230d370731 | Occupation requests could not be fetched invalid data provided2024-01-31T19:00:09Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Authorisation info successfully fetched2024-01-31T19:01:00Z | INFO | 557da777-0163-4f09-b7bf-1f230d370731 | Authorisation info successfully fetched2024-01-31T19:01:09Z | INFO | Starting user service for 8b310b49-0911-4149-976b-4701534d43412024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Successfully fetched post slot2024-01-31T19:01:09Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T19:01:09Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friend(s) post(s)2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched friends' post(s)2024-01-31T19:01:09Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no other team members2024-01-31T19:01:09Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Team posts unable to be fetched, no team members provided2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched {column} for requested post2024-01-31T19:01:09Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No post data requested to be fetched, check your inputs2024-01-31T19:01:09Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression(s)2024-01-31T19:01:09Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression count2024-01-31T19:01:09Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No memories exist2024-01-31T19:01:10Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T19:01:10Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Occupation successfully fetched2024-01-31T19:01:10Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Friends successfully fetched2024-01-31T19:01:10Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T19:01:11Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No data requested to be fetched, check inputs2024-01-31T19:01:11Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment2024-01-31T19:01:11Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No data requested to be fetched, check inputs2024-01-31T19:01:11Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment2024-01-31T19:01:11Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No comments related to requested post2024-01-31T19:01:11Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment(s)2024-01-31T19:01:12Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:01:12Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression(s)2024-01-31T19:01:12Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression count2024-01-31T19:01:12Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:01:12Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression(s)2024-01-31T19:01:12Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression count2024-01-31T19:01:18Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully created comment2024-01-31T19:01:18Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No data requested to be fetched, check inputs2024-01-31T19:01:18Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment2024-01-31T19:01:18Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No data requested to be fetched, check inputs2024-01-31T19:01:18Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment2024-01-31T19:01:18Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No data requested to be fetched, check inputs2024-01-31T19:01:18Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment2024-01-31T19:01:18Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | No comments related to requested post2024-01-31T19:01:18Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched comment(s)2024-01-31T19:01:18Z | WARN | 8b310b49-0911-4149-976b-4701534d4341 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:01:18Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression(s)2024-01-31T19:01:18Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Succesfully fetched impression count2024-01-31T19:01:50Z | INFO | 8b310b49-0911-4149-976b-4701534d4341 | Authorisation info successfully fetched2024-01-31T19:01:57Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T19:01:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T19:01:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T19:01:58Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:01:58Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:01:58Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:58Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:01:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:01:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:01:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:01:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T19:01:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T19:02:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:02:01Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:02:01Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:02:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:02:34Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T19:02:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:02:35Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:02:35Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:02:35Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:35Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:02:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:02:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:02:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T19:02:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:06:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T19:06:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:36Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T19:06:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T19:06:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T19:06:42Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:44Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:06:44Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:06:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification successfully removed2024-01-31T19:06:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:06:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:06:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification successfully removed2024-01-31T19:06:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:06:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:06:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification successfully removed2024-01-31T19:06:48Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:06:48Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:50Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:50Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T19:06:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T19:06:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T19:06:53Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:53Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:54Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:06:56Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:06:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification successfully removed2024-01-31T19:06:58Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:06:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:06:59Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:06:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:07:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:07:00Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:07:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:07:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:07:00Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:07:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:07:00Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-31T19:07:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:07:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:07:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:07:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:07:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:07:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-31T19:07:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-31T19:07:05Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:07:05Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:08:03Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T19:08:03Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T19:08:03Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T19:08:09Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:08:09Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:08:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification successfully removed2024-01-31T19:08:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:08:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:08:20Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No notifications exist for this user2024-01-31T19:08:20Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Notification(s) successfully fetched2024-01-31T19:08:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:08:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:08:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T19:08:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T19:08:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T19:08:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T19:08:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T19:08:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T19:08:30Z | INFO | client 3YJfAtCGkAXrVxOpAAAB disconnected2024-01-31T19:08:31Z | WARN | Server recieved shutdown signal2024-01-31T19:08:31Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:09:50Z | INFO | Ensuring server directories2024-01-31T19:09:50Z | INFO | Ensuring config file2024-01-31T19:09:50Z | INFO | Config already exists2024-01-31T19:09:50Z | INFO | Ensuring database2024-01-31T19:09:50Z | INFO | Checking encryption2024-01-31T19:09:50Z | INFO | Starting server background service2024-01-31T19:09:50Z | INFO | Server mode normal, continuing startup2024-01-31T19:09:50Z | INFO | Generating time slot for 2024-02-012024-01-31T19:10:14Z | INFO | client sI9rVTidI0BaN5jHAAAB connected2024-01-31T19:10:31Z | INFO | Starting user service for 65591fa9-3b37-4989-a599-3d35f3e51d6d2024-01-31T19:10:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched post slot2024-01-31T19:10:31Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No memories exist2024-01-31T19:10:31Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:10:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Succesfully fetched friend(s) post(s)2024-01-31T19:10:31Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Team posts unable to be fetched, no other team members2024-01-31T19:10:31Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Team posts unable to be fetched, no team members provided2024-01-31T19:10:31Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No memories exist2024-01-31T19:10:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:10:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation successfully fetched2024-01-31T19:10:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friends successfully fetched2024-01-31T19:10:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:10:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation(s) successfully fetched2024-01-31T19:10:31Z | FAIL | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation requests could not be fetched invalid data provided2024-01-31T19:10:32Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:10:55Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation change request successfully created2024-01-31T19:10:55Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation successfully fetched2024-01-31T19:10:58Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully changed/deleted {column}2024-01-31T19:10:58Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully changed/deleted {column}2024-01-31T19:11:03Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:11:08Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:11:08Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation(s) successfully fetched2024-01-31T19:11:08Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation successfully fetched2024-01-31T19:11:13Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:11:15Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:11:29Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully changed/deleted {column}2024-01-31T19:11:29Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:11:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friends successfully fetched2024-01-31T19:11:31Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:11:33Z | FAIL | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:11:38Z | FAIL | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:11:49Z | FAIL | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:12:28Z | INFO | client sI9rVTidI0BaN5jHAAAB disconnected2024-01-31T19:12:28Z | WARN | Server recieved shutdown signal2024-01-31T19:12:28Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:12:33Z | INFO | Ensuring server directories2024-01-31T19:12:33Z | INFO | Ensuring config file2024-01-31T19:12:33Z | INFO | Config already exists2024-01-31T19:12:33Z | INFO | Ensuring database2024-01-31T19:12:33Z | INFO | Checking encryption2024-01-31T19:12:33Z | INFO | Starting server background service2024-01-31T19:12:33Z | INFO | Server mode normal, continuing startup2024-01-31T19:12:44Z | INFO | client MhFB_iMPg7eH1oHuAAAB connected2024-01-31T19:12:44Z | INFO | Starting user service for 65591fa9-3b37-4989-a599-3d35f3e51d6d2024-01-31T19:12:44Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:12:44Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched post slot2024-01-31T19:12:44Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No memories exist2024-01-31T19:12:44Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:12:44Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Succesfully fetched friend(s) post(s)2024-01-31T19:12:44Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Team posts unable to be fetched, no other team members2024-01-31T19:12:44Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Team posts unable to be fetched, no team members provided2024-01-31T19:12:44Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No memories exist2024-01-31T19:12:44Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:12:44Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation successfully fetched2024-01-31T19:12:44Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friends successfully fetched2024-01-31T19:12:45Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:12:46Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:12:47Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friends successfully fetched2024-01-31T19:12:47Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:12:48Z | FAIL | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:12:50Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friend request successfully created2024-01-31T19:12:51Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:12:51Z | FAIL | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:13:01Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:13:01Z | FAIL | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:13:10Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friend request successfully created2024-01-31T19:13:10Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:13:10Z | FAIL | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:14:54Z | INFO | client MhFB_iMPg7eH1oHuAAAB disconnected2024-01-31T19:14:56Z | WARN | Server recieved shutdown signal2024-01-31T19:14:56Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:14:56Z | INFO | Ensuring server directories2024-01-31T19:14:56Z | INFO | Ensuring config file2024-01-31T19:14:56Z | INFO | Config already exists2024-01-31T19:14:56Z | INFO | Ensuring database2024-01-31T19:14:56Z | INFO | Checking encryption2024-01-31T19:14:56Z | INFO | Starting server background service2024-01-31T19:14:56Z | INFO | Server mode normal, continuing startup2024-01-31T19:15:01Z | INFO | client IMEG5iQXqvBghnciAAAB connected2024-01-31T19:15:01Z | INFO | Starting user service for 65591fa9-3b37-4989-a599-3d35f3e51d6d2024-01-31T19:15:01Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:15:01Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched post slot2024-01-31T19:15:01Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No memories exist2024-01-31T19:15:01Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:15:01Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Succesfully fetched friend(s) post(s)2024-01-31T19:15:01Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Team posts unable to be fetched, no other team members2024-01-31T19:15:01Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Team posts unable to be fetched, no team members provided2024-01-31T19:15:01Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No memories exist2024-01-31T19:15:01Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:15:01Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation successfully fetched2024-01-31T19:15:01Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friends successfully fetched2024-01-31T19:15:01Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:15:02Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:15:03Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friends successfully fetched2024-01-31T19:15:03Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:15:05Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:15:05Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:15:15Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friend request successfully created2024-01-31T19:15:15Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:15:16Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend recomendation(s), something went wrong generating recomendation(s)2024-01-31T19:16:04Z | INFO | client IMEG5iQXqvBghnciAAAB disconnected2024-01-31T19:16:06Z | WARN | Server recieved shutdown signal2024-01-31T19:16:06Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:16:06Z | INFO | Ensuring server directories2024-01-31T19:16:06Z | INFO | Ensuring config file2024-01-31T19:16:06Z | INFO | Config already exists2024-01-31T19:16:06Z | INFO | Ensuring database2024-01-31T19:16:06Z | INFO | Checking encryption2024-01-31T19:16:06Z | INFO | Starting server background service2024-01-31T19:16:06Z | INFO | Server mode normal, continuing startup2024-01-31T19:16:09Z | INFO | client jelllC4cwjj4RUKRAAAB connected2024-01-31T19:16:09Z | INFO | Starting user service for 65591fa9-3b37-4989-a599-3d35f3e51d6d2024-01-31T19:16:09Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:16:10Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched post slot2024-01-31T19:16:10Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No memories exist2024-01-31T19:16:10Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:16:10Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Succesfully fetched friend(s) post(s)2024-01-31T19:16:10Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Team posts unable to be fetched, no other team members2024-01-31T19:16:10Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Team posts unable to be fetched, no team members provided2024-01-31T19:16:10Z | WARN | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No memories exist2024-01-31T19:16:10Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:16:10Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Occupation successfully fetched2024-01-31T19:16:10Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friends successfully fetched2024-01-31T19:16:10Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:16:11Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:16:12Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friends successfully fetched2024-01-31T19:16:12Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Permissions successfully fetched2024-01-31T19:16:13Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:16:14Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No recomendations could be generated, add some friends first2024-01-31T19:16:17Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friend/friend request successfully removed/rejected2024-01-31T19:16:17Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:16:17Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No recomendations could be generated, add some friends first2024-01-31T19:16:19Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friend request successfully created2024-01-31T19:16:20Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:16:20Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No recomendations could be generated, add some friends first2024-01-31T19:16:27Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friend/friend request successfully removed/rejected2024-01-31T19:16:27Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:16:27Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No recomendations could be generated, add some friends first2024-01-31T19:16:27Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friend/friend request successfully removed/rejected2024-01-31T19:16:27Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Successfully fetched outgoing friend request(s)2024-01-31T19:16:27Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No recomendations could be generated, add some friends first2024-01-31T19:16:28Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Friend/friend request successfully removed/rejected2024-01-31T19:16:28Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | No recomendations could be generated, add some friends first2024-01-31T19:16:30Z | INFO | 65591fa9-3b37-4989-a599-3d35f3e51d6d | Authorisation info successfully fetched2024-01-31T19:17:27Z | INFO | Sending post time notifications2024-01-31T19:17:27Z | INFO | Sent post time notifications2024-01-31T19:17:34Z | INFO | client jelllC4cwjj4RUKRAAAB disconnected2024-01-31T19:17:44Z | WARN | Server recieved shutdown signal2024-01-31T19:17:44Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:17:46Z | INFO | Ensuring server directories2024-01-31T19:17:46Z | INFO | Ensuring config file2024-01-31T19:17:46Z | INFO | Config already exists2024-01-31T19:17:46Z | INFO | Ensuring database2024-01-31T19:17:46Z | INFO | Checking encryption2024-01-31T19:17:46Z | INFO | Starting server background service2024-01-31T19:17:46Z | INFO | Server mode normal, continuing startup2024-01-31T19:17:50Z | INFO | client 7dpKNDfLBu88s4uYAAAB connected2024-01-31T19:17:55Z | INFO | client 7dpKNDfLBu88s4uYAAAB disconnected2024-01-31T19:18:25Z | INFO | client 8E9A0F_KqMe9eWvmAAAD connected2024-01-31T19:18:43Z | INFO | Starting user service for d53f7d17-6d63-4d6f-9907-5d0501f991b52024-01-31T19:18:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Successfully fetched post slot2024-01-31T19:18:43Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | No memories exist2024-01-31T19:18:43Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:18:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Succesfully fetched friend(s) post(s)2024-01-31T19:18:43Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Team posts unable to be fetched, no other team members2024-01-31T19:18:43Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Team posts unable to be fetched, no team members provided2024-01-31T19:18:43Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | No memories exist2024-01-31T19:18:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Authorisation info successfully fetched2024-01-31T19:18:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Occupation successfully fetched2024-01-31T19:18:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Friends successfully fetched2024-01-31T19:18:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Authorisation info successfully fetched2024-01-31T19:18:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Occupation(s) successfully fetched2024-01-31T19:18:43Z | FAIL | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Occupation requests could not be fetched invalid data provided2024-01-31T19:18:44Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Authorisation info successfully fetched2024-01-31T19:18:58Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Occupation change request successfully created2024-01-31T19:18:58Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Occupation successfully fetched2024-01-31T19:19:01Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Successfully changed/deleted {column}2024-01-31T19:19:01Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Successfully changed/deleted {column}2024-01-31T19:19:06Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Permissions successfully fetched2024-01-31T19:19:11Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Authorisation info successfully fetched2024-01-31T19:19:26Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Successfully changed/deleted {column}2024-01-31T19:19:26Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Permissions successfully fetched2024-01-31T19:19:31Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Friends successfully fetched2024-01-31T19:19:31Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Permissions successfully fetched2024-01-31T19:19:33Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | No recomendations could be generated, add some friends first2024-01-31T19:19:38Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Friend request successfully created2024-01-31T19:19:38Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Successfully fetched outgoing friend request(s)2024-01-31T19:19:38Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | No recomendations could be generated, add some friends first2024-01-31T19:19:41Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Friend request successfully created2024-01-31T19:19:41Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Successfully fetched outgoing friend request(s)2024-01-31T19:19:41Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | No recomendations could be generated, add some friends first2024-01-31T19:19:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Friend request successfully created2024-01-31T19:19:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Successfully fetched outgoing friend request(s)2024-01-31T19:19:43Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | No recomendations could be generated, add some friends first2024-01-31T19:20:09Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Authorisation info successfully fetched2024-01-31T19:20:17Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:20:17Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Succesfully fetched friend(s) post(s)2024-01-31T19:20:17Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Team posts unable to be fetched, no other team members2024-01-31T19:20:17Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Team posts unable to be fetched, no team members provided2024-01-31T19:20:17Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | No memories exist2024-01-31T19:20:20Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Authorisation info successfully fetched2024-01-31T19:20:26Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Authorisation info successfully fetched2024-01-31T19:20:29Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:20:29Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Succesfully fetched friend(s) post(s)2024-01-31T19:20:29Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Team posts unable to be fetched, no other team members2024-01-31T19:20:29Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Team posts unable to be fetched, no team members provided2024-01-31T19:20:29Z | WARN | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | No memories exist2024-01-31T19:21:04Z | INFO | d53f7d17-6d63-4d6f-9907-5d0501f991b5 | Authorisation info successfully fetched2024-01-31T19:21:23Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:21:23Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:21:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:21:53Z | INFO | client 8E9A0F_KqMe9eWvmAAAD disconnected2024-01-31T19:21:56Z | WARN | Server recieved shutdown signal2024-01-31T19:21:56Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:21:58Z | INFO | Ensuring server directories2024-01-31T19:21:58Z | INFO | Ensuring config file2024-01-31T19:21:58Z | INFO | Config already exists2024-01-31T19:21:58Z | INFO | Ensuring database2024-01-31T19:21:58Z | INFO | Checking encryption2024-01-31T19:21:58Z | INFO | Starting server background service2024-01-31T19:21:58Z | INFO | Server mode normal, continuing startup2024-01-31T19:22:01Z | INFO | client T_h1s1OMmN8U9QGmAAAB connected2024-01-31T19:22:01Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:22:01Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:22:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:22:40Z | INFO | client T_h1s1OMmN8U9QGmAAAB disconnected2024-01-31T19:24:13Z | WARN | Server recieved shutdown signal2024-01-31T19:24:13Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:24:13Z | INFO | Ensuring server directories2024-01-31T19:24:13Z | INFO | Ensuring config file2024-01-31T19:24:13Z | INFO | Config already exists2024-01-31T19:24:13Z | INFO | Ensuring database2024-01-31T19:24:13Z | INFO | Checking encryption2024-01-31T19:24:13Z | INFO | Starting server background service2024-01-31T19:24:13Z | INFO | Server mode normal, continuing startup2024-01-31T19:24:16Z | INFO | client Uqg9jKTU9YCG7UDTAAAB connected2024-01-31T19:24:16Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:24:16Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:24:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:24:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:24:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T19:24:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T19:24:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:24:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:24:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T19:24:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T19:24:23Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:24:43Z | INFO | client Uqg9jKTU9YCG7UDTAAAB disconnected2024-01-31T19:24:49Z | WARN | Server recieved shutdown signal2024-01-31T19:24:49Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:24:56Z | INFO | Ensuring server directories2024-01-31T19:24:56Z | INFO | Ensuring config file2024-01-31T19:24:56Z | INFO | Config already exists2024-01-31T19:24:56Z | INFO | Ensuring database2024-01-31T19:24:56Z | INFO | Checking encryption2024-01-31T19:24:56Z | INFO | Starting server background service2024-01-31T19:24:56Z | INFO | Server mode normal, continuing startup2024-01-31T19:24:56Z | INFO | Generating time slot for 2024-02-012024-01-31T19:24:59Z | INFO | client t07fm4jFTLW4XJBdAAAB connected2024-01-31T19:25:17Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T19:25:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:25:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:25:17Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:25:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T19:25:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T19:25:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T19:25:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T19:25:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:25:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:25:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:25:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:25:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:25:19Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T19:25:19Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T19:25:19Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:25:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:25:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T19:25:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T19:25:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:25:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched incoming friend request(s)2024-01-31T19:25:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-31T19:25:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-31T19:25:32Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-31T19:25:32Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-31T19:25:32Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-31T19:25:32Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:25:32Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-31T19:25:32Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team data successfully fetched2024-01-31T19:25:32Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:25:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:25:43Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:25:43Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:25:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:25:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:25:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:25:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:25:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:25:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:25:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:25:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:25:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T19:25:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | No recomendations could be generated, add some friends first2024-01-31T19:25:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend/friend request successfully removed/rejected2024-01-31T19:25:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:26:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:26:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:26:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:26:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:26:14Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T19:26:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T19:26:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T19:26:14Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T19:26:14Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:26:15Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T19:26:15Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T19:26:15Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T19:26:21Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T19:26:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-31T19:26:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team data successfully fetched2024-01-31T19:26:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T19:26:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-31T19:26:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-31T19:26:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-31T19:26:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-31T19:26:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-31T19:26:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:26:40Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:26:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:26:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:26:40Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:26:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:26:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:26:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:26:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:26:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:26:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:26:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:26:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:26:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:26:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:26:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:26:42Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:26:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:26:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:26:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:26:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:26:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T19:26:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T19:26:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:26:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T19:26:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T19:26:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:26:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend/friend request successfully removed/rejected2024-01-31T19:26:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T19:26:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:26:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend/friend request successfully removed/rejected2024-01-31T19:26:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:27:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:27:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:27:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:27:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T19:27:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:27:10Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:27:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:27:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:27:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:27:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:27:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:27:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:27:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:27:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:27:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:27:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:27:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:27:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:27:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:27:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T19:27:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:27:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:27:31Z | INFO | client t07fm4jFTLW4XJBdAAAB disconnected2024-01-31T19:28:02Z | WARN | Server recieved shutdown signal2024-01-31T19:28:02Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:28:03Z | INFO | Ensuring server directories2024-01-31T19:28:03Z | INFO | Ensuring config file2024-01-31T19:28:03Z | INFO | Config already exists2024-01-31T19:28:03Z | INFO | Ensuring database2024-01-31T19:28:03Z | INFO | Checking encryption2024-01-31T19:28:04Z | INFO | Starting server background service2024-01-31T19:28:04Z | INFO | Server mode normal, continuing startup2024-01-31T19:28:08Z | INFO | client rEXDcaPjEiHMzqOZAAAB connected2024-01-31T19:28:13Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:28:13Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:28:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:28:45Z | INFO | Sending post time notifications2024-01-31T19:28:45Z | INFO | Sent post time notifications2024-01-31T19:28:48Z | INFO | client rEXDcaPjEiHMzqOZAAAB disconnected2024-01-31T19:28:52Z | WARN | Server recieved shutdown signal2024-01-31T19:28:52Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:28:52Z | INFO | Ensuring server directories2024-01-31T19:28:52Z | INFO | Ensuring config file2024-01-31T19:28:52Z | INFO | Config already exists2024-01-31T19:28:52Z | INFO | Ensuring database2024-01-31T19:28:52Z | INFO | Checking encryption2024-01-31T19:28:52Z | INFO | Starting server background service2024-01-31T19:28:52Z | INFO | Server mode normal, continuing startup2024-01-31T19:28:58Z | INFO | client UZJKggBpIe8eO9QTAAAB connected2024-01-31T19:28:59Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:28:59Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:28:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:29:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:29:04Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post successfully created2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:29:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post(s) Succesfully fetched2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:29:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:29:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-31T19:29:15Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:29:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:29:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T19:29:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:29:39Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:29:39Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:29:39Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:29:39Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:29:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:29:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:29:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:29:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-31T19:29:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-31T19:29:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:29:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:29:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:29:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:29:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:29:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:29:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:29:54Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-31T19:29:54Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:29:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-31T19:29:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:29:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:29:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:29:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:29:58Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:30:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-31T19:30:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T19:30:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:30:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend/friend request successfully removed/rejected2024-01-31T19:30:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:30:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:30:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:30:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:30:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T19:30:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:30:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-31T19:30:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-31T19:30:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-31T19:30:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:30:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-31T19:30:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:30:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:30:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:30:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team leaders successfully fetched2024-01-31T19:30:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team members successfully fetched2024-01-31T19:30:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:30:41Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:31:00Z | FAIL | 718d0307-0777-4f0b-bd61-8b216153250f | Comment(s) unable to be fetched, something went wrong2024-01-31T19:31:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-31T19:31:16Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully created comment2024-01-31T19:31:16Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:31:16Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-31T19:31:16Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-31T19:31:16Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-31T19:31:16Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:31:16Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:31:16Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:31:18Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-31T19:31:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-31T19:31:18Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:31:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:31:21Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:31:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:31:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:31:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:31:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:31:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:31:40Z | INFO | client UZJKggBpIe8eO9QTAAAB disconnected2024-01-31T19:31:44Z | INFO | client mRIvSCXc0lX47rmOAAAD connected2024-01-31T19:31:44Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:31:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:31:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:31:44Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:31:44Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:31:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:31:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:31:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:31:45Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:31:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:31:51Z | INFO | client mRIvSCXc0lX47rmOAAAD disconnected2024-01-31T19:32:33Z | WARN | Server recieved shutdown signal2024-01-31T19:32:33Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:32:34Z | INFO | Ensuring server directories2024-01-31T19:32:34Z | INFO | Ensuring config file2024-01-31T19:32:34Z | INFO | Config already exists2024-01-31T19:32:34Z | INFO | Ensuring database2024-01-31T19:32:34Z | INFO | Checking encryption2024-01-31T19:32:34Z | INFO | Starting server background service2024-01-31T19:32:34Z | INFO | Server mode normal, continuing startup2024-01-31T19:32:38Z | INFO | client kFRHcqaV-ALRabn2AAAB connected2024-01-31T19:32:38Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:32:39Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:32:39Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:32:39Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:32:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:32:41Z | INFO | client kFRHcqaV-ALRabn2AAAB disconnected2024-01-31T19:32:42Z | WARN | Server recieved shutdown signal2024-01-31T19:32:42Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:32:58Z | INFO | Ensuring server directories2024-01-31T19:32:58Z | INFO | Ensuring config file2024-01-31T19:32:58Z | INFO | Config already exists2024-01-31T19:32:58Z | INFO | Ensuring database2024-01-31T19:32:58Z | INFO | Checking encryption2024-01-31T19:32:58Z | INFO | Starting server background service2024-01-31T19:32:58Z | INFO | Server mode normal, continuing startup2024-01-31T19:33:08Z | INFO | client emkJqH1RAI6ZJX0OAAAB connected2024-01-31T19:33:08Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:33:08Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:08Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:33:08Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:33:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:33:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:33:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:33:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:33:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:33:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:33:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:33:11Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:33:11Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:33:16Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification successfully removed2024-01-31T19:33:16Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:33:16Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:33:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification successfully removed2024-01-31T19:33:18Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:33:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:33:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification successfully removed2024-01-31T19:33:19Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:33:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:33:21Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:33:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:33:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:33:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post successfully created2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:33:46Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:33:46Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:33:46Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:33:46Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:33:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:33:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:33:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:33:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:33:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:33:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T19:34:27Z | INFO | client emkJqH1RAI6ZJX0OAAAB disconnected2024-01-31T19:34:29Z | WARN | Server recieved shutdown signal2024-01-31T19:34:29Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:34:30Z | INFO | Ensuring server directories2024-01-31T19:34:30Z | INFO | Ensuring config file2024-01-31T19:34:30Z | INFO | Config already exists2024-01-31T19:34:30Z | INFO | Ensuring database2024-01-31T19:34:30Z | INFO | Checking encryption2024-01-31T19:34:30Z | INFO | Starting server background service2024-01-31T19:34:30Z | INFO | Server mode normal, continuing startup2024-01-31T19:34:32Z | INFO | client l-X9BPuzgL9vQWxrAAAB connected2024-01-31T19:34:32Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:34:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:34:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:34:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:34:33Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:34:33Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:34:33Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:34:33Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:34:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:34:44Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-31T19:34:44Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-31T19:34:44Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friends' post(s)2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts Succesfully fetched2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched team's post(s)2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:34:44Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-31T19:34:44Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-31T19:34:44Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-31T19:34:44Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-31T19:34:45Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T19:34:45Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-31T19:34:45Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-31T19:34:45Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T19:34:58Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-31T19:35:03Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Post successfully created2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched post memories2024-01-31T19:35:13Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friends' post(s)2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts Succesfully fetched2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched team's post(s)2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Post(s) Succesfully fetched2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-31T19:35:13Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-31T19:35:13Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-31T19:35:13Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-31T19:35:17Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-31T19:35:28Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T19:35:28Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T19:35:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T19:35:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:35:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:35:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:35:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T19:35:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:35:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T19:35:37Z | INFO | client l-X9BPuzgL9vQWxrAAAB disconnected2024-01-31T19:35:39Z | INFO | client riwiYMfjKdOi2LPbAAAD connected2024-01-31T19:35:39Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-31T19:35:39Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T19:35:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T19:35:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:35:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:35:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:35:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:35:40Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-31T19:35:40Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-31T19:35:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:35:42Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T19:36:01Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post successfully created2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched post memories2024-01-31T19:36:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts Succesfully fetched2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched team's post(s)2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post(s) Succesfully fetched2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-31T19:36:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-31T19:36:16Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-31T19:36:16Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-31T19:36:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-31T19:36:33Z | INFO | client riwiYMfjKdOi2LPbAAAD disconnected2024-01-31T19:36:35Z | INFO | client GrzQN16_DPRkeZBGAAAF connected2024-01-31T19:36:39Z | INFO | Starting user service for bfb13167-d959-4d7d-b317-657325cf7b0d2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T19:36:39Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friends' post(s)2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts Succesfully fetched2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched team's post(s)2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:39Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-31T19:36:39Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:36:39Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-31T19:36:40Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:36:40Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-31T19:36:40Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-31T19:36:40Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T19:36:56Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-31T19:37:04Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Post successfully created2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T19:37:19Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friends' post(s)2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts Succesfully fetched2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched team's post(s)2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Post(s) Succesfully fetched2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:37:19Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-31T19:37:19Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:37:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:37:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T19:37:27Z | INFO | client GrzQN16_DPRkeZBGAAAF disconnected2024-01-31T19:46:46Z | INFO | client KLtNahlS2vCgN2MEAAAH connected2024-01-31T19:46:51Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:46:51Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts Succesfully fetched2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched team's post(s)2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post(s) Succesfully fetched2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:51Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-31T19:46:51Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:46:51Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-31T19:46:52Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-31T19:46:52Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-31T19:46:52Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-31T19:46:52Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:46:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-31T19:46:53Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-31T19:46:53Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:46:56Z | FAIL | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Comment(s) unable to be fetched, something went wrong2024-01-31T19:46:56Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched comment(s)2024-01-31T19:47:12Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully created comment2024-01-31T19:47:13Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No data requested to be fetched, check inputs2024-01-31T19:47:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched comment2024-01-31T19:47:13Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No comments related to requested post2024-01-31T19:47:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched comment(s)2024-01-31T19:47:13Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:47:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T19:47:17Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No data requested to be fetched, check inputs2024-01-31T19:47:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched comment2024-01-31T19:47:17Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No comments related to requested post2024-01-31T19:47:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched comment(s)2024-01-31T19:47:17Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:47:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T19:47:18Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression from this user of this type already exists on this content2024-01-31T19:47:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression succesfully created2024-01-31T19:47:18Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post/comment has no impressions associated2024-01-31T19:47:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:47:26Z | FAIL | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Comment(s) unable to be fetched, something went wrong2024-01-31T19:47:26Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched comment(s)2024-01-31T19:47:33Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully created comment2024-01-31T19:47:33Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No data requested to be fetched, check inputs2024-01-31T19:47:33Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched comment2024-01-31T19:47:33Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No comments related to requested post2024-01-31T19:47:33Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched comment(s)2024-01-31T19:47:33Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:33Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:47:33Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-31T19:47:35Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression from this user of this type already exists on this content2024-01-31T19:47:35Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression succesfully created2024-01-31T19:47:35Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post/comment has no impressions associated2024-01-31T19:47:35Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-31T19:47:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression from this user of this type already exists on this content2024-01-31T19:47:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression succesfully created2024-01-31T19:47:39Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression from this user of this type already exists on this content2024-01-31T19:47:39Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression succesfully created2024-01-31T19:47:40Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-31T19:47:48Z | INFO | Starting user service for bfb13167-d959-4d7d-b317-657325cf7b0d2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T19:47:48Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friends' post(s)2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts Succesfully fetched2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched team's post(s)2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Post(s) Succesfully fetched2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:48Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-31T19:47:48Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:47:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-31T19:47:49Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-31T19:47:49Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-31T19:47:49Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-31T19:47:49Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:47:49Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-31T19:47:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T19:47:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-31T19:47:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-31T19:47:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T19:47:53Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression from this user of this type already exists on this content2024-01-31T19:47:53Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression succesfully created2024-01-31T19:47:53Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No data requested to be fetched, check inputs2024-01-31T19:47:53Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment2024-01-31T19:47:53Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No comments related to requested post2024-01-31T19:47:53Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment(s)2024-01-31T19:47:53Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:53Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:47:53Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:47:58Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully created comment2024-01-31T19:47:58Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No data requested to be fetched, check inputs2024-01-31T19:47:58Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment2024-01-31T19:47:58Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No data requested to be fetched, check inputs2024-01-31T19:47:58Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment2024-01-31T19:47:58Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No comments related to requested post2024-01-31T19:47:58Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment(s)2024-01-31T19:47:58Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:47:58Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:47:58Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:48:01Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No data requested to be fetched, check inputs2024-01-31T19:48:01Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment2024-01-31T19:48:01Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No data requested to be fetched, check inputs2024-01-31T19:48:01Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment2024-01-31T19:48:01Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No comments related to requested post2024-01-31T19:48:01Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment(s)2024-01-31T19:48:01Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:48:01Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:48:01Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:48:01Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:48:01Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:48:01Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:48:03Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression from this user of this type already exists on this content2024-01-31T19:48:03Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression succesfully created2024-01-31T19:48:03Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Post/comment has no impressions associated2024-01-31T19:48:03Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:48:06Z | FAIL | bfb13167-d959-4d7d-b317-657325cf7b0d | Comment(s) unable to be fetched, something went wrong2024-01-31T19:48:06Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment(s)2024-01-31T19:48:14Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully created comment2024-01-31T19:48:14Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No data requested to be fetched, check inputs2024-01-31T19:48:14Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment2024-01-31T19:48:14Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No comments related to requested post2024-01-31T19:48:14Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched comment(s)2024-01-31T19:48:14Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:48:14Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-31T19:48:14Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-31T19:48:18Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-31T19:48:37Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:48:37Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:48:37Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:48:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:48:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:48:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:48:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:48:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:48:39Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:48:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:48:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:48:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:48:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:48:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:48:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:48:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:48:43Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:48:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-31T19:48:43Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:48:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-31T19:48:43Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-31T19:48:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-31T19:48:43Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:48:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:48:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:48:43Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:48:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:48:43Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:48:49Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-31T19:48:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-31T19:48:49Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:48:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:48:54Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-31T19:48:54Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-31T19:48:57Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-31T19:48:57Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-31T19:48:59Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:48:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:48:59Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:48:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impressions succesfully fetched2024-01-31T19:49:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions succesfully fetched2024-01-31T19:49:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:49:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:49:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:49:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:49:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:49:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-31T19:49:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-31T19:49:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-31T19:49:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:49:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:49:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:49:15Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-31T19:49:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-31T19:49:15Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:49:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:49:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully created comment2024-01-31T19:49:31Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:49:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-31T19:49:31Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:49:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-31T19:49:31Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-31T19:49:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-31T19:49:31Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:49:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:49:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:49:40Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:49:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:49:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:49:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post successfully created2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:50:00Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:00Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:50:00Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:50:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:50:03Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-31T19:50:03Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-31T19:50:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:50:19Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:50:19Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:50:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:50:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:50:53Z | INFO | client KLtNahlS2vCgN2MEAAAH disconnected2024-01-31T19:50:53Z | WARN | Server recieved shutdown signal2024-01-31T19:50:53Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:50:54Z | INFO | Ensuring server directories2024-01-31T19:50:54Z | INFO | Ensuring config file2024-01-31T19:50:54Z | INFO | Config already exists2024-01-31T19:50:54Z | INFO | Ensuring database2024-01-31T19:50:54Z | INFO | Checking encryption2024-01-31T19:50:54Z | INFO | Starting server background service2024-01-31T19:50:54Z | INFO | Server mode normal, continuing startup2024-01-31T19:51:13Z | INFO | client Cwv4Tm7Z3HeUOjfOAAAB connected2024-01-31T19:51:13Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:51:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:51:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:51:14Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:51:14Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:51:14Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-31T19:51:14Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-31T19:51:14Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:51:14Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:51:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:51:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:51:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:51:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-31T19:51:15Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:51:16Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:51:16Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:51:19Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:51:19Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:51:20Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification successfully removed2024-01-31T19:51:20Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-31T19:51:20Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-31T19:51:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:51:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:51:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:51:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:51:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:51:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:51:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:51:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:51:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:51:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:51:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:51:39Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:51:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-31T19:51:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:51:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:51:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:51:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:52:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-31T19:52:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:52:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:52:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:52:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:52:11Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:52:11Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-31T19:52:11Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-31T19:52:11Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-31T19:52:11Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-31T19:52:11Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-31T19:52:11Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-31T19:52:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions succesfully fetched2024-01-31T19:52:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-31T19:52:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:52:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-31T19:52:18Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-31T19:52:34Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:52:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:52:34Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:52:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impressions succesfully fetched2024-01-31T19:52:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:52:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-31T19:52:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:52:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-31T19:52:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-31T19:52:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-31T19:52:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:52:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:52:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:52:38Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-31T19:52:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-31T19:52:38Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-31T19:52:40Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-31T19:52:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impressions succesfully fetched2024-01-31T19:52:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-31T19:54:21Z | INFO | client Cwv4Tm7Z3HeUOjfOAAAB disconnected2024-01-31T19:54:53Z | WARN | Server recieved shutdown signal2024-01-31T19:54:53Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:57:09Z | INFO | Created new directory: data/shares/2024-01-31T19:57:09Z | INFO | Ensuring server directories2024-01-31T19:57:09Z | INFO | Ensuring config file2024-01-31T19:57:09Z | INFO | Config already exists2024-01-31T19:57:09Z | INFO | Ensuring database2024-01-31T19:57:09Z | INFO | Checking encryption2024-01-31T19:57:09Z | INFO | Reading encryption configuration file2024-01-31T19:57:09Z | INFO | Testing master password type (must be int)2024-01-31T19:57:09Z | INFO | Testing number of shares type (must be integer)2024-01-31T19:57:09Z | INFO | Testing minimum shares type (must be integer)2024-01-31T19:57:09Z | INFO | Shamir Secret Sharing enabled, generating shares2024-01-31T19:57:09Z | INFO | Verifying share integrity2024-01-31T19:57:09Z | INFO | Attempting to generate original password with shares: 0, 1, 22024-01-31T19:57:09Z | INFO | 1/3 sets of shares successfully used to generate the original password2024-01-31T19:57:09Z | INFO | Attempting to generate original password with shares: 1, 2, 32024-01-31T19:57:09Z | INFO | 2/3 sets of shares successfully used to generate the original password2024-01-31T19:57:09Z | INFO | Attempting to generate original password with shares: 2, 3, 42024-01-31T19:57:09Z | INFO | 3/3 sets of shares successfully used to generate the original password2024-01-31T19:57:09Z | INFO | Deleting encryption configuration file containing master password2024-01-31T19:57:10Z | INFO | Encrypting database2024-01-31T19:57:10Z | INFO | Deleted unencrypted database2024-01-31T19:57:10Z | INFO | Starting server background service2024-01-31T19:57:23Z | INFO | client 1jo3kpXr94X3MO7nAAAB connected2024-01-31T19:57:30Z | INFO | Decryption of database successful2024-01-31T19:57:31Z | INFO | Server mode normal, continuing startup2024-01-31T19:57:36Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-31T19:57:36Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T19:57:36Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T19:57:36Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:36Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T19:57:36Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T19:57:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T19:57:37Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T19:57:37Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T19:57:37Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T19:57:37Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T19:57:37Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T19:57:37Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T19:57:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-31T19:57:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-31T19:57:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T19:57:42Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression from this user of this type already exists on this content2024-01-31T19:57:42Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression succesfully created2024-01-31T19:58:10Z | INFO | client 1jo3kpXr94X3MO7nAAAB disconnected2024-01-31T19:58:18Z | WARN | Server recieved shutdown signal2024-01-31T19:58:18Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:58:18Z | INFO | Encrypting database2024-01-31T19:58:18Z | INFO | Deleted unencrypted database2024-01-31T19:59:08Z | INFO | Ensuring server directories2024-01-31T19:59:08Z | INFO | Ensuring config file2024-01-31T19:59:08Z | INFO | Config already exists2024-01-31T19:59:08Z | INFO | Ensuring database2024-01-31T19:59:08Z | INFO | Checking encryption2024-01-31T19:59:08Z | INFO | Starting server background service2024-01-31T19:59:19Z | INFO | client UnlDgQyRCE_z1KIQAAAB connected2024-01-31T19:59:33Z | INFO | client UnlDgQyRCE_z1KIQAAAB disconnected2024-01-31T19:59:33Z | WARN | Server recieved shutdown signal2024-01-31T19:59:33Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T19:59:33Z | WARN | Not encrypting database, database was never decrypted2024-01-31T20:00:28Z | INFO | Ensuring server directories2024-01-31T20:00:28Z | INFO | Ensuring config file2024-01-31T20:00:28Z | INFO | Config already exists2024-01-31T20:00:28Z | INFO | Ensuring database2024-01-31T20:00:28Z | INFO | Checking encryption2024-01-31T20:00:28Z | INFO | Starting server background service2024-01-31T20:00:35Z | INFO | client 02eb2vj-afvlo76UAAAB connected2024-01-31T20:01:01Z | INFO | Decryption of database successful2024-01-31T20:01:01Z | WARN | You decrypted the database using Shamir secret shares, your master password has been reconstructed and can be found on the server at the location: data/encryptconfig.txt. Please remember to delete this file after reading2024-01-31T20:01:01Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:01:01Z | INFO | Server mode normal, continuing startup2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-31T20:01:01Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T20:01:01Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:01Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:01:02Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:01:02Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Post/comment has no impressions associated2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:01:02Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:01:02Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:01:02Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:01:03Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:01:03Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:01:03Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:01:03Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T20:01:03Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:01:03Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-31T20:01:03Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-31T20:01:03Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:01:07Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression from this user of this type already exists on this content2024-01-31T20:01:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression succesfully created2024-01-31T20:01:10Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-31T20:01:10Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-31T20:01:10Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-31T20:01:47Z | INFO | client 02eb2vj-afvlo76UAAAB disconnected2024-01-31T20:01:49Z | WARN | Server recieved shutdown signal2024-01-31T20:01:49Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T20:01:50Z | INFO | Encrypting database2024-01-31T20:01:50Z | INFO | Deleted unencrypted database2024-01-31T20:02:32Z | INFO | Ensuring server directories2024-01-31T20:02:32Z | INFO | Ensuring config file2024-01-31T20:02:32Z | INFO | Config already exists2024-01-31T20:02:32Z | INFO | Ensuring database2024-01-31T20:02:32Z | INFO | Checking encryption2024-01-31T20:02:32Z | INFO | Starting server background service2024-01-31T20:02:38Z | INFO | client XUoUE7KAk5-N_l-lAAAB connected2024-01-31T20:02:44Z | INFO | Decryption of database successful2024-01-31T20:02:44Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-31T20:02:44Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T20:02:44Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-31T20:02:44Z | INFO | Server mode normal, continuing startup2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:44Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:44Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:02:45Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Post/comment has no impressions associated2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:02:45Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Post/comment has no impressions associated2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:02:45Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:45Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:02:45Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:02:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:02:46Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:02:46Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:02:46Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-31T20:02:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:02:52Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:02:53Z | WARN | Server recieved shutdown signal2024-01-31T20:02:53Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No shutdown time was provided, shutting down in 30 seconds2024-01-31T20:02:53Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Notification successfully created2024-01-31T20:02:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Shutdown notifications sent2024-01-31T20:02:55Z | INFO | client XUoUE7KAk5-N_l-lAAAB disconnected2024-01-31T20:02:58Z | WARN | Server recieved shutdown signal2024-01-31T20:02:58Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T20:04:07Z | INFO | Ensuring server directories2024-01-31T20:04:07Z | INFO | Ensuring config file2024-01-31T20:04:07Z | INFO | Config already exists2024-01-31T20:04:07Z | INFO | Ensuring database2024-01-31T20:04:07Z | INFO | Checking encryption2024-01-31T20:04:07Z | INFO | Starting server background service2024-01-31T20:04:23Z | INFO | client sCYKV2SFmlPvvWftAAAB connected2024-01-31T20:04:49Z | INFO | Decryption of database successful2024-01-31T20:04:49Z | WARN | You decrypted the database using Shamir secret shares, your master password has been reconstructed and can be found on the server at the location: data/encryptconfig.txt. Please remember to delete this file after reading2024-01-31T20:04:49Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:04:49Z | INFO | Server mode normal, continuing startup2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-31T20:04:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T20:04:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:04:50Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Post/comment has no impressions associated2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:04:50Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Post/comment has no impressions associated2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:04:50Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:04:50Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched {column} for requested post2024-01-31T20:04:50Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No post data requested to be fetched, check your inputs2024-01-31T20:04:51Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Impression(s) unable to be fetched, somethign went wrong2024-01-31T20:04:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression(s)2024-01-31T20:04:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched impression count2024-01-31T20:04:51Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T20:04:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:04:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-31T20:04:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-31T20:04:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:06:18Z | INFO | client sCYKV2SFmlPvvWftAAAB disconnected2024-01-31T20:06:21Z | WARN | Server recieved shutdown signal2024-01-31T20:06:21Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T20:06:21Z | INFO | Encrypting database2024-01-31T20:06:21Z | INFO | Deleted unencrypted database2024-01-31T20:09:08Z | INFO | Created new directory: data/shares/2024-01-31T20:09:08Z | INFO | Ensuring server directories2024-01-31T20:09:08Z | INFO | Ensuring config file2024-01-31T20:09:08Z | INFO | Config already exists2024-01-31T20:09:08Z | INFO | Ensuring database2024-01-31T20:09:08Z | INFO | Checking encryption2024-01-31T20:09:08Z | INFO | Reading encryption configuration file2024-01-31T20:09:08Z | INFO | Testing master password type (must be int)2024-01-31T20:09:08Z | INFO | Testing number of shares type (must be integer)2024-01-31T20:09:08Z | INFO | Testing minimum shares type (must be integer)2024-01-31T20:09:08Z | INFO | Shamir Secret Sharing enabled, generating shares2024-01-31T20:09:08Z | INFO | Verifying share integrity2024-01-31T20:09:08Z | INFO | Attempting to generate original password with shares: 0, 1, 22024-01-31T20:09:08Z | INFO | 1/3 sets of shares successfully used to generate the original password2024-01-31T20:09:08Z | INFO | Attempting to generate original password with shares: 1, 2, 32024-01-31T20:09:08Z | INFO | 2/3 sets of shares successfully used to generate the original password2024-01-31T20:09:08Z | INFO | Attempting to generate original password with shares: 2, 3, 42024-01-31T20:09:08Z | INFO | 3/3 sets of shares successfully used to generate the original password2024-01-31T20:09:08Z | INFO | Deleting encryption configuration file containing master password2024-01-31T20:09:08Z | INFO | Encrypting database2024-01-31T20:09:08Z | INFO | Deleted unencrypted database2024-01-31T20:09:08Z | INFO | Starting server background service2024-01-31T20:10:01Z | INFO | client kCkfmP-7Ria0hCIiAAAB connected2024-01-31T20:10:06Z | INFO | Decryption of database successful2024-01-31T20:10:06Z | INFO | Server mode normal, continuing startup2024-01-31T20:10:06Z | INFO | Generating time slot for 2024-02-012024-01-31T20:10:32Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-31T20:10:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-31T20:10:32Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T20:10:32Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-31T20:10:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-31T20:10:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-31T20:10:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-31T20:10:32Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-31T20:10:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:10:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-31T20:10:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-31T20:10:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-31T20:10:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-31T20:10:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-31T20:10:36Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-31T23:10:52Z | INFO | client kCkfmP-7Ria0hCIiAAAB disconnected2024-01-31T23:10:58Z | WARN | Server recieved shutdown signal2024-01-31T23:10:58Z | INFO | Server finished pre-shutdown process calling stop2024-01-31T23:10:59Z | INFO | Encrypting database2024-01-31T23:10:59Z | INFO | Deleted unencrypted database \ No newline at end of file diff --git a/server/data/shares/share-1.txt b/server/data/shares/share-1.txt new file mode 100644 index 0000000..5a5cae2 --- /dev/null +++ b/server/data/shares/share-1.txt @@ -0,0 +1,5 @@ +Share number: 1 +Share secret: 13652 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/server/data/shares/share-2.txt b/server/data/shares/share-2.txt new file mode 100644 index 0000000..8ed0b57 --- /dev/null +++ b/server/data/shares/share-2.txt @@ -0,0 +1,5 @@ +Share number: 2 +Share secret: 16091 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/server/data/shares/share-3.txt b/server/data/shares/share-3.txt new file mode 100644 index 0000000..17c5768 --- /dev/null +++ b/server/data/shares/share-3.txt @@ -0,0 +1,5 @@ +Share number: 3 +Share secret: 19662 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/server/data/shares/share-4.txt b/server/data/shares/share-4.txt new file mode 100644 index 0000000..8bf76c5 --- /dev/null +++ b/server/data/shares/share-4.txt @@ -0,0 +1,5 @@ +Share number: 4 +Share secret: 24365 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/server/data/shares/share-5.txt b/server/data/shares/share-5.txt new file mode 100644 index 0000000..1ea4912 --- /dev/null +++ b/server/data/shares/share-5.txt @@ -0,0 +1,5 @@ +Share number: 5 +Share secret: 30200 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/server/data/shares/share-6.txt b/server/data/shares/share-6.txt new file mode 100644 index 0000000..e29a004 --- /dev/null +++ b/server/data/shares/share-6.txt @@ -0,0 +1,5 @@ +Share number: 6 +Share secret: 37167 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/server/dockerfile b/server/dockerfile new file mode 100644 index 0000000..18307d4 --- /dev/null +++ b/server/dockerfile @@ -0,0 +1,6 @@ +FROM python:3.11-alpine +WORKDIR / +ADD main.py . +ADD modules ./modules +RUN pip install python-socketio eventlet pathlib configparser datetime pillow python-dotenv +CMD python -u ./main.py diff --git a/server/docs/Guide to encrypting the database.md b/server/docs/Guide to encrypting the database.md new file mode 100644 index 0000000..6eec30a --- /dev/null +++ b/server/docs/Guide to encrypting the database.md @@ -0,0 +1,44 @@ +# Overview +This document is designed to guide an administrator through setting up encryption on their BeOpen database. This can be a good idea for increased security and ease of response to a breach. If you have database encryption in event of a breach all you have to do is shutdown the server application, this encrypts the database immediately. + +Remember you can (while logged in on an admin account) shutdown the server from your settings panel. + +# Options +Before enabling encryption and getting it setup you have to consider some options available to you. Standard encryption simply utilises a single master password which you can use to decrypt the database from any active client device while the server is in "decrypt" mode. + +You also have the option of enabling Shamir secret sharing. This allows you to create a number of "shares", you can then hand out shares to trusted colleagues or friends, in the event you as the administrator ever loses the master password you can ask for a set number of these shares to be given back to you, inputting these shares into the "decrypt" screen of the client will decrypt the database and reconstruct your master password. + +You can decide how many shares are required to reconstruct your master password and how many shares you want to create. Its completely up to you. The only limitations is that the number of shares created must be less than 20 and the number of shares needed for reconstruction must be less than 7. These parameters can be changed in the configuration file, under the database section. + +# Guide +1) Decide upon a master password, note your master password must be an integer. We recommend that this integer is made to be significantly large, short common integers may be easily guessed or easy to crack. +2) Create a text file at the path "data/encryptconfig.txt" (This path is configurable in the database section of your configuration file) and type your master password into this file. +3) Enable encryption in the configuration file by setting "EncryptDatabase" to "true". +4) If you want Shamir secret sharing enable this in the same section of your configuration file by setting "ShamirSecretSharing" to "true". Additionally change the values of "MinimumShares" and "NumberOfShares" to your preferred values. +5) Launch the server, if all goes according to plan the server will launch normally and you will be able to start any client and enter the decryption credentials. + +## Distribution of shares +If you used Shamir secret sharing your shares will now be sat as a collection of text files in (by default) data/shares. These text files will NOT be automatically deleted and so deleting these text files is left up to you as the administrator. + +When you give someone a share make sure they remember their share number and share secret. If you know your share secret but cannot remember your share number it is not possible to use the share. The minimum shares required for reconstruction of the master password is considered public so this fact is also included on all shares. However this number is also stored in the configuration file of the server. + +## Fail + +### Encryption +If the encryption fails in anyway the server will log the problem and shutdown. Have a good read of the server logs, the most common issue may be that the shares generated could not reconstruct the original key. If this is the case simply try again or use a shorter master password. + +### Server shutdown (ungraceful) +If the server suddenly lost power or was unable to perform a graceful shutdown for any reason the unencrypted database will be left on the system. This happens to avoid the risk of data loss. In this event: +1) Backup the encrypted database and the unencrypted database +2) Set encryption to false in the configuration file +3) Decrypt the database from any client +4) Shutdown the server again (gracefully) +5) Delete the database in the server directory and replace it with the previous version you backed up +6) You can then re-enable encryption and go through the process of setting that up again. If you use the same master password you do NOT have to re distribute the Shamir secret shares. However a set of new shares may be generated simply delete these files. + +## Dos and don'ts +If you use Shamir secret sharing do NOT change the "MinimumShares" configuration even after the encryption has successfully happened and the shares have been generated. If for some reason this option does change contact share holders to see if they or anyone else knows the correct value, without this value the master password cannot be re-constructed. + +Do not manually change or alter any files unless instructed to do so by this guide. Changing configuration options while the server is running can lead to loss of data. + +Do not share your master password with anyone else, if you wish to have a "backup" please use the Shamir secret sharing feature built into the server. diff --git a/server/main.py b/server/main.py new file mode 100644 index 0000000..297c2aa --- /dev/null +++ b/server/main.py @@ -0,0 +1,477 @@ +import socketio +import eventlet + +# SESSION +class server_session(): + def __init__(self): + self.clients = [] + self.logged_in = [] + self.accepting_clients = True + + self.mode = "normal" + self.flags = [] + + self.encrypt_on_shutdown = True + self.db_encrypted = True + self.password = None + +# this is a class object shared accross the server +# it allows access to some basic infomation about the server's current status +session = server_session() +# SESSION + +# STARTUP +from modules.track.logging import log +from modules.start.start import main as server_startup +server_startup(session) +# STARTUP + +# MODULES +from modules.auth import auth +from modules.track import * +send_status = logging.status.send_status + +from modules.user import info as user_info +from modules.handler.handler import * +from modules.handler.tasks import user_service, server_service +from modules.algorithms.univ import dict_key_verify +from modules.data.datetime import timestamp +from modules.data.config import read as config_read +# MODULES + +sio = socketio.Server() +app = socketio.WSGIApp(sio) + + +# CONNECT/DISCONNECT EVENTS +@sio.event +def connect(sid, environ, auth): + if session.accepting_clients: + sio.save_session(sid, {'id': None, 'level': None}) + log("INFO", f"client {sid} connected") + session.clients.append(sid) + else: + # return status here, create interface etc + sio.disconnect(sid) + +@sio.event +def disconnect(sid): + log("INFO", f"client {sid} disconnected") + session.clients.remove(sid) + if sid in session.logged_in: + session.logged_in.remove(sid) +# CONNECT/DISCONNECT EVENTS + + +# AUTH EVENTS +@sio.event +def login(sid, data): + info = {'logged_in': False} + status, user_id, level = auth.login(sio, sid, data) + + with sio.session(sid) as client_session: + # saves some infomation to the sid of a connected client + # this sid can be passed to other functions to identify the client even if they havent provided specfic info to that event + # as long as they have logged in + client_session['id'] = user_id + client_session['level'] = level + + if auth.authorised(sio, sid, "member"): + info['logged_in'] = True + if sid not in session.logged_in: + session.logged_in.append(sid) + sio.start_background_task(user_service, sio, sid) + + send_status(sio, sid, status) + return True, info + +# any event that returns infomation will return True as its first parameter +# this is to let the client side function know that the infomation being returned is a "callback" from the server +# without this the client side function would have no way of knowing if the function has been called by the server or the client itself + +@sio.event +def register(sid, data): + status = auth.register(data) + send_status(sio, sid, status) + if status['level'] == "INFO": + return True, {'is_registered': True} + return True, {'is_registered': False} + +@sio.event +def admin_register(sid, data): + status = auth.admin_register(data) + send_status(sio, sid, status) + if status['level'] == "INFO": + return True, {'is_registered': True} + return True, {'is_registered': False} + +@sio.event +def auth_get(sid, data=None): + info, status = auth_handler(sio, sid, session, min_level='member', event_name='auth_get').get(data) + return True, info + +@sio.event +def auth_set(sid, data=None): + info, status = auth_handler(sio, sid, session, min_level='member', event_name='auth_set').set(data) +# AUTH EVENTS + + +# PROFILE EVENTS +@sio.event +def profile_get(sid, data=None): + info, status = profile_handler(sio, sid, session, min_level='member', event_name='profile_get').get(data) + return True, info + +@sio.event +def profile_get_permissions(sid, data=None): + info, status = profile_handler(sio, sid, session, min_level='member', event_name='profile_get_permissions').get_permissions(data) + return True, info + +@sio.event +def profile_set(sid, data=None): + info, status = profile_handler(sio, sid, session, min_level='member', event_name='profile_set').set(data) + +@sio.event +def profile_delete(sid, data=None): + info, status = profile_handler(sio, sid, session, min_level='member', event_name='profile_delete').delete(data) +# PROFILE EVENTS END + + +# FRIEND EVENTS START +@sio.event +def friend_get(sid, data=None): + info, status = friend_handler(sio, sid, session, min_level='member', event_name='friend_get').get(data) + return True, info + +@sio.event +def friend_get_requests(sid, data=None): + info, status = friend_handler(sio, sid, session, min_level='member', event_name='friend_get_requests').get_requests(data) + return True, info + +@sio.event +def friend_get_recomendations(sid, data=None): + friend_get_recomendations + info, status = friend_handler(sio, sid, session, min_level='member', event_name='friend_get_recomendations').get_recomendations(data) + return True, info + +@sio.event +def friend_add_request(sid, data=None): + info, status = friend_handler(sio, sid, session, min_level='member', event_name='friend_add_request').add_request(data) + +@sio.event +def friend_approve_request(sid, data=None): + info, status = friend_handler(sio, sid, session, min_level='member', event_name='friend_approve_request').approve_request(data) + +@sio.event +def friend_remove_request(sid, data=None): + info, status = friend_handler(sio, sid, session, min_level='member', event_name='friend_remove_request').remove_request(data) + +@sio.event +def friend_reject_request(sid, data=None): + info, status = friend_handler(sio, sid, session, min_level='member', event_name='friend_reject_request').reject_request(data) + +@sio.event +def friend_remove(sid, data=None): + info, status = friend_handler(sio, sid, session, min_level='member', event_name='remove').remove(data) +# FRIEND EVENTS END + + +# OCCUAPTION EVENTS +@sio.event +def occupation_get(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='member', event_name='occupation_get').get(data) + return True, info + +@sio.event +def occupation_get_all(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='member', event_name='occupation_get_all').get_all(data) + return True, info + +@sio.event +def occupation_set(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='member', event_name='occupation_set').set(data) + +@sio.event +def occupation_set_request(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='member', event_name='occupation_set_request').set_request(data) + +@sio.event +def occupation_get_request(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='member', event_name='occupation_get_request').get_request(data) + return True, info + +@sio.event +def occupation_get_all_requests(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='member', event_name='occupation_get_all_request').get_all_request(data) + return True, info + +@sio.event +def occupation_delete_request(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='member', event_name='occupation_delete_request').delete_request(data) + +@sio.event +def occupation_approve_request(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='management', event_name='occupation_approve_request').approve_request(data) + +@sio.event +def occupation_reject_request(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='management', event_name='occupation_reject_request').reject_request(data) + +@sio.event +def occupation_create(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='management', event_name='occupation_create').create(data) + +@sio.event +def occupation_edit(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='management', event_name='occupation_edit').edit(data) + +@sio.event +def occupation_delete_occupation(sid, data=None): + info, status = occupation_handler(sio, sid, session, min_level='management', event_name='occupation_delete_occupation').delete_occupation(data) +# OCCUAPTION EVENTS + + +# TEAM EVENTS +@sio.event +def team_get(sid, data=None): + info, status = team_handler(sio, sid, session, min_level='member', event_name='team_get').get(data) + return True, info + +@sio.event +def team_get_all(sid, data=None): + info, status = team_handler(sio, sid, session, min_level='member', event_name='team_get_all').get_all(data) + return True, info + +@sio.event +def team_get_leaders(sid, data=None): + info, status = team_handler(sio, sid, session, min_level='member', event_name='team_get_leaders').get_leaders(data) + return True, info + +@sio.event +def team_get_members(sid, data=None): + info, status = team_handler(sio, sid, session, min_level='member', event_name='team_get_members').get_members(data) + return True, info + +@sio.event +def team_set(sid, data=None): + info, status = team_handler(sio, sid, session, min_level='member', event_name='team_set').set(data) + +@sio.event +def team_delete_leaders(sid, data=None): + info, status = team_handler(sio, sid, session, min_level='member', event_name='team_delete_leaders').delete_leaders(data) +# TEAM EVENTS + + +# POST EVENTS +@sio.event +def post_get_feed(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_get_feed').get_feed(data) + return True, info + +@sio.event +def post_get(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_get').get(data) + return True, info + +@sio.event +def post_get_memories(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_get').get_memories(data) + return True, info + +@sio.event +def post_get_user(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_get_user').get_user(data) + return True, info + +@sio.event +def post_get_friends(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_get_friends').get_friends(data) + return True, info + +@sio.event +def post_get_team(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_get_team').get_team(data) + return True, info + +@sio.event +def post_get_permissions(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_get_permissions').get_permissions(data) + return True, info + +@sio.event +def post_set(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_set').set(data) + +@sio.event +def post_delete(sid, data=None): + info, status = post_handler(sio, sid, session, min_level='member', event_name='post_delete').delete(data) +# POST EVENTS + + +# COMMENT EVENTS +@sio.event +def comment_get(sid, data=None): + info, status = comment_handler(sio, sid, session, min_level='member', event_name='comment_get').get(data) + return True, info + +@sio.event +def comment_get_post(sid, data=None): + info, status = comment_handler(sio, sid, session, min_level='member', event_name='comment_get_post').get_post(data) + return True, info + +@sio.event +def comment_get_permissions(sid, data=None): + info, status = comment_handler(sio, sid, session, min_level='member', event_name='comment_get_permissions').get_permissions(data) + return True, info + +@sio.event +def comment_set(sid, data=None): + info, status = comment_handler(sio, sid, session, min_level='member', event_name='comment_set').set(data) + return True, info + +@sio.event +def comment_delete(sid, data=None): + info, status = comment_handler(sio, sid, session, min_level='member', event_name='comment_delete').delete(data) + return True, info +# COMMENT EVENTS + + +# IMPRESSION EVENTS +@sio.event +def post_impression_get(sid, data=None): + info, status = post_impression_handler(sio, sid, session, min_level='member', event_name='post_impression_get').get(data) + return True, info + +@sio.event +def post_impression_get_post(sid, data=None): + info, status = post_impression_handler(sio, sid, session, min_level='member', event_name='post_impression_get_post').get_post(data) + return True, info + +@sio.event +def post_impression_count(sid, data=None): + info, status = post_impression_handler(sio, sid, session, min_level='member', event_name='post_impression_count').count(data) + return True, info + +@sio.event +def post_impression_set(sid, data=None): + info, status = post_impression_handler(sio, sid, session, min_level='member', event_name='post_impression_set').set(data) + +@sio.event +def post_impression_delete(sid, data=None): + info, status = post_impression_handler(sio, sid, session, min_level='member', event_name='post_impression_delete').delete(data) + +@sio.event +def comment_impression_get(sid, data=None): + info, status = comment_impression_handler(sio, sid, session, min_level='member', event_name='comment_impression_get').get(data) + return True, info + +@sio.event +def comment_impression_get_comment(sid, data=None): + info, status = comment_impression_handler(sio, sid, session, min_level='member', event_name='comment_impression_get_comment').get_comment(data) + return True, info + +@sio.event +def comment_impression_count(sid, data=None): + info, status = comment_impression_handler(sio, sid, session, min_level='member', event_name='comment_impression_count').count(data) + return True, info + +@sio.event +def comment_impression_set(sid, data=None): + info, status = comment_impression_handler(sio, sid, session, min_level='member', event_name='comment_impression_set').set(data) + +@sio.event +def comment_impression_delete(sid, data=None): + info, status = comment_impression_handler(sio, sid, session, min_level='member', event_name='comment_impression_delete').delete(data) +# IMPRESSION EVENTS END + + +# NOTIFICATION EVENTS START +@sio.event +def notification_get(sid, data=None): + info, status = notification_handler(sio, sid, session, min_level='member', event_name='notification_get').get(data) + return True, info + +@sio.event +def notification_create(sid, data=None): + status = notification_handler(sio, sid, session, min_level='member', event_name='notification_create').create(data) + +@sio.event +def notification_delete(sid, data=None): + status = notification_handler(sio, sid, session, min_level='member', event_name='notification_delete').delete(data) + +@sio.event +def notification_remove(sid, data=None): + status = notification_handler(sio, sid, session, min_level='member', event_name='notification_remove').remove(data) +# NOTIFICATION EVENTS END + + +# OTHER EVENTS +@sio.event +def get_ntfy_topic(sid, data=None): + info = {'topic': None} + if sio.get_session(sid)['level']: + user_id = sio.get_session(sid)['id'] + username = user_info.auth(user_id=user_id).get()['username'] + + nfty_topic = f"{username}-{user_id[:8]}" + info['topic'] = nfty_topic + + return True, info + +@sio.event +def server_code_get(sid, data=None): + code = config_read('miscellaneous', 'servercode') + info = {'server_code': code} + return True, info + +@sio.event +def is_post_slot(sid, data=None): + info = None + if timestamp().is_valid_time(): + info = {'is_post_slot': True} + else: + info = {'is_post_slot': False} + return True, info + +@sio.event +def get_date(sid, data=None): + info = {'date':timestamp().date} + return True, info + +@sio.event +def post_slot_get(sid, data=None): + info, status = post_slot_handler(sio, sid, session, min_level='member', event_name='post_slot_get').get(data) + return True, info + +@sio.event +def shutdown(sid, data=None): + info, status = server(sio, sid, session, min_level='admin', event_name='shutdown').shutdown(data) +# OTHER EVENTS + +# ENCRYPTION EVENTS START +@sio.event +def decrypt(sid, data=None): + success = encryption_handler(session).decrypt(data) + return True, {'success': success} + +@sio.event +def get_mode(sid, data=None): + sss_enabled = config_read('database', 'ShamirSecretSharing') + min_shares = config_read('database', 'MinimumShares') + info = {'mode': session.mode, 'password': True, 'sss': sss_enabled, 'min_shares': min_shares} + return True, info +# ENCRYPTION EVENTS END + +def test(): + from modules.algorithms.recomend import main as recommend + recommend() + +def main(): + # add mode check + while loop to background tasks + sio.start_background_task(server_service, session) + open_port = int(config_read('networking', 'Port')) + eventlet.wsgi.server(eventlet.listen(('', open_port)), app) + server(sio, None, session, min_level='admin', event_name='shutdown').internal_shutdown({'time': 0.1}) + +if __name__ == "__main__": + main() diff --git a/server/modules/algorithms/__init__.py b/server/modules/algorithms/__init__.py new file mode 100644 index 0000000..dcfe3a8 --- /dev/null +++ b/server/modules/algorithms/__init__.py @@ -0,0 +1 @@ +__all__ = ['uuid', 'univ', 'hash'] diff --git a/server/modules/algorithms/__pycache__/__init__.cpython-311.pyc b/server/modules/algorithms/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..a3ed524 Binary files /dev/null and b/server/modules/algorithms/__pycache__/__init__.cpython-311.pyc differ diff --git a/server/modules/algorithms/__pycache__/hash.cpython-311.pyc b/server/modules/algorithms/__pycache__/hash.cpython-311.pyc new file mode 100644 index 0000000..b574e2d Binary files /dev/null and b/server/modules/algorithms/__pycache__/hash.cpython-311.pyc differ diff --git a/server/modules/algorithms/__pycache__/recomend.cpython-311.pyc b/server/modules/algorithms/__pycache__/recomend.cpython-311.pyc new file mode 100644 index 0000000..02712df Binary files /dev/null and b/server/modules/algorithms/__pycache__/recomend.cpython-311.pyc differ diff --git a/server/modules/algorithms/__pycache__/univ.cpython-311.pyc b/server/modules/algorithms/__pycache__/univ.cpython-311.pyc new file mode 100644 index 0000000..52ce847 Binary files /dev/null and b/server/modules/algorithms/__pycache__/univ.cpython-311.pyc differ diff --git a/server/modules/algorithms/__pycache__/uuid.cpython-311.pyc b/server/modules/algorithms/__pycache__/uuid.cpython-311.pyc new file mode 100644 index 0000000..5b17fbb Binary files /dev/null and b/server/modules/algorithms/__pycache__/uuid.cpython-311.pyc differ diff --git a/server/modules/algorithms/hash.cpp b/server/modules/algorithms/hash.cpp new file mode 100644 index 0000000..af04233 --- /dev/null +++ b/server/modules/algorithms/hash.cpp @@ -0,0 +1,22 @@ +# include +# include +# include +typedef long long int Lint; + +extern "C" Lint hash(char* str) { + Lint m = std::pow(10,7) + 7; + int p = 97; + Lint total = 0; + + for (int i=0; i 0: + # recursively calls the function until the depth is 0. + self.__add_user_friends(friend, origin, depth-1) + + def __add_edge(self, node, edge): + # using the + operator on the lists since .append() has some undefined behaviour on large arrays. + self.graph[node] = self.graph[node] + [edge] + + def bft(self): + self.visted = [] + # adds the hash of the selected orgin user to the edge queue + self.edge_queue = [hash(self.origin_user)] + + self.__visit(self.edge_queue[0]) + + def __visit(self, origin): + # the origin is a number and so can be used as an index for the graph array + start_pos = self.graph[origin] + self.__on_visit(origin) + + # adds the current node to the vistsed lists and removes it from the queue + self.edge_queue.pop(len(self.edge_queue)-1) + self.visted.append(origin) + + for neigbour in start_pos: + neigbour_obj = self.friend_directory[neigbour] + origin_obj = self.friend_directory[origin] + + # checks if the node has been visted yet, if not adds it to the edge queue and assigns it a depth from the origin + if neigbour not in self.visted and neigbour not in self.edge_queue: + neigbour_obj.depth = origin_obj.depth - 1 + self.edge_queue = [neigbour] + self.edge_queue + + if len(self.edge_queue) > 0: + # recursively calls this method until the edge_queue is empty + self.__visit(self.edge_queue[len(self.edge_queue)-1]) + + def __on_visit(self, origin): + origin_obj = self.friend_directory[origin] + # each node is only visited once in the graph so the count is calculated when constructing the graph + origin_obj.score = origin_obj.depth * origin_obj.count + + def recomend_friends(self): + self.recomendations = [] + + # removing the user requesting the recomendations and their friends from the visited list + # this is done so that the user or people who are already friends of the user dont get recomended + possible = [] + for user in self.visted: + user_obj = self.friend_directory[user] + if user_obj.username not in self.exclude: + possible = possible + [user] + + while len(self.recomendations) != len(possible): + largest = User(username="") + largest.score = -1 + for friend in possible: + friend_obj = self.friend_directory[friend] + if friend_obj not in self.recomendations and friend_obj.score > largest.score: + largest = friend_obj + + self.recomendations.append(largest) + +def recomend_friend(username, amount=1, depth=1): + if not (depth >= 1 and depth <= 4): + depth = 4 + + friend_graph = Graph(username) + friend_graph.generate(depth) + friend_graph.bft() + friend_graph.recomend_friends() + + recomended = [{'username': recomended.username} for recomended in friend_graph.recomendations[:amount]] + return recomended + +def main(): + result = recomend_friend("Jack", 3, 4) + +if __name__ == "__main__": + main() diff --git a/server/modules/algorithms/sss.cpp b/server/modules/algorithms/sss.cpp new file mode 100644 index 0000000..e735402 --- /dev/null +++ b/server/modules/algorithms/sss.cpp @@ -0,0 +1,390 @@ +#include +# include +# include +# include +# include +# include +#include +using namespace std; + +typedef long int Lint; // 64 bits +typedef double Ldouble; +struct security { + int num_shares; + int num_required; +}; + +struct shareStruct { + int x; + Lint y; +}; + +bool isPrime(Lint n) { + int flag = 0; + for (int i = 2; i <= n / i; ++i) { + if (n % i == 0) { + flag = 1; + break; + } + } + if (flag == 0) return true; + else return false; +} + +Lint genRandInt(int n) { + // Returns a random number + // between 2**(n-1)+1 and 2**n-1 + //long max = (long)powl(2, n) - 1; + //long min = (long)powl(2, n - 1) + 1; + long max = (long)pow(2, n) - 1; + long min = (long)pow(2, n - 1) + 1; + Lint result = min + (rand() % ( max - min + 1 ) ); + return result; +} + +Lint genPrime() { + Lint prime = 10; + + while (isPrime(prime) == false) { + int complexity = 50; + prime = genRandInt(complexity); + } + return prime; +} + +int* encodeSecret(int* poly, const int secret, const int num_required) { + poly[num_required-1] = secret; + return poly; +} + +Lint getPolyY(const int* poly, int poly_len, int poly_x, const Lint prime) { + Lint total = 0; + Lint poly_y = 0; + + for (int i=0; i 0: + result = number // 2**power + if result == 0: + break + power += 1 + + for i in range(power-1, -1, -1): + bit = number // 2**i + number -= bit * 2**i + byte_string += str(bit) + + return byte_string + +def set_bits(binary, num_bits): + for i in range(num_bits - len(binary)): + binary += "0" + return binary + +#uuid START +def generate(): + byte_list = [] + + # generates 16 8 bit numbers as strings + for i in range(16): + number = random.randint(0, 255) + bits = den_to_bin(number) + byte = set_bits(bits , 8) + byte_list.append(byte) + + # setting certain places as pre-defined, as stated by the UUID4 spec (see apendix) + byte_list[6] = byte_list[6][:4] + "0010" + byte_list[8] = byte_list[8][:6] + "01" + + # UUIDs are always shown in terms of hex + hex_string = "" + for byte_index, byte in enumerate(byte_list): + byte_hex = bin_to_hex(byte) + # adds the dashes in the indexes as required by the UUID4 spec + if byte_index in [4, 6, 8, 10]: + hex_string += "-" + hex_string += byte_hex + + return hex_string +#uuid END + +#string hash START +def hash_string(string): + string = string.replace("-", "0") + string = string.replace("_", "0") + libname = pathlib.Path().absolute() / "modules/algorithms/libcpphash.so" + c_lib = ctypes.CDLL(libname) + + charptr = ctypes.POINTER(ctypes.c_char) + c_lib.printc.argtypes = [charptr] + c_lib.printc.restypes = int + + result = c_lib.hash(ctypes.c_char_p(string.encode('utf-8'))) + return result + +def long_hash(string): + result = hashlib.sha256(string.encode('utf-8')) + result = result.hexdigest() + return result + +# string hash END + +if __name__ == "__main__": + result = hash_string("hello") + print(result) diff --git a/server/modules/auth/__init__.py b/server/modules/auth/__init__.py new file mode 100644 index 0000000..6e065b2 --- /dev/null +++ b/server/modules/auth/__init__.py @@ -0,0 +1 @@ +__all__ = ['auth'] diff --git a/server/modules/auth/__pycache__/__init__.cpython-311.pyc b/server/modules/auth/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..8f2ad73 Binary files /dev/null and b/server/modules/auth/__pycache__/__init__.cpython-311.pyc differ diff --git a/server/modules/auth/__pycache__/auth.cpython-311.pyc b/server/modules/auth/__pycache__/auth.cpython-311.pyc new file mode 100644 index 0000000..9e2b03c Binary files /dev/null and b/server/modules/auth/__pycache__/auth.cpython-311.pyc differ diff --git a/server/modules/auth/auth.py b/server/modules/auth/auth.py new file mode 100644 index 0000000..e92923a --- /dev/null +++ b/server/modules/auth/auth.py @@ -0,0 +1,294 @@ +# BEFORE PRODUCTION PUSH +### Need to uncomment the try and exept build into fuctions: +#### login, register, admin_register + +import sqlite3 +import time +from string import ascii_letters, ascii_lowercase, digits + +### MODULES +from modules.track import * + +from modules.user.generate import main as user_generate +from modules.user import info as user_info + +from modules.data.database import connect as db_connect +from modules.data.config import read as config_read +from modules.data.datetime import timestamp + +from modules.algorithms.uuid import long_hash as hash_string +from modules.algorithms.uuid import generate as uuid_generate +from modules.algorithms.univ import char_check +### MODULES + +# need to change this to path +database_name = config_read("database", "Path") + +class reg_cred(): + def __init__(self, cred): + self.level = config_read("user", "DefaultLevel") + + self.key = cred['key'] + self.username = cred['username'] + self.password= cred['password'] + self.repassword= cred['repassword'] + + self.db = db_connect() + self.db.create(self) + + logging.status("INFO", "registration initialised").status_update(self) + + def exec(self): + # CHECKS + check_processes = [self.username_verify, self.username_bans, self.username_clash_check, self.password_verify] + for check in check_processes: + check() + if self.status['level'] == "FAIL": + return + if not self.key_verify(): + return + logging.status("INFO", "credential verification successful").status_update(self) + # CHECKS + + self.id = user_generate(self.username, self.password, self.level) + #self.db.close() + + logging.status("INFO", "registration successful").status_update(self) + + def username_verify(self): + # This will be configurable + min_len = 3 + max_len = 25 + + if self.username == None: + logging.status("FAIL", "username cannot be null").status_update(self) + + elif len(self.username) < min_len or len(self.username) > max_len: + logging.status("FAIL", f"username cant be shorter than {min_len} characters or longer than {max_len} characters").status_update(self) + + elif char_check(self.username, ascii_letters + digits + "_" + "-") == True: + logging.status("FAIL", f"username contains invalid characters").status_update(self) + + def username_bans(self): + servercode = config_read('miscellaneous', 'servercode') + if servercode in self.username: + logging.status("FAIL", "usernames contains servercode").status_update(self) + + def username_clash_check(self): + self.cur.execute("SELECT username FROM auth_credentials WHERE username = ?", (self.username,)) + + if self.cur.fetchall(): + logging.status("FAIL", "username is already in use").status_update(self) + + def password_verify(self): + # This will be configurable + min_len = 4 + max_len = 100 + + if self.password == None: + logging.status("FAIL", "password cannot be null").status_update(self) + + elif len(self.password) < min_len or len(self.password) > max_len: + logging.status("FAIL", f"password cant be shorter than {min_len} characters or longer than {max_len}").status_update(self) + + elif self.password != self.repassword: + logging.status("FAIL", f"passwords do not match").status_update(self) + + def key_verify(self): + if self.key == config_read('authorisation', 'RegistrationKey'): + return True + else: + return False + logging.status("FAIL", "registration code is incorrect").status_update(self) + +class reg_admin(reg_cred): + def __init__(self, cred): + super().__init__(cred) + self.level = "admin" + + logging.status("INFO", "admin registration initialised").status_update(self) + + def key_verify(self): + if self.key == config_read('authorisation', 'AdminKey'): + return True + else: + return False + + def first_time(self): + self.cur.execute("SELECT user_id FROM auth_credentials WHERE level = ?", (self.level,)) + value = self.cur.fetchone() + + if value: + return False + else: + return True + +class login_cred(): + def __init__(self, sio, sid, cred): + self.username = cred['username'] + self.password = cred['password'] + + self.sio = sio + self.sid = sid + + self.db = db_connect() + self.db.create(self) + + logging.status("INFO", "credential login initialised").status_update(self) + + def exec(self): + self.process_password() + + self.cur.execute("SELECT user_id FROM auth_credentials WHERE username = ? AND password = ?", (self.username, self.password_hash)) + self.id = self.cur.fetchone() + + if self.id: + self.id = self.id[0] + + logging.status("INFO", "valid login credentials").status_update(self) + login_token.create_token(self) + login_token.send_token(self) + logging.status("INFO", "login successful").status_update(self) + else: + logging.status("FAIL", "invalid login credentials").status_update(self) + + self.db.close() + + def process_password(self): + self.cur.execute("SELECT user_id FROM auth_credentials WHERE username = ?", (self.username,)) + user_id = self.cur.fetchone() + if user_id: + self.password_hash = hash_string(self.password + user_id[0]) + else: + self.password_hash = None + +class login_token(): + def __init__(self, cred): + self.token = cred['token'] + + self.db = db_connect() + self.db.create(self) + + logging.status("INFO", "token login initialised").status_update(self) + + def exec(self): + self.token_hash = hash_string(self.token) + self.cur.execute("SELECT user_id, token_expire FROM auth_tokens WHERE token = ?", (self.token_hash,)) + fetch_data = self.cur.fetchall() + self.id = None + + if fetch_data: + self.id, self.token_expire = fetch_data[0][0], fetch_data[0][1] + + if self.token_expire > timestamp().now: + logging.status("INFO", "valid token").status_update(self) + else: + logging.status("FAIL", "invalid token").status_update(self) + + else: + logging.status("FAIL", "invalid token").status_update(self) + + self.db.close() + + @staticmethod + def create_token(self): + expire_time = float(config_read("authorisation", "tokenexpirytime")) + + self.token = uuid_generate() + self.token_hash = hash_string(self.token) + self.token_expire = timestamp().now + expire_time + + ### ALL NEEDS CHANGING + self.cur.execute("INSERT INTO auth_tokens (user_id, token, token_expire) VALUES (?, ?, ?)", (self.id, self.token_hash, self.token_expire)) + self.db.commit() + + logging.status("INFO", "authentication token created").status_update(self) + + @staticmethod + def send_token(self): + self.sio.emit('recv_token', {'token':self.token, 'expire': self.token_expire}, room=self.sid) + logging.status("INFO", "token sent").status_update(self) + + +class error_process(): + def __init__(self): + logging.status("WARNING", "something went wrong").status_update(self) + self.id = None + +def login(sio, sid, cred): + if "token" in cred: + + try: + client = login_token(cred) + client.exec() + except: + logging.status("FAIL", "token not authorised").status_update(client) + + + elif all(param in cred for param in ['username', 'password']): + + try: + client = login_cred(sio, sid, cred) + client.exec() + except: + logging.status("FAIL", "login failed").status_update(client) + + else: + client = error_process() + logging.status("FAIL", "no credentials provided").status_update(client) + + client.level = user_info.level(user_id=client.id).get() + if client.level: + client.level = client.level['level'] + return client.status, client.id, client.level + +def register(cred): + if all(param in cred for param in ['username', 'password', 'repassword', 'key']): + + try: + client = reg_cred(cred) + client.exec() + except: + logging.status("FAIL", "registration failed").status_update(client) + + else: + client = generic_process() + logging.status("FAIL", "no credentials provided").status_update(client) + + return client.status + +def admin_register(cred): + if all(param in cred for param in ['username', 'password', 'repassword', 'key']): + try: + client = reg_admin(cred) + if client.key_verify() == True and client.first_time() == True: + client.exec() + else: + logging.status("FAIL", "admin key does not match/admin already exists").status_update(client) + except: + logging.status("FAIL", "registration failed").status_update(client) + + else: + client = error_process() + logging.status("FAIL", "no credentials provided").status_update(client) + + return client.status + +def authorised(sio, sid, min_level='admin'): + level_list = ['member', 'management', 'admin'] + + allow_levels = level_list[level_list.index(min_level):] + level = sio.get_session(sid)['level'] + + if level in allow_levels: + user_authorised = True + else: + user_authorised = False + + return user_authorised + +def main(): + error = error_process() + +if __name__ == "__main__": + main() diff --git a/server/modules/data/__init__.py b/server/modules/data/__init__.py new file mode 100644 index 0000000..94ea406 --- /dev/null +++ b/server/modules/data/__init__.py @@ -0,0 +1 @@ +__all__ = ['config','database', 'datetime'] diff --git a/server/modules/data/__pycache__/__init__.cpython-310.pyc b/server/modules/data/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..b058472 Binary files /dev/null and b/server/modules/data/__pycache__/__init__.cpython-310.pyc differ diff --git a/server/modules/data/__pycache__/__init__.cpython-311.pyc b/server/modules/data/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..93a9d45 Binary files /dev/null and b/server/modules/data/__pycache__/__init__.cpython-311.pyc differ diff --git a/server/modules/data/__pycache__/config.cpython-310.pyc b/server/modules/data/__pycache__/config.cpython-310.pyc new file mode 100644 index 0000000..3fb2627 Binary files /dev/null and b/server/modules/data/__pycache__/config.cpython-310.pyc differ diff --git a/server/modules/data/__pycache__/config.cpython-311.pyc b/server/modules/data/__pycache__/config.cpython-311.pyc new file mode 100644 index 0000000..e616379 Binary files /dev/null and b/server/modules/data/__pycache__/config.cpython-311.pyc differ diff --git a/server/modules/data/__pycache__/database.cpython-310.pyc b/server/modules/data/__pycache__/database.cpython-310.pyc new file mode 100644 index 0000000..8ea9809 Binary files /dev/null and b/server/modules/data/__pycache__/database.cpython-310.pyc differ diff --git a/server/modules/data/__pycache__/database.cpython-311.pyc b/server/modules/data/__pycache__/database.cpython-311.pyc new file mode 100644 index 0000000..3f84a3e Binary files /dev/null and b/server/modules/data/__pycache__/database.cpython-311.pyc differ diff --git a/server/modules/data/__pycache__/datetime.cpython-310.pyc b/server/modules/data/__pycache__/datetime.cpython-310.pyc new file mode 100644 index 0000000..8c08373 Binary files /dev/null and b/server/modules/data/__pycache__/datetime.cpython-310.pyc differ diff --git a/server/modules/data/__pycache__/datetime.cpython-311.pyc b/server/modules/data/__pycache__/datetime.cpython-311.pyc new file mode 100644 index 0000000..38ee1a8 Binary files /dev/null and b/server/modules/data/__pycache__/datetime.cpython-311.pyc differ diff --git a/server/modules/data/config.py b/server/modules/data/config.py new file mode 100644 index 0000000..e8e31a2 --- /dev/null +++ b/server/modules/data/config.py @@ -0,0 +1,85 @@ +import configparser +from modules.track.logging import log + +path = "data/config.ini" + +def create(): + try: + file = open(path, 'r') + log("INFO", "Config already exists") + return + except FileNotFoundError as e: + log("INFO", "Creating config file") + pass + + config = configparser.ConfigParser() + + config.add_section('authorisation') + # change this to a randomly generated string + config.set('authorisation', 'AdminKey', 'secret') + config.set('authorisation', 'RegistrationKey', 'secret') + config.set('authorisation', 'UsernameMaxLength', '20') + config.set('authorisation', 'UsernameMinLength', '5') + config.set('authorisation', 'PasswordMaxLength', '30') + config.set('authorisation', 'PasswordMinLength', '5') + config.set('authorisation', 'TokenExpiryTime', '2592000') + + config.add_section('database') + config.set('database', 'Path', 'data/database.db') + config.set('database', 'Encrypt', 'false') + config.set('database', 'ShamirSecretSharing', 'false') + config.set('database', 'NumberOfShares', '5') + config.set('database', 'MinimumShares', '3') + config.set('database', 'KeyPath', 'data/key.txt') + config.set('database', 'EncryptedPath', 'data/.cryptdatabase.db') + config.set('database', 'EncryptionConfigPath', 'data/encryptconfig.txt') + config.set('database', 'SaltPath', 'data/.salt.txt') + config.set('database', 'SharesPath', 'data/shares/') + + config.add_section('user') + config.set('user', 'DefaultLevel', 'member') + config.set('user', 'DefaultOccupationID', 'Null') + + config.add_section('posts') + config.set('posts', 'PostTimeLimit', '5') # miniutes + config.set('posts', 'DayStart', '9') #24 hour time + config.set('posts', 'DayEnd', '17') #24 hour time + + config.add_section('notifications') + config.set('notifications', 'DefaultExpireTime', '604800') + config.set('notifications', 'ntfyUrl', 'https://ntfy.example.com') + + config.add_section('networking') + config.set('networking', 'Port', '9999') + + config.add_section('miscellaneous') + config.set('miscellaneous', 'ServerCode', '12345') + + with open(path, 'w') as configfile: + config.write(configfile) + log("INFO", "Created config file") + +def read(section, key, *args, **kwargs): + config = configparser.ConfigParser() + config.read(path) + + if section not in config: + return None + if key not in config[section]: + return None + + info = config[section][key] + if info == "false": + info = False + if info == "true": + info = True + + return info + +def main(): + create() + info = read("users", "DefaultOccupation") + print(info) + +if __name__ == "__main__": + main() diff --git a/server/modules/data/database.py b/server/modules/data/database.py new file mode 100644 index 0000000..cc8cb94 --- /dev/null +++ b/server/modules/data/database.py @@ -0,0 +1,693 @@ +import sqlite3 +import os +import ctypes +import pathlib + +import base64 +from cryptography.fernet import Fernet +from cryptography.hazmat.primitives import hashes +from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC + +# db encrypt +from cryptography.fernet import Fernet +#from pysqlcipher3 import dbapi2 as sqlite3 +# db encrypt + +from modules.track.logging import log +from modules.data.config import read as config_read +from modules.algorithms.uuid import generate as uuid_generate + +class connect(): + def __init__(self): + self.path = config_read("database", "Path") + + def create(self, obj): + self.con = sqlite3.connect(self.path) + self.cur = self.con.cursor() + + if obj != None: + obj.con = self.con + obj.cur = self.cur + + def commit(self): + self.con.commit() + + def close(self): + self.con.commit() + self.con.close() + + def execute(self, command, values=None): + cur = self.con.cursor() + cur.execute(command, values) + self.close() + +# Table creation +class create(): + def __init__(self): + self.path = config_read("database", "Path") + self.en_path = config_read("database", "EncryptedPath") + + def tables(self): + decrypted_database = os.path.exists(self.path) + encrypted_database = os.path.exists(self.en_path) + if decrypted_database or encrypted_database: + return + + con = sqlite3.connect(self.path) + self.cur = con.cursor() + + tables = [self.auth_credentials, self.auth_tokens, self.profile , self.friends, self.occupations, self.occupation_requests, self.teams, self.team_leaders, self.posts, self.comments, self.post_impressions, self.comment_impressions, self.time_slots, self.notifications, self.notifications_sent] + for table in tables: + table() + + def auth_credentials(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS auth_credentials ( + user_id TEXT NOT NULL PRIMARY KEY, + username TEXT NOT NULL, + password TEXT NOT NULL, + level TEXT NOT NULL, + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + + def auth_tokens(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS auth_tokens( + user_id TEXT NOT NULL, + token TEXT NOT NULL PRIMARY KEY, + token_expire REAL NOT NULL, + FOREIGN KEY (user_id) + REFERENCES auth_credentials (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + + def profile(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS profile ( + user_id TEXT NOT NULL PRIMARY KEY, + occupation_id TEXT, + name TEXT, + picture TEXT, + biography TEXT, + role TEXT, + num_friends INTEGER DEFAULT 0, + FOREIGN KEY (occupation_id) + REFERENCES occupations (occupation_id) + ON UPDATE CASCADE + ON DELETE SET NULL + ) + """) + + def friends(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS friends ( + user_id TEXT NOT NULL, + friend_id TEXT NOT NULL, + approved BOOLEAN, + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + FOREIGN KEY (friend_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + PRIMARY KEY (user_id, friend_id) + ) + """) + + def occupations(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS occupations ( + occupation_id TEXT NOT NULL PRIMARY KEY, + name TEXT NOT NULL, + description TEXT + ) + """) + + def occupation_requests(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS occupation_requests ( + user_id TEXT NOT NULL PRIMARY KEY, + occupation_id TEXT NOT NULL, + approved BOOLEAN DEFAULT False NOT NULL, + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + FOREIGN KEY (occupation_id) + REFERENCES occupations (occupation_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + + def teams(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS teams ( + team_id TEXT NOT NULL PRIMARY KEY, + name TEXT NOT NULL, + occupation_id TEXT, + user_id TEXT, + FOREIGN KEY (occupation_id) + REFERENCES occupations (occupation_id) + ON UPDATE CASCADE + ON DELETE CASCADE + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + + def team_leaders(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS team_leaders ( + user_id TEXT NOT NULL, + team_id TEXT NOT NULL, + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + FOREIGN KEY (team_id) + REFERENCES teams (team_id) + ON UPDATE CASCADE + ON DELETE CASCADE + PRIMARY KEY (user_id, team_id) + ) + """) + + def posts(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS posts ( + post_id TEXT NOT NULL PRIMARY KEY, + user_id TEXT NOT NULL, + content TEXT NOT NULL, + caption TEXT, + date TEXT NOT NULL, + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + + def comments(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS comments ( + comment_id TEXT NOT NULL PRIMARY KEY, + post_id TEXT NOT NULL, + user_id TEXT NOT NULL, + content TEXT NOT NULL, + FOREIGN KEY (post_id) + REFERENCES posts (post_id) + ON UPDATE CASCADE + ON DELETE CASCADE + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + + def post_impressions(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS post_impressions ( + impression_id TEXT NOT NULL PRIMARY KEY, + post_id NOT NULL, + user_id NOT NULL, + type NOT NULL, + FOREIGN KEY (post_id) + REFERENCES posts (post_id) + ON UPDATE CASCADE + ON DELETE CASCADE + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + + def comment_impressions(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS comment_impressions ( + impression_id TEXT NOT NULL PRIMARY KEY, + comment_id NOT NULL, + user_id NOT NULL, + type NOT NULL, + FOREIGN KEY (comment_id) + REFERENCES comments (comment_id) + ON UPDATE CASCADE + ON DELETE CASCADE + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + + def time_slots(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS time_slots ( + date TEXT NOT NULL PRIMARY KEY, + start FLOAT NOT NULL, + end FLOAT NOT NULL + ) + """) + + def notifications(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS notifications ( + notification_id TEXT NOT NULL PRIMARY KEY, + target_id TEXT NOT NULL, + title TEXT NOT NULL, + content TEXT, + time_created FLOAT NOT NULL, + expire_after FLOAT NOT NULL + ) + """) + + def notifications_sent(self): + self.cur.execute(""" + CREATE TABLE IF NOT EXISTS notifications_sent ( + notification_id TEXT NOT NULL, + user_id TEXT NOT NULL, + time_sent FLOAT, + sent BOOLEAN DEFAULT False NOT NULL, + PRIMARY KEY (notification_id, user_id) + FOREIGN KEY (notification_id) + REFERENCES notifications (notification_id) + ON UPDATE CASCADE + ON DELETE CASCADE + FOREIGN KEY (user_id) + REFERENCES profile (user_id) + ON UPDATE CASCADE + ON DELETE CASCADE + ) + """) + +class encryption(): + def __init__(self, session): + self.key = key() + # needs to pass num_shares and min_shares + self.session = session + + self.sss_enabled = config_read("database", "ShamirSecretSharing") + self.en_config_path = config_read("database", "EncryptionConfigPath") + self.db_path = config_read("database", "Path") + self.en_db_path = config_read("database", "EncryptedPath") + + def mode(self): + # uses a large amount of logic statements to figure out what mode the server should enter on launch + # additionally what flags it should launch with + encryption_enabled = config_read("database", "Encrypt") + db_encrypted = self.key.is_db_encrypted() + + mode = None + flags = [] + if encryption_enabled: + if db_encrypted: + mode = "decrypt" + else: + success = self.encrypt() + if success: + mode = "decrypt" + else: + exit() + else: + if db_encrypted: + mode = "decrypt" + flags = ["forever"] + else: + mode = "normal" + self.session.db_encrypted = False + + self.session.mode = mode + self.session.flags = flags + + def encrypt(self, flags=[]): + if self.session.password: + password = self.session.password + else: + password = self._generate() + + if not password: + log("FAIL", "Could not encrypt database, something went wrong, see logs for details") + return False + + scheme = self.key.read_db_scheme(password) + with open(self.db_path, "rb") as db: + db_data = db.read() + + # create new encrypted database + log("INFO", "Encrypting database") + en_db_data = scheme.encrypt(db_data) + with open(self.en_db_path, "wb") as en_db: + en_db.write(en_db_data) + + # delete unecrypted database + os.remove("data/database.db") + log("INFO", "Deleted unencrypted database") + return True + + def decrypt(self, data, flags=[]): + min_shares = config_read('database', 'MinimumShares') + if "sss" in flags: + password = int(shares(min_shares).get_key(data['shares'])) + else: + password = int(data['password']) + + scheme = self.key.read_db_scheme(password) + if not scheme: + return False + + # decrypting the databsae raw bytes + with open(self.en_db_path, "rb") as en_db: + en_db_data = en_db.read() + + db_data = scheme.decrypt(en_db_data) + with open(self.db_path, "wb") as db: + db.write(db_data) + + if not self._database_read(): + log("FAIL", "Decryption of database failed, see logs for details") + return False + log("INFO", "Decryption of database successful") + + self.session.password = password + for flag in flags: + if flag == "forever": + log("WARN", "Permanent decryption of the database") + self.session.encrypt_on_shutdown = False + self.key.delete() + elif flag == "sss": + with open(self.en_config_path, "w") as en_config: + en_config.write(str(password)) + log("WARN", f"You decrypted the database using Shamir secret shares, your master password has been reconstructed and can be found on the server at the location: {self.en_config_path}. Please remember to delete this file after reading") + + self.session.db_encrypted = False + self.session.mode = "normal" + return True + + def _generate(self): + options = self._read_config() + if not self._config_check(options): + log("FAIL", "Could not generate encryption scheme, something wrong in config file or with maseter password") + return None + else: + options['password'] = int(options['password']) + if self.sss_enabled: + options['num_shares'] = int(options['num_shares']) + options['min_shares'] = int(options['min_shares']) + + self.key.generate_key_file(options['password']) + + if self.sss_enabled: + log("INFO", "Shamir Secret Sharing enabled, generating shares") + sss = shares(options['min_shares'], options['num_shares']) + sss_success = sss.generate_shares(options['password']) + if not sss_success: + log("FAIL", "Something went wrong generating shamir secret shares, see log for details") + return None + + log("INFO", "Deleting encryption configuration file containing master password") + os.remove(self.en_config_path) + return options['password'] + + def _read_config(self): + num_shares = config_read("database", "NumberOfShares") + min_shares = config_read("database", "MinimumShares") + options = {} + try: + with open(self.en_config_path, "r") as config: + log("INFO","Reading encryption configuration file") + options['password'] = config.read() + + if self.sss_enabled: + options['num_shares'] = num_shares + options['min_shares'] = min_shares + except: + return None + + return options + + def _config_check(self, options): + # checking if the file exists + try: + en_config = open(self.en_config_path, "r") + en_config.close() + except: + log("FAIL", f"Encryption config could not be found at {self.en_config_path}") + return False + + # check config contents + try: + log("INFO", "Testing master password type (must be int)") + master_pass = int(options['password']) + if len(options) == 1: + return True + elif self.sss_enabled and len(options) == 3: + log("INFO", "Testing number of shares type (must be integer)") + num_shares = int(options['num_shares']) + log("INFO", "Testing minimum shares type (must be integer)") + min_shares = int(options['min_shares']) + + if num_shares < 20 and min_shares < 7: + return True + else: + log("WARN", "SSS number of shares is to large or minimum shares is to large") + return False + else: + log("WARN", "Something went wrong reading config file, check the docs for a guide") + return False + except: + log("WARN", "The master password, number of shares and minimum shares all must be integers") + return False + + def _database_read(self): + try: + db = connect() + db.create(self) + db.cur.execute("SELECT * FROM time_slots") + return True + except: + return False + +class key(): + def __init__(self): + self.key_path = config_read("database", "KeyPath") + self.db_path = config_read("database", "Path") + self.en_db_path = config_read("database", "EncryptedPath") + self.salt_path = config_read("database", "SaltPath") + + def _save_salt(self, salt): + with open(self.salt_path, "wb") as salt_file: + salt_file.write(salt) + + def _read_salt(self): + try: + with open(self.salt_path, "rb") as salt_file: + salt = salt_file.read() + return salt + except: + return None + + def _pass_to_scheme(self, password): + password = str(password).encode() + salt = self._read_salt() + if not salt: + salt = os.urandom(16) + self._save_salt(salt) + + kdf = PBKDF2HMAC( + algorithm=hashes.SHA256(), + length=32, + salt=salt, + iterations=480000, + ) + key = base64.urlsafe_b64encode(kdf.derive(password)) + scheme = Fernet(key) + + return scheme + + def read_db_scheme(self, password): + file_scheme = self._pass_to_scheme(password) + + with open(self.key_path, "r") as key_file: + en_password = key_file.read() + + db_scheme = None + try: + password = file_scheme.decrypt(en_password) + db_scheme = self._pass_to_scheme(password) + except: + log("WARN", "Provided password is wrong or something is wrong with the database key") + return db_scheme + + def generate_key_file(self, password): + #db_password = bytes(uuid_generate().replace("-", "").encode()) + db_password = uuid_generate().replace("-", "").encode() + file_scheme = self._pass_to_scheme(password) + en_db_password = str(file_scheme.encrypt(db_password).decode()) + with open(self.key_path, "w") as key_file: + key_file.write(en_db_password) + + def delete(self): + os.remove(self.salt_path) + os.remove(self.key_path) + os.remove(self.en_db_path) + + def is_db_encrypted(self): + try: + db = open(self.en_db_path, "rb") + return True + except: + return False + +class ShareStruct(ctypes.Structure): + __fields__ = [("y", ctypes.c_longlong), ("x", ctypes.c_int)] + +# this class is mainly geared towards acting as an interface for hte c++ code +class shares(): + def __init__(self, min_shares, num_shares=None): + if num_shares: + self.num_shares = int(num_shares) + self.min_shares = int(min_shares) + self.shares_path = config_read("database", "SharesPath") + + def _dict_to_c_array(self, share_list): + c_share_array = ((ctypes.c_longlong*2)*self.min_shares) + share_array = [] + + for i in range(len(share_list)): + c_share = (ctypes.c_longlong*2)(*[share_list[i]['num'], share_list[i]['secret']]) + share_array.append(c_share) + + c_share_array = ((ctypes.c_longlong*2)*len(share_list))(*share_array) + return c_share_array + + def generate_shares(self, password): + libname = pathlib.Path().absolute() / "modules/data/libcppsss.so" + c_lib = ctypes.CDLL(libname) + + c_lib.newSecretInternal.argtypes = [ctypes.c_longlong, ctypes.c_int, ctypes.c_int, ctypes.POINTER(ctypes.c_char)] + c_lib.newSecretInternal.restypes = None + + path_ptr = ctypes.c_char_p(self.shares_path.encode('utf-8')) + c_lib.newSecretInternal(password, self.num_shares, self.min_shares, path_ptr) + + success = self.verify(password) + return success + + def get_key(self, share_list): + libname = pathlib.Path().absolute() / "modules/data/libcppsss.so" + c_lib = ctypes.CDLL(libname) + + c_share_array = ((ctypes.c_longlong*2)*self.min_shares) + c_share_array_pointer = ctypes.POINTER(c_share_array) + + c_lib.solveInternal.argtypes = [c_share_array_pointer, ctypes.c_int] + c_lib.solveInternal.restypes = int + + new_share_array = ctypes.pointer(self._dict_to_c_array(share_list)) + result = c_lib.solveInternal(new_share_array, self.min_shares) + return result + + def verify(self, password): + # used to verify that the shamir secret shares generated can be used to reconstruct the original key + log("INFO", "Verifying share integrity") + # we essentially take a sample of the shares + # if all these samples work we assume any combination of said samples will + # this works well since we test the combination of all hte smallest numbers and all teh largest + # the only reason a set of shares wouldnt work is because they have become to large and c++ starts to lose accuracy + # if this doesnt happen then its safe to assume all shares work + shifts = self.num_shares - self.min_shares + + for i in range(shifts): + top = i + self.min_shares + + shares_used = "" + for num_share in range(i, top): + shares_used += str(num_share) + ", " + shares_used = shares_used[:-2] + + log("INFO", f"Attempting to generate original password with shares: {shares_used}") + share_list = [] + + for j in range(i, top): + # reads the shares from their files + path = self.shares_path + f"share-{j+1}.txt" + with open(path, "r") as share: + + try: + x = int((share.readline().split(": "))[1]) + y = int((share.readline().split(": "))[1]) + share_list.append({'num': x, 'secret': y}) + except: + log("WARN", "Something went wrong reading one of the shares, have they been altered?") + break + + result = self.get_key(share_list) + + if result != password: + log("WARN", "A set of shares could not be used to generate the original password, try again or use a diffrent password") + return False + else: + log("INFO", f"{i+1}/{shifts} sets of shares successfully used to generate the original password") + + return True + + +def main(): + db = create() + db.path = "database.db" + db.tables() + +if __name__ == "__main__": + main() + +class retrieve(): + def __init__(self): + self.db = db_connect() + self.db.create(self) + + def level(self, identifier): + + self.cur.execute("SELECT level FROM auth_credentials WHERE username = ? OR user_id = ?", (identifier, identifier)) + rez = self.cur.fetchone() + if rez: + return rez[0] + + def user_id(self, username): + + self.cur.execute("SELECT user_id FROM auth_credentials WHERE username = ?", (username,)) + rez = self.cur.fetchone() + if rez: + rez = rez[0] + + return rez + + + def username(self, user_id): + + self.cur.execute("SELECT username FROM auth_credentials WHERE user_id = ?", (user_id,)) + rez = self.cur.fetchone() + if rez: + rez = rez[0] + + return rez + + def occupation_id(self, user_id): + + self.cur.execute("SELECT occupation_id FROM profile WHERE user_id = ?", (user_id,)) + rez = self.cur.fetchone() + if rez: + rez = rez[0] + + return rez diff --git a/server/modules/data/datetime.py b/server/modules/data/datetime.py new file mode 100644 index 0000000..bde1103 --- /dev/null +++ b/server/modules/data/datetime.py @@ -0,0 +1,125 @@ +from datetime import date, timedelta, datetime +import random +import eventlet +# MODULES +from modules.data.config import read as config_read +from modules.data.database import connect as db_connect +from modules.handler import outgoing +from modules.track.logging import log + +# MODULES + +class timestamp(): + def __init__(self): + self.time_limit = float(config_read("posts", "PostTimeLimit")) * 60 + self.db = db_connect() + self.db.create(self) + + @property + def start(self): + value = self.get_date_timestamp() + self._start = value + return self._start + @start.setter + def start(self, value): + value = self.get_date_timestamp() + self._start = value + + @property + def end(self): + value = self.get_date_timestamp(day_mod=1) - 1 + self._end = value + return self._end + @end.setter + def end(self, value): + value = self.get_date_timestamp(day_mod=1) - 1 + self._end = value + + @property + def now(self): + value = self.get_timestamp() + self._now = value + return value + @now.setter + def now(self, value): + value = self.get_timestamp() + self._now = value + + @property + def post_slot_start(self): + value = self.get_slot()['start'] + self._post_slot_start = value + return self._post_slot_start + @post_slot_start.setter + def post_slot_start(self, value): + self._post_slot_start = self._post_slot_start + + @property + def post_slot_end(self): + value = self.get_slot()['end'] + self._post_slot_end = value + return self._post_slot_end + @post_slot_end.setter + def post_slot_end(self, value): + self._post_slot_end = self._post_slot_end + + @property + def date(self): + date = str(datetime.now().date()) + self._date = date + return self._date + @date.setter + def date(self, value): + self._date = value + + def get_date_timestamp(self, year_mod=0, month_mod=0, day_mod=0, *args, **kwargs): + modifier = [year_mod, month_mod, day_mod] + + now_mod = (datetime.now()+timedelta(days=day_mod)) + date = (str(now_mod.date()).replace("-0", "-")).split("-") + date = [int(string) for string in date] + + timestamp = datetime(date[0], date[1], date[2]).timestamp() + + return timestamp + + def get_timestamp(self): + now = (float(datetime.now().timestamp())) + return now + + def generate_slot(self, data=None): + for i in range(2): + if i == 0: + date = str(datetime.now().date()) + start = self.get_date_timestamp() + else: + now_mod = (datetime.now()+timedelta(days=1)) + date = (str(now_mod.date())) + start = self.get_date_timestamp(0, 0, 1) + + self.cur.execute("SELECT date FROM time_slots WHERE date=?", (date,)) + if not self.cur.fetchone(): + log("INFO", f"Generating time slot for {date}") + + day_start = start + int(config_read("posts", "DayStart")) * 60 * 60 + day_end = start + int(config_read("posts", "DayStart")) * 60 * 60 + slot_start = random.randint(day_start, day_end) + slot_end = slot_start + self.time_limit + self.cur.execute("INSERT INTO time_slots (date, start, end) VALUES (?, ?, ?)", (date, slot_start, slot_end)) + self.db.commit() + + def get_slot(self): + info = None + + date = str(datetime.now().date()) + self.cur.execute("SELECT start, end FROM time_slots WHERE date=?", (date,)) + rez = self.cur.fetchone() + if rez: + info = {'start':rez[0], 'end':rez[1]} + return info + + def is_valid_time(self): + if (self.now < self.post_slot_end) and (self.now >= self.post_slot_start): + return True + return False + diff --git a/server/modules/data/libcppsss.so b/server/modules/data/libcppsss.so new file mode 100644 index 0000000..5943799 Binary files /dev/null and b/server/modules/data/libcppsss.so differ diff --git a/server/modules/data/sss.cpp b/server/modules/data/sss.cpp new file mode 100644 index 0000000..ce50e55 --- /dev/null +++ b/server/modules/data/sss.cpp @@ -0,0 +1,390 @@ +#include +# include +# include +# include +# include +# include +#include +using namespace std; + +typedef long long int Lint; // 64 bits +typedef double Ldouble; +struct security { + int num_shares; + int num_required; +}; + +struct shareStruct { + int x; + Lint y; +}; + +bool isPrime(Lint n) { + int flag = 0; + for (int i = 2; i <= n / i; ++i) { + if (n % i == 0) { + flag = 1; + break; + } + } + if (flag == 0) return true; + else return false; +} + +Lint genRandInt(int n) { + // Returns a random number + // between 2**(n-1)+1 and 2**n-1 + //long max = (long)powl(2, n) - 1; + //long min = (long)powl(2, n - 1) + 1; + long max = (long)pow(2, n) - 1; + long min = (long)pow(2, n - 1) + 1; + Lint result = min + (rand() % ( max - min + 1 ) ); + return result; +} + +Lint genPrime() { + Lint prime = 10; + + while (isPrime(prime) == false) { + int complexity = 50; + prime = genRandInt(complexity); + } + return prime; +} + +int* encodeSecret(int* poly, const int secret, const int num_required) { + poly[num_required-1] = secret; + return poly; +} + +Lint getPolyY(const int* poly, int poly_len, int poly_x, const Lint prime) { + Lint total = 0; + Lint poly_y = 0; + + for (int i=0; i" the entire server is notified + + notification_data = {'title': title, 'content': content, 'target_id': target, "expire_after": post_time_limit*60} + notification().create(notification_data) + notification_created = True + log("INFO", "Sent post time notifications") + else: + notification_created = False + + return notification_created + +def notification_remove(db_con): + db_con.cur.execute("SELECT notification_id, time_created, expire_after FROM notifications") + rez = db_con.cur.fetchall() + if rez: + for notif in rez: + if notif[1] + notif[2] < timestamp().now: + notification(notification_id=notif[0]).delete() + +def startup_notif(): + server_code = config_read('miscellaneous', 'servercode') + notif_data = {'target_id': "all-"+server_code, 'title': "Server is up", 'content': "The server is now on and functioning", 'expire_after': 180} + notification().create(notif_data) + +def server_service(session): + db = db_connect() + db.create(None) + log("INFO", f"Starting server background service") + + while session.mode != "normal": + eventlet.sleep(1) + log("INFO", "Server mode normal, continuing startup") + + final_startup(session) + startup_notif() + while True: + # keeps the service running forever + post_notification = False + post_notif_title = "post-" + config_read('miscellaneous','ServerCode') + db.cur.execute("SELECT time_created FROM notifications WHERE title=?", (post_notif_title,)) + rez = db.cur.fetchall() + if rez: + for notif in rez: + if timestamp().start < notif[0] and timestamp().end > notif[0]: + post_notification = True + + today_end = timestamp().end + + while timestamp().now < today_end: + # keeps running this loop until the end of the day then it returns to the while above on the start of the new day + #print(f"now: {timestamp().now}") + eventlet.sleep(10) + # removes expired notifications + notification_remove(db) + + if not post_notification: + post_notification = post_time_notification() diff --git a/server/modules/start/__init__.py b/server/modules/start/__init__.py new file mode 100644 index 0000000..c575d65 --- /dev/null +++ b/server/modules/start/__init__.py @@ -0,0 +1 @@ +__all__ = ['start'] diff --git a/server/modules/start/__pycache__/__init__.cpython-311.pyc b/server/modules/start/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..fd66ecb Binary files /dev/null and b/server/modules/start/__pycache__/__init__.cpython-311.pyc differ diff --git a/server/modules/start/__pycache__/start.cpython-311.pyc b/server/modules/start/__pycache__/start.cpython-311.pyc new file mode 100644 index 0000000..a73aa6c Binary files /dev/null and b/server/modules/start/__pycache__/start.cpython-311.pyc differ diff --git a/server/modules/start/start.py b/server/modules/start/start.py new file mode 100644 index 0000000..ddaf322 --- /dev/null +++ b/server/modules/start/start.py @@ -0,0 +1,36 @@ +from modules.data.database import create as db_create +from modules.data.database import encryption +from modules.data.config import read as config_read +from modules.track.logging import log +import os + +def main(session): + create_directories() + log("INFO", "Ensuring server directories") + + from modules.data.config import create as config_create + log("INFO", "Ensuring config file") + config_create() + + log("INFO", "Ensuring database") + db_create().tables() + + if session.db_encrypted: + log("INFO", "Checking encryption") + encryption(session).mode() + +def final_startup(session): + from modules.data.datetime import timestamp as datetime_timestamp + datetime_timestamp().generate_slot() + +def create_directories(): + paths = ["data", "data/images"] + if config_read("database", "ShamirSecretSharing"): + paths = ["data", "data/images", "data/shares/"] + for path in paths: + if not os.path.exists(path): + os.mkdir(path) + log("INFO", f"Created new directory: {path}") + +if __name__ == "__main__": + main() diff --git a/server/modules/track/__init__.py b/server/modules/track/__init__.py new file mode 100644 index 0000000..31ce2ea --- /dev/null +++ b/server/modules/track/__init__.py @@ -0,0 +1 @@ +__all__ = ['logging'] diff --git a/server/modules/track/__pycache__/__init__.cpython-311.pyc b/server/modules/track/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..9d8c922 Binary files /dev/null and b/server/modules/track/__pycache__/__init__.cpython-311.pyc differ diff --git a/server/modules/track/__pycache__/logging.cpython-311.pyc b/server/modules/track/__pycache__/logging.cpython-311.pyc new file mode 100644 index 0000000..d6a7dda Binary files /dev/null and b/server/modules/track/__pycache__/logging.cpython-311.pyc differ diff --git a/server/modules/track/logging.py b/server/modules/track/logging.py new file mode 100644 index 0000000..4945574 --- /dev/null +++ b/server/modules/track/logging.py @@ -0,0 +1,109 @@ +from datetime import datetime +from os.path import exists + +class log(): + def __init__(self, level, message): + if not hasattr(self, "message_type"): + self.message_type = "log" + self.time = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ") + self.level = level + self.message = message + self.path = "data/log.txt" + + if self.message_type == "log": + self._create() + + def log_file_exist(self): + file_exists = exists(self.path) + return file_exists + + def create(self): + # here for legacy support + # old version required a specific call to log(*info).create + # this has since been revambed + pass + + def _create(self, log_string=None): + if not log_string: + log_string = f"{self.time} | {self.level} | {self.message}" + + if not self.log_file_exist(): + with open(self.path, 'w') as log_file: + log_file.write(f"{self.time} | INFO | Log file created at '{self.path}'") + else: + with open(self.path, 'a') as log_file: + log_file.write(log_string) + self.output(log_string) + + def read(self, amount): + with open(self.path, 'r') as log_file: + entries = log_file.readlines() + if amount == None: + return entries + entries = entries[len(entries)-amount:] + return entries + + def output(self, log_string): + if self.message_type == "log": + print(log_string) + +class status(log): + def __init__(self, level, message, interface=None): + self.message_type = "status" + super().__init__(level, message) + self.status = {"time":self.time, "level":self.level, "message":self.message} + if interface: + self.interface = interface + self.process() + + # LEGACY METHODS + def status_update(self, obj): + status = {"time":self.time, "level":self.level, "message":self.message} + if obj != None: + obj.status = status + obj.status_string = f"{self.time} | {self.level} | {self.message}" + + return status + + @staticmethod + def send_status(sio, sid, status): + sio.emit('recv_status', status, room=sid) + # LEGACY METHODS + + def process(self): + self.__format() + self.__object_update() + + self._create(self.log_string) + self.interface.send_status(self.status) + + def __object_update(self): + if self.interface.obj != None: + self.interface.obj.status = self.status + self.interface.obj.status_string = self.status_string + + def __format(self): + self.status = {"time":self.time, "level":self.level, "message":self.message} + self.status_string = f"{self.time} | {self.level} | {self.message}" + + user_id = self.interface.user_id + sid = self.interface.sid + self.log_string = f"{self.time} | {self.level} | {self.interface.user_id} | {self.message}" + +class status_interface(log): + def __init__(self, sio, sid, user_id="Unknown", obj=None): + self.sio = sio + self.sid = sid + self.user_id = user_id + self.obj = obj + self.path = "data/actions_log.txt" + + def send_status(self, status): + self.sio.emit('recv_status', status, room=self.sid) + +def main(): + entry = logging("INFO", "test log creation") + entry.path = "log.txt" + +if __name__ == "__main__": + main() diff --git a/server/modules/user/__init__.py b/server/modules/user/__init__.py new file mode 100644 index 0000000..9ba3267 --- /dev/null +++ b/server/modules/user/__init__.py @@ -0,0 +1 @@ +__all__ = ['info', 'generate', 'content', 'start'] diff --git a/server/modules/user/__pycache__/__init__.cpython-310.pyc b/server/modules/user/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..d3e1c22 Binary files /dev/null and b/server/modules/user/__pycache__/__init__.cpython-310.pyc differ diff --git a/server/modules/user/__pycache__/__init__.cpython-311.pyc b/server/modules/user/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..91d7583 Binary files /dev/null and b/server/modules/user/__pycache__/__init__.cpython-311.pyc differ diff --git a/server/modules/user/__pycache__/content.cpython-311.pyc b/server/modules/user/__pycache__/content.cpython-311.pyc new file mode 100644 index 0000000..cffe6dd Binary files /dev/null and b/server/modules/user/__pycache__/content.cpython-311.pyc differ diff --git a/server/modules/user/__pycache__/generate.cpython-311.pyc b/server/modules/user/__pycache__/generate.cpython-311.pyc new file mode 100644 index 0000000..a9dbd10 Binary files /dev/null and b/server/modules/user/__pycache__/generate.cpython-311.pyc differ diff --git a/server/modules/user/__pycache__/info.cpython-310.pyc b/server/modules/user/__pycache__/info.cpython-310.pyc new file mode 100644 index 0000000..0d9b4d2 Binary files /dev/null and b/server/modules/user/__pycache__/info.cpython-310.pyc differ diff --git a/server/modules/user/__pycache__/info.cpython-311.pyc b/server/modules/user/__pycache__/info.cpython-311.pyc new file mode 100644 index 0000000..baf2ddf Binary files /dev/null and b/server/modules/user/__pycache__/info.cpython-311.pyc differ diff --git a/server/modules/user/__pycache__/start.cpython-311.pyc b/server/modules/user/__pycache__/start.cpython-311.pyc new file mode 100644 index 0000000..cc43f9a Binary files /dev/null and b/server/modules/user/__pycache__/start.cpython-311.pyc differ diff --git a/server/modules/user/content.py b/server/modules/user/content.py new file mode 100644 index 0000000..dd98f84 --- /dev/null +++ b/server/modules/user/content.py @@ -0,0 +1,1077 @@ +from modules.user.info import table, auth +from modules.user.info import user_id as info_user_id +from modules.user.info import auth as info_auth +from modules.user.info import friend as info_friends +from modules.user.info import team as info_team + +from modules.algorithms.uuid import generate as uuid_generate +from modules.algorithms.univ import dict_key_verify + +from modules.data.config import read as config_read +from modules.data.database import connect as db_connect +from modules.data.datetime import timestamp + +from modules.track.logging import status + +from PIL import Image +import io + +class user_content(table): + def __init__(self, user_id=None, username=None, occupation_id=None, team_id=None, comment_id=None, post_id=None, content=None, caption=None, *args, **kwargs): + if not self.allowed_columns: + self.allowed_columns = ['post_id', 'content', 'caption', 'username', 'team_id', 'date'] + super().__init__(user_id=user_id, username=username, occupation_id=occupation_id, team_id=team_id, post_id=post_id, content=content) + self.post_id = post_id + self.comment_id = comment_id + self.content = content + self.caption = caption + + @property + def id(self): + return self._id + @id.setter + def id(self, value): + if type(value) == str: + self.cur.execute("SELECT username FROM auth_credentials WHERE user_id = ?", (value,)) + if self.cur.fetchone(): + self.cur.execute("SELECT post_id FROM posts WHERE user_id=? AND date=?", (value, self.date)) + rez = self.cur.fetchone() + if rez: + self.post_id = rez[0] + else: + value = None + else: + value = None + self._id = value + + @property + def post_id(self): + return self._post_id + @post_id.setter + def post_id(self, value): + self.cur.execute("SELECT content FROM posts WHERE post_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + self._post_id = value + + @property + def comment_id(self): + return self._comment_id + @comment_id.setter + def comment_id(self, value): + self.cur.execute("SELECT content FROM comments WHERE comment_id=?", (value,)) + if not self.cur.fetchone(): + value = None + self._comment_id = value + + @property + def occupation_id(self): + return self._occupation_id + @occupation_id.setter + def occupation_id(self, value): + team_value = None + self.cur.execute("SELECT name FROM occupations WHERE occupation_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + else: + self.cur.execute("SELECT team_id FROM teams WHERE occupation_id = ?", (value,)) + rez = self.cur.fetchone() + if rez: + team_value = rez[0] + + self.team_id = team_value + self._occupation_id = value + + @property + def content(self): + return self._content + @content.setter + def content(self, value): + if type(value) != str: + value = None + self._content = value + +class notification(table): + @property + def notification_id(self): + return self._notification_id + @notification_id.setter + def notification_id(self, value): + self.cur.execute("SELECT notification_id FROM notifications WHERE notification_id=?", (value,)) + if not self.cur.fetchone(): + value = None + self._notification_id = value + + @property + def target_id(self): + return self._target_id + @target_id.setter + def target_id(self, value): + self.cur.execute("SELECT user_id FROM auth_credentials WHERE user_id=?", (value,)) + user = self.cur.fetchone() + self.cur.execute("SELECT team_id FROM teams WHERE team_id=?", (value,)) + team = self.cur.fetchone() + if value == "all-" + self.server_code: + all_server = True + else: + all_server = False + level = value in ['member', 'management', 'admin'] + + if not (user or team or all_server or level): + value = None + self._target_id = value + + @property + def title(self): + return self._title + @title.setter + def title(self, value): + if type(value) != str: + value = None + self._title = value + + @property + def content(self): + return self._content + @content.setter + def content(self, value): + if type(value) != str: + value = None + self._content = value + + @property + def expire_after(self): + return self._expire_after + @expire_after.setter + def expire_after(self, value): + if type(value) != float and type(value) != int: + value = None + self._expire_after = value + + def __init__(self, user_id=None, username=None, notification_id=None, target_id=None, title=None, content=None, expire_after=None): + self.allowed_columns = ['notification_id', 'target_id', 'title', 'content', 'time_created'] + super().__init__(user_id=user_id, username=username) + self.notification_id = notification_id + self.target_id = target_id + self.title = title + self.content = content + self.expire_after = expire_after + + def get_target_group(self, data=None): + # finds out the type of id thats been provided + # below the list displays the types that can be provided + info = {'type': None, 'id': None} + types = ['server', 'user', 'team', 'level'] + # "server" means that everyone is the target for the notificaion + + if dict_key_verify(data, 'target_id'): + self.target_id = data['target_id'] + + if self.target_id: + if self.target_id == "all-"+self.server_code: + # "all-" is the unique way of identifying a notification to the entire server + # its structured this way to stop any collisions with a user who might call themselves "all" or "server" + # as such the server code (usually a string of numbers or 12345 by default) is banned from use in usernames + info = {'type': types[0], 'id': self.target_id} + elif self.target_id in ['member', 'management', 'admin']: + info = {'type': types[3], 'id': self.target_id} + else: + self.cur.execute("SELECT username FROM auth_credentials WHERE user_id = ?", (self.target_id,)) + rez = self.cur.fetchone() + if rez: + username = auth(user_id=self.target_id).get()['username'] + info = {'type': types[1], 'id': username} + + self.cur.execute("SELECT name FROM teams WHERE team_id = ?", (self.target_id,)) + rez = self.cur.fetchone() + if rez: + info = {'type': types[2], 'id': self.target_id} + + else: + info = None + + return info + + def get_targets(self, data=None): + # targets are the users that hte notifications should be sent to + # targets can be specified on creation as a number of diffrent things, for instance providing a team id allows the targeting of a team + # its implicit meaning its the servers job to find out what type of ID the user is providing + info = {'targets': None} + + if dict_key_verify(data, 'target_id'): + self.target_id = target_id + + if self.target_id: + target_group = self.get_target_group(self) + + if target_group['type'] == "user": + info['targets'] = [{'user_id':info_user_id(username=target_group['id']).get()['user_id']}] + else: + + if target_group['type'] == "server": + self.cur.execute("SELECT user_id FROM profile") + elif target_group['type'] == "team": + self.cur.execute("SELECT user_id FROM profile INNER JOIN teams USING(occupation_id) WHERE team_id=?", (target_group['id'],)) + elif target_group['type'] == "level": + self.cur.execute("SELECT user_id FROM auth_credentials WHERE level=?", (target_group['id'],)) + rez = self.cur.fetchall() + if rez: + info['targets'] = [{'user_id':target[0]} for target in rez] + else: + # status message + info = None + + return info + + def get_unsent(self, data=None): + info = {'notifications': None} + + #self.cur.execute("SELECT notification_id FROM notifications_sent WHERE user_id=? AND sent=?",(self.id, False)) + self.cur.execute("SELECT notification_id, time_created FROM notifications INNER JOIN notifications_sent USING(notification_id) WHERE user_id=? AND sent=?", (self.id, False)) + rez = self.cur.fetchall() + if rez: + info['notifications'] = [] + + queued_notifs = self._sort_notifications(rez) + for unsent in queued_notifs: + notification_info = notification(notification_id=unsent) + notification_info.columns = self.columns + notif_data = notification_info.get_notification()['notifications'][0] + info['notifications'].append(notif_data) + + if not self.id: + info = None + return info + + def _sort_notifications(self, notifs): + for i in range(len(notifs)): + if i < len(notifs)-2: + if notifs[i][1] < notifs[i+1][1]: + swap = notifs[i+1] + notifs[i+1] = notifs[i] + notifs[i] = swap + + notifs = [notif[0] for notif in notifs] + return notifs + + def get(self, data=None): + info = None + + if dict_key_verify(data, 'user_id'): + self.id = data['user_id'] + if dict_key_verify(data, 'target_id'): + self.target_id = data['target_id'] + if dict_key_verify(data, 'notification_id'): + self.notification_id = data['notification_id'] + + if self.notification_id: + info = self.get_notification() + elif self.id: + info = self.get_user() + else: + status("WARN", "Unable to fetch notifications, must provide a valid user or notification ID", self.statface) + + return info + + def get_user(self): + info = {'notifications':None} + + self.cur.execute("SELECT notification_id FROM notifications_sent WHERE user_id = ?", (self.id,)) + rez = self.cur.fetchall() + if rez: + info = {'notifications': []} + # rez could be user_notifs + for notif in rez: + notif_id = notif[0] + user_notification = notification(notification_id=notif_id) + user_notification.columns = self.columns + notification_info = user_notification.get_notification()['notifications'][0] + info['notifications'].append(notification_info) + else: + status("WARN", "No notifications exist for this user", self.statface) + else: + status("WARN", "No notifications exist for this user", self.statface) + + if not self.id: + status("WARN", "Unable to fetch notifications, invalid user provided", self.statface) + info = None + + return info + + def get_group(self, data=None): + info = {'notifications': None} + + if self.target_id: + self.cur.execute("SELECT notification_id FROM notifications WHERE target_id=?", (self.target_id,)) + rez = self.cur.fetchall() + if rez: + info['notifications'] = [{column: None for column in self.columns} for notif in rez] + for i, notif in enumerate(rez): + notification_info = notification(notification_id=notif[0]) + notification_info.columns = self.columns + notif_data = notification_info.get_notification()['notifications'][0] + info['notifications'][i] = notif_data + else: + # status message + info = None + return None + + def get_notification(self, data=None): + info = {'notifications': None} + info['notifications'] = [{column: None for column in self.columns}] + + if self.notification_id: + for column in self.columns: + self.cur.execute(f"SELECT {column} FROM notifications WHERE notification_id = ?", (self.notification_id,)) + rez = self.cur.fetchone() + if rez: + info_item = rez[0] + if column == "target_id": + info_item = self.get_target_group({'target_id': info_item})['id'] + info['notifications'][0][column] = rez[0] + else: + status("WARN", "Notification {column} unable to be fetched, something went wrong", self.statface) + else: + status("WARN", "No data requested to be fetched, check inputs", self.statface) + + else: + info = None + status("WARN", "Notification unable to be fetched, invalid notification ID provided", self.statface) + return info + + def load_notification(self, data=None): + # loads notifications into the "notification_sent" table. This is where notifications are queued for sending when their target next logs in + if dict_key_verify(data, 'notification_id'): + self.notification_id = data['notification_id'] + + if self.notification_id: + notification_info = notification(notification_id=self.notification_id) + notification_data = notification_info.get_notification()['notifications'][0] + + notification_info.target_id = self.target_id + target_data = notification_info.get_targets()['targets'] + if target_data: + for target in target_data: + self.cur.execute("INSERT INTO notifications_sent (notification_id, user_id) VALUES (?, ?)", (self.notification_id, target['user_id'])) + self.db.commit() + + def create(self, data=None): + if dict_key_verify(data, 'target_id'): + self.target_id = data['target_id'] + if dict_key_verify(data, 'title'): + self.title = data['title'] + if dict_key_verify(data, 'content'): + self.content = data['content'] + if dict_key_verify(data, 'expire_after'): + self.expire_after = data['expire_after'] + + notification_id = uuid_generate() + time_created = timestamp().now + + if self.title and self.target_id: + if not self.content: + self.content = self.title + status("WARN", "No notification content provided, setting content to title", self.statface) + if not self.expire_after: + self.expire_after = float(config_read(section="notifications", key="defaultexpiretime")) + status("WARN", "No notification expire after time provided, setting to default", self.statface) + + self.cur.execute("INSERT INTO notifications (notification_id, target_id, title, content, time_created, expire_after) VALUES (?, ?, ?, ?, ?, ?)", (notification_id, self.target_id, self.title, self.content, time_created, self.expire_after)) + self.db.commit() + status("INFO", "Notification successfully created", self.statface) + pre_load_notification_id = self.notification_id + self.load_notification({'notification_id': notification_id}) + self.notification_id = pre_load_notification_id + + else: + status("FAIL", "Unable to create notification, invalid title or target ID provided", self.statface) + + def delete(self, data=None): + if dict_key_verify(data, 'target_id'): + self.target_id = data['target_id'] + if dict_key_verify(data, 'notification_id'): + self.notification_id = data['notification_id'] + + if self.notification_id: + self.delete_notification(data) + elif self.target_id: + self.delete_group(data) + elif self.id: + self.delete_user(data) + else: + status("FAIL", "Unable to delete notification, invalid user or target/notification ID provided", self.statface) + + def delete_user(self, data=None): + if self.id: + self.cur.execute("SELECT notification_id FROM notifications_sent WHERE user_id=?", (self.id,)) + rez = self.cur.fetchall() + if rez: + for notif in rez: + notification_info = notification() + notification_info.delete_notification({'notification_id':notif[0]}) + else: + status("WARN", "User has no notifications to be deleted", self.statface) + else: + status("FAIL", "Unable to delete notification(s), something went wrong", self.statface) + else: + status("FAIL", "Unable to delete notification(s), invalid user provided", self.statface) + + def delete_group(self, data=None): + if self.target_id: + + self.cur.execute("SELECT notification_id FROM notifications WHERE target_id=?", (self.target_id,)) + rez = self.cur.fetchall() + if rez: + for notif in rez: + notification_info = notification(notification_id=notif[0]) + notification_info.delete_notification() + else: + status("WARN", "Target(s) have no notifications to be deleted", self.statface) + else: + status("FAIL", "Notification(s) unable to be deleted somethign went wrong", self.statface) + else: + status("FAIL", "Notification(s) unable to be deleted, invalid target ID provided", self.statface) + + def delete_notification(self, data=None): + if self.notification_id: + self.cur.execute("DELETE FROM notifications_sent WHERE notification_id=?", (self.notification_id,)) + self.db.commit() + status("INFO", "Succesfully deleted notification", self.statface) + else: + status("FAIL", "Unable to delete notification, invali notification ID provided", self.statface) + + def remove(self, data=None): + if self.notification_id: + self.cur.execute("DELETE FROM notifications_sent WHERE user_id = ? AND notification_id=?", (self.id, self.notification_id,)) + self.db.commit() + status("INFO", "Notification successfully removed", self.statface) + else: + status("FAIL", "Notification unable to be removed, invalid notification ID provided", self.statface) + +class post(user_content): + @property + def caption(self): + return self._caption + @caption.setter + def caption(self, value): + if type(value) != str: + value = None + self._caption = value + + @property + def content(self): + return self._content + @content.setter + def content(self, value): + image_formats = ['png', 'jpg'] + for form in image_formats: + try: + save_path = f"data/images/post_{self.id}_{self.date}.{form}" + with Image.open(io.BytesIO(value)) as recieved: + recieved.save(save_path) + break + except: + save_path = None + self._content = save_path + + def __init__(self, user_id=None, username=None, occupation_id=None, team_id=None, post_id=None, content=None, caption=None, *args, **kwargs): + self.allowed_columns = ['post_id', 'content', 'caption', 'username', 'date'] + super().__init__(user_id=user_id, username=username, occupation_id=occupation_id, team_id=team_id, post_id=post_id, content=content, caption=caption) + + def get_feed(self): + info = {"posts": None} + post_feeds = [] + + friend_posts_info = self.get_friends() + if dict_key_verify(friend_posts_info, "posts"): + friend_posts = friend_posts_info['posts'] + post_feeds.append(friend_posts) + status("INFO", "Succesfully fetched friends' post(s)", self.statface) + + team_posts_info = self.get_team() + if dict_key_verify(team_posts_info, "posts"): + team_posts = team_posts_info['posts'] + post_feeds.append(team_posts) + status("INFO", "Succesfully fetched team's post(s)", self.statface) + + for post_feed in post_feeds: + info = {"posts": []} + for post in post_feed: + info['posts'].append(post) + + return info + + def get(self): + info = {"posts":{column: None for column in self.columns}} + + for column in self.columns: + # gots per column for the sql querey instead of quereying every field + # this is so we can add only what the user requests as their is no easy way of identifying onces fetched from a result + # without hte user of "magic numbers" anyway + if column == "username": + column = "user_id" + self.cur.execute(f"SELECT {column} FROM posts WHERE post_id=?", (self.post_id,)) + rez = self.cur.fetchone() + append_item = rez[0] + if rez: + if column == "user_id": + column = "username" + append_item = auth(user_id=append_item).get()['username'] + elif column == "content": + with open(append_item, "rb") as content: + append_item = content.read() + info["posts"][column] = append_item + status("INFO", "Succesfully fetched {column} for requested post", self.statface) + else: + status("FAIL", "Could not fetch post data, invalid data provided", self.statface) + else: + status("WARN", "No post data requested to be fetched, check your inputs", self.statface) + + return info + + def get_memories(self): + info = {"posts":None} + self.cur.execute(f"SELECT post_id FROM posts WHERE user_id=?", (self.id,)) + rez = self.cur.fetchall() + + if rez: + info = {"posts":[{column: None for column in self.columns} for post in rez]} + for i, post_details in enumerate(rez): + post_info = post(post_id=post_details[0]) + post_info.columns = self.columns + info['posts'][i] = post_info.get()['posts'] + status("INFO", "Succesfully fetched post memories", self.statface) + elif self.id: + status("WARN", "No memories exist", self.statface) + + if not self.id: + status("FAIL", "Could not fetch memory data, invalid data provided or none exist", self.statface) + + return info + + def get_user(self): + info = {"posts":{column: None for column in self.columns}} + + self.cur.execute(f"SELECT post_id FROM posts WHERE user_id=? AND date=?", (self.id, self.date)) + rez = self.cur.fetchone() + if rez: + post_info = post(post_id=rez[0]) + post_info.columns = self.columns + info = post_info.get() + status("INFO", "Post(s) Succesfully fetched", self.statface) + else: + info["posts"] = None + status("WARN", "No post(s) exist for that user", self.statface) + + if not self.id or not self.date: + info = None + status("FAIL", "No posts fetched, invalid inputs", self.statface) + + return info + + def get_friends(self): + info = {'posts':None} + friends = info_friends(user_id=self.id).get() + if dict_key_verify(friends, 'friends'): + friends = friends['friends'] + info = {"posts":[{column: None for column in self.columns} for friend in friends]} + + for i, friend in enumerate(friends): + friend_info = post(username=friend['username']) + friend_info.columns = self.columns + data = friend_info.get_user()['posts'] + info["posts"][i] = data + else: + status("WARN", "Could not fetch friend(s) post(s), no friends exist", self.statface) + else: + status("WARN", "Could not fetch friend(s) post(s), no friends exist", self.statface) + + if not self.id: + info = None + status("FAIL", "Could not fetch friend(s) post(s), invalid data provided", self.statface) + else: + status("INFO", "Succesfully fetched friend(s) post(s)", self.statface) + + return info + + def get_team(self): + info = {"posts": None} + members_data = info_team(user_id=self.id, username=self.username, occupation_id=self.occupation_id, team_id=self.team_id) + members_info = members_data.get_members() + if members_info: + members = members_info['members'] + else: + status("WARN", "Team posts unable to be fetched, no other team members", self.statface) + members = None + info = None + + if members: + info = {"posts":[{column: None for column in self.columns} for member in members]} + + for i, member in enumerate(members): + member_info = post(username=member['username']) + member_info.columns = self.columns + data = member_info.get_user()['posts'] + + info['posts'][i] = data + + if not members_data.team_id: + status("FAIL", "Team posts unable to be fetched, invalid data provided", self.statface) + info = None + else: + status("INFO", "Team posts Succesfully fetched", self.statface) + else: + status("WARN", "Team posts unable to be fetched, no team members provided", self.statface) + + return info + + def get_permissions(self): + info = {"delete": False, "edit": False} + + subject = info_auth(user_id=self.id, items=['level', 'username']).get() + if subject['level'] == "management" or subject['level'] == "admin": + info['delete'] = True + if subject['level'] == "admin": + info['edit'] = True + + target_info = post(post_id=self.post_id, items=['username']).get() + if dict_key_verify(target_info, 'username'): + target_username = target_info['username'] + if subject['username'] == target_username: + info['delete'] = True + + target_team_info = info_team(username=target_username).get_leaders() + if dict_key_verify(target_team_info, 'leaders'): + target_leaders = target_team_info['leaders'] + if subject['username'] in target_leaders: + info['delete'] = True + + if not self.id or not self.post_id: + info = None + status("FAIL", "Permissions could not be fetched, invalid data provided", self.statface) + else: + status("INFO", "Permissions succesfully fetched", self.statface) + return info + + def set(self, data=None): + self.content = data['content'] + self.caption = None + caption_intended = False + + if dict_key_verify(data, 'caption'): + caption_intended = True + if len(data['caption']) <= 100: + self.caption = data['caption'] + post_id = uuid_generate() + + valid_time = timestamp().is_valid_time() + self.cur.execute("SELECT post_id FROM posts WHERE user_id=? AND date=?", (self.id, self.date)) + + if not self.cur.fetchone() and valid_time and ((caption_intended and self.caption) or (not caption_intended and not self.caption)): + self.cur.execute("INSERT INTO posts (post_id, user_id, content, caption, date) VALUES (?, ?, ?, ?, ?)", (post_id, self.id, self.content, self.caption, self.date)) + self.db.commit() + status("INFO", "Post successfully created", self.statface) + else: + status("FAIL", "Post could not be created, invalid data provided", self.statface) + + def delete(self): + if self.id and self.date: + self.cur.execute("SELECT post_id FROM posts WHERE user_id=? AND date=?", (self.id, self.date)) + rez = self.cur.fetchone() + if rez and not self.post_id: + self.post_id = rez[0] + + if self.post_id: + self.cur.execute("DELETE FROM posts WHERE post_id=?", (self.post_id,)) + self.db.commit() + status("INFO", "Post successfully deleted", self.statface) + else: + status("FAIL", "Post could not be deleted, invalid data provided", self.statface) + + def _sort(self, posts): + for post in posts: + if dict_key_verify(post, "post_id"): + num_likes = post_impressions(post_id=post['post_id']).count() + post['impression_count'] = num_likes + + if len(posts) < 2: + return posts + mid = len(posts) // 2 + + return __merge( + left=_sort(posts[:mid]), + right=_sort(posts[mid:])) + + def __merge(self, left, right): + if len(left) == 0: + return right + if len(right) == 0: + return left + + result = [] + index_left = index_right = 0 + while len(result) < len(left) + len(right): + if left[index_left]['impression_count'] <= right[index_right]['impression_count']: + result.append(left[index_left]) + index_left += 1 + else: + result.append(right[index_right]) + index_right += 1 + + if index_right == len(right): + result += left[index_left:] + break + if index_left == len(left): + result += right[index_right:] + break + +class comment(user_content): + def __init__(self, user_id=None, username=None, occupation_id=None, team_id=None, comment_id=None, post_id=None, content=None, *args, **kwargs): + self.allowed_columns = ['comment_id','post_id','username','content'] + super().__init__(user_id=user_id, username=username, occupation_id=occupation_id, team_id=team_id, comment_id=comment_id, post_id=post_id, content=content) + + def get(self): + info = {'comments':None} + + info['comments'] = {column: None for column in self.columns} + for column in self.columns: + if column == "username": + column = "user_id" + self.cur.execute(f"SELECT {column} FROM comments WHERE comment_id = ?", (self.comment_id,)) + rez = self.cur.fetchone() + if rez: + comment_info = rez[0] + if column == "user_id": + column = "username" + comment_info = auth(user_id=comment_info).get()['username'] + info['comments'][column] = comment_info + else: + status("FAIL", f"Comment {column} unable to be fetched, something went wrong", self.statface) + else: + status("WARN", "No data requested to be fetched, check inputs", self.statface) + + if not self.comment_id: + info = None + status("FAIL", "Comment unable to be fetched, invalid commentID provided", self.statface) + else: + status("INFO", "Succesfully fetched comment", self.statface) + + return info + + def get_post(self): + info = {'comments':None} + + self.cur.execute("SELECT comment_id FROM comments WHERE post_id=?", (self.post_id,)) + rez = self.cur.fetchall() + if rez: + info['comments'] = [{column: None for column in self.columns} for comment in rez] + + for i, comment in enumerate(rez): + self.comment_id = comment[0] + data = self.get() + info['comments'][i] = data['comments'] + else: + status("WARN", "No comments related to requested post", self.statface) + else: + status("FAIL", "Comment(s) unable to be fetched, something went wrong", self.statface) + + if not self.post_id: + info = None + status("FAIL", "Comment(s) unable to be fetched, invalid commentID provided", self.statface) + else: + status("INFO", "Succesfully fetched comment(s)", self.statface) + + return info + + def get_permissions(self): + info = {"delete": False, "edit": False} + + subject = info_auth(user_id=self.id, items=['level', 'username']).get() + if subject['level'] == "management" or subject['level'] == "admin": + info['delete'] = True + if subject['level'] == "admin": + info['edit'] = True + + target_info = comment(comment_id=self.comment_id, items=['username']).get() + if dict_key_verify(target_info, 'username'): + target_username = target_info['username'] + if subject['username'] == target_username: + info['delete'] = True + + target_team_info = info_team(username=target_username).get_leaders() + if dict_key_verify(target_team_info, 'leaders'): + target_leaders = target_team_info['leaders'] + if subject['username'] in target_leaders: + info['delete'] = True + + if not self.id or not self.comment_id: + info = None + status("FAIL", "Unable to get comment permissions, invalid user or commentID provided", self.statface) + else: + status("INFO", "Succesfully fetched comment permissions", self.statface) + return info + + def set(self, data=None): + comment_id = uuid_generate() + if dict_key_verify(data, 'content'): + self.content = data['content'] + + if self.content and self.post_id and self.id: + self.cur.execute("INSERT INTO comments (post_id, comment_id, user_id, content) VALUES (?,?,?,?)", (self.post_id, comment_id, self.id, self.content)) + self.db.commit() + status("INFO", "Succesfully created comment", self.statface) + + post_info = post(post_id=self.post_id).get()['posts'] + poster_id = info_user_id(post_info['username']).get()['user_id'] + notif_data = {'target_id': poster_id, 'title': "New comment on post", 'content': f"Someone commented on your post!"} + notification().create(notif_data) + else: + status("FAIL", "Could not create comment, invalid content, postID or user provided", self.statface) + + def delete(self): + if self.comment_id: + self.cur.execute("DELETE FROM comments WHERE comment_id=?", (self.comment_id,)) + self.db.commit() + status("INFO", "Succesfully deleted comment", self.statface) + else: + status("FAIL", "Could not delete comment, invalid commendID provided", self.statface) + +class impression(user_content): + # this class is inherited by post_impression and comment_impression + # because of this it uses attributes for the table names and the table fields + # they are baked into the sql string because these are NOT user defined and so therefor there is no security risk baking it into a string + @property + def impression_id(self): + return self._impression_id + @impression_id.setter + def impression_id(self, value): + self.cur.execute(f"SELECT impression_id FROM {self.table_name} WHERE impression_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + self._impression_id = value + + @property + def impression_type(self): + return self._impression_type + @impression_type.setter + def impression_type(self, value): + if not value in self.types: + value = None + self._impression_type = value + + @property + def table_name(self): + return self._table_name + @table_name.setter + def table_name(self, value): + if value != "post_impressions" and value != "comment_impressions": + value = None + self._table_name = value + if value: + self.attr_name = value.replace("impressions", "id") + + @property + def attr_name(self): + return self._attr_name + @attr_name.setter + def attr_name(self, value): + if value != "post_id" and value != "comment_id": + value = None + self._attr_name = value + if not self.table_name and value: + self.table_name = value.replace("id", "impressions") + + @property + def attr_id(self): + return self._attr_id + @attr_id.setter + def attr_id(self, value): + root_table = "comments" + if self.attr_name: + if "post" in self.attr_name: + root_table = "posts" + self.cur.execute(f"SELECT user_id FROM {root_table} WHERE {self.attr_name} = ?", (value,)) + if not self.cur.fetchone(): + value = None + else: + value = None + self._attr_id = value + + def __init__(self, user_id=None, username=None, comment_id=None, post_id=None, impression_id=None, impression_type=None, table_name=None, attr_name=None, attr_id=None, *args, **kwargs): + if not hasattr(self, "allowed_columns"): + self.allowed_columns = ['impression_id','username','type'] + super().__init__(user_id=user_id, username=username, post_id=post_id, comment_id=comment_id) + self.impression_id = impression_id + + if not hasattr(self, "types"): + self.types = ['like'] + if not hasattr(self, "table_name"): + self.table_name = table_name + if not hasattr(self, "attr_name"): + self.attr_name = attr_name + if not hasattr(self, "attr_id"): + self.attr_id = attr_id + + def get(self): + info = {'impressions':None} + info['impressions'] = [{column: None for column in self.columns}] + + for column in self.columns: + if column == "username": + column = "user_id" + self.cur.execute(f"SELECT {column} FROM {self.table_name} WHERE impression_id=?", (self.impression_id,)) + rez = self.cur.fetchone() + if rez: + rez_info = rez[0] + if column == "user_id": + column = "username" + rez_info = auth(user_id=rez_info, items=['username']).get()['username'] + info['impressions'][0][column] = rez_info + else: + status("FAIL", f"Impression {column} could not be fetched, something went wrong", self.statface) + else: + status("WARN", "No data requested to be fetched, check inputs", self.statface) + + if not self.impression_id: + info = None + status("FAIL", "Impressions could not be fetched, invalid impressionID provided", self.statface) + else: + status("INFO", "Impressions succesfully fetched", self.statface) + + return info + + def get_content(self): + info = {'impressions': None} + + if self.attr_name: + self.cur.execute(f"SELECT impression_id FROM {self.table_name} WHERE user_id=? AND {self.attr_name}=?", (self.id,self.attr_id)) + rez = self.cur.fetchall() + if rez: + info['impressions'] = [{column: None for column in self.columns} for impression_id in rez] + for i, impression_id in enumerate(rez): + impression_info = self.class_type() + impression_info.impression_id = impression_id[0] + impression_info.columns = self.columns + impression_info = impression_info.get()['impressions'][0] + info['impressions'][i] = impression_info + else: + status("WARN", "Post/comment has no impressions associated", self.statface) + else: + status("WARN", "Impression(s) unable to be fetched, somethign went wrong", self.statface) + else: + status("FAIL", "Impression(s) unable to be fetched, impression type unspecified", self.statface) + + if not self.attr_id: + info = None + status("FAIL", "Impression(s) unable to be fetched, invalid post/comment ID provided", self.statface) + else: + status("INFO", "Succesfully fetched impression(s)", self.statface) + + return info + + def count(self, data=None): + info = {'impression_count': 0} + + if dict_key_verify(data, "impression_type") and not self.impression_type: + self.impression_type = data['impression_type'] + + if self.impression_type: + self.cur.execute(f"SELECT COUNT(*) FROM {self.table_name} WHERE type = ? AND {self.attr_name} = ?", (self.impression_type,self.attr_id)) + rez = self.cur.fetchall() + if rez: + info['impression_count'] = rez[0][0] + status("INFO", "Succesfully fetched impression count", self.statface) + else: + status("FAIL", "Impression count unable to be fetched, something went wrong", self.statface) + + else: + info = None + status("FAIL", "Impression count unable to be fetched, invalid impression type", self.statface) + + return info + + def set(self, data=None): + if dict_key_verify(data, "impression_type"): + self.impression_type = data['impression_type'] + impression_id = uuid_generate() + + exists = False + self.cur.execute(f"SELECT type FROM {self.table_name} WHERE user_id=? AND type=? AND {self.attr_name}=?", (self.id, self.impression_type, self.attr_id)) + if self.cur.fetchone(): + exists = True + else: + status("WARN", "Impression from this user of this type already exists on this content", self.statface) + + if self.impression_type and self.id and self.attr_id: + if not exists: + self.cur.execute(f"INSERT INTO {self.table_name} (impression_id, {self.attr_name}, user_id, type) VALUES (?, ?, ?, ?)", (impression_id, self.attr_id, self.id , self.impression_type)) + self.db.commit() + status("INFO", "Impression succesfully created", self.statface) + else: + status("FAIL", "Impression unable to be created, impression already exists", self.statface) + else: + status("FAIL", "Impression unable to be created, invalid impression type, user or post/comment ID provided", self.statface) + + def delete(self, data=None): + if dict_key_verify(data, "impression_id"): + self.impression_id = data['impression_id'] + + if self.impression_id: + self.cur.execute(f"DELETE FROM {self.table_name} WHERE impression_id=?", (self.impression_id,)) + self.db.commit() + status("INFO", "Succesfully deleted impression", self.statface) + else: + status("FAIL", "Impression unable to be deleted, invalid impression ID provided", self.statface) + +class post_impression(impression): + def __init__(self, user_id=None, username=None, post_id=None, impression_type=None, *args, **kwargs): + self.allowed_columns = ['impression_id','post_id','username','type'] + self.types = ['like'] + self.table_name = "post_impressions" + self.class_type = post_impression + super().__init__(user_id=user_id, username=username, post_id=post_id, impression_type=impression_type) + + if self.post_id: + self.attr_id = self.post_id + + @property + def post_id(self): + return self._post_id + @post_id.setter + def post_id(self, value): + self.cur.execute("SELECT content FROM posts WHERE post_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + self._post_id = value + self.attr_id = value + + def get_post(self): + info = self.get_content() + return info + +class comment_impression(impression): + def __init__(self, user_id=None, username=None, comment_id=None, impression_type=None, *args, **kwargs): + self.types = ['like'] + self.table_name = "comment_impressions" + self.allow_columns = ['impression_id','comment_id','username','type'] + self.class_type = comment_impression + super().__init__(user_id=user_id, username=username, comment_id=comment_id, impression_type=impression_type) + + if self.comment_id: + self.attr_id = self.comment_id + + def get_comment(self): + info = self.get_content() + return info + + @property + def comment_id(self): + return self._comment_id + @comment_id.setter + def comment_id(self, value): + self.cur.execute("SELECT content FROM comments WHERE comment_id=?", (value,)) + if not self.cur.fetchone(): + value = None + self._comment_id = value + self.attr_id = value + diff --git a/server/modules/user/generate.py b/server/modules/user/generate.py new file mode 100644 index 0000000..6623858 --- /dev/null +++ b/server/modules/user/generate.py @@ -0,0 +1,58 @@ +# This will essentially run one a successful registration happens +# This could become a class or function in the user_info file +## Since this file is essentially just going to be using that one +## However it will also create some of its own database entries + +import sqlite3 +from modules.data.config import read as config_read +from modules.data.database import connect as db_connect + +from modules.algorithms.uuid import generate as uuid_generate +from modules.algorithms.uuid import long_hash as hash_string + +from modules.user import info + +db = db_connect() +db.create(None) +cur = db.cur + + +def auth_credentials(user_id, username, password, level): + cur.execute("INSERT INTO auth_credentials (user_id, username, password, level) VALUES (?, ?, ?, ?)", (user_id, username, password, level)) + + return user_id + +def profile(user_id): + cur.execute("INSERT INTO profile (user_id) VALUES (?)", (user_id,)) + + occupation_id = config_read("user", "DeafultOccupation") + + # finds wether or not the occupation_id exists + cur.execute("SELECT name FROM occupations WHERE occupation_id = ?", (occupation_id,)) + rez = cur.fetchone() + if rez: + info.occupation(user_id).set({"occupation_id":occupation_id}) + +def team(user_id, name="friends"): + team_id = uuid_generate() + + cur.execute("INSERT INTO teams (team_id, name, user_id) VALUES (?, ?, ?)", (team_id, name, user_id)) + cur.execute("INSERT INTO team_leaders (team_id, user_id) VALUES (?, ?)", (team_id, user_id)) + + +def main(username, password, level): + user_id = uuid_generate() + password_hash = hash_string(password + user_id) + + auth_credentials(user_id, username, password_hash, level) + profile(user_id) + team(user_id) + + db.commit() + return user_id + +if __name__ == "__main__": + main("test_user", "test_password") + + + diff --git a/server/modules/user/info.py b/server/modules/user/info.py new file mode 100644 index 0000000..62a03b5 --- /dev/null +++ b/server/modules/user/info.py @@ -0,0 +1,713 @@ +from modules.track.logging import log, status +from modules.data.config import read as config_read +from modules.data.database import retrieve +from modules.data.database import connect as db_connect +from modules.data.datetime import timestamp +from modules.algorithms.uuid import generate as uuid_generate +from modules.algorithms.univ import dict_key_verify +from modules.algorithms.recomend import recomend_friend + +class table(): + def __init__(self, user_id=None, username=None, occupation_id=None, allowed_columns=None, *args, **kwargs): + self.statface = None + self.db = db_connect() + self.db.create(self) + + self.id = user_id + self.username = username + self.occupation_id = occupation_id + if not self.allowed_columns: + self.allowed_columns = allowed_columns + self.columns = self.allowed_columns + self.server_code = config_read('miscellaneous', 'servercode') + + @property + def id(self): + return self._id + @id.setter + def id(self, value): + if type(value) == str: + self.cur.execute("SELECT username FROM auth_credentials WHERE user_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + else: + value = None + self._id = value + + @property + def username(self): + return self._username + @username.setter + def username(self, value): + self.cur.execute("SELECT user_id FROM auth_credentials WHERE username = ?", (value,)) + if not self.cur.fetchone(): + value = None + + self._username = value + + if value: + u_id = user_id(username=value).get()['user_id'] + if self.id != u_id: + self.id = u_id + + @property + def occupation_id(self): + return self._occupation_id + @occupation_id.setter + def occupation_id(self, value): + self.cur.execute("SELECT name FROM occupations WHERE occupation_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + self._occupation_id = value + + @property + def team_id(self): + return self._team_id + @team_id.setter + def team_id(self, value): + self.cur.execute("SELECT name FROM teams WHERE team_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + self._team_id = value + + @property + def columns(self): + return self._columns + @columns.setter + def columns(self, value): + valid = [] + + if type(value) == list: + for column in value: + if column in self.allowed_columns: + valid.append(column) + + self._columns = valid + + @property + def date(self): + self._date = timestamp().date + return self._date + @date.setter + def date(self, value): + self._date = value + +class user_id(): + def __init__(self, username=None, *args, **kwargs): + self.username = username + self.db = db_connect() + self.db.create(self) + + def get(self): + info = {'user_id':None} + + self.cur.execute(f"SELECT user_id FROM auth_credentials WHERE username = ?", (self.username,)) + rez = self.cur.fetchone() + + if rez: + info = {"user_id":rez[0]} + + else: + info = None + return info + +class auth(table): + def __init__(self, user_id=None, username=None, *args, **kwargs): + self.allowed_columns = ["username", "level"] + super().__init__(user_id=user_id, username=username) + + def get(self): + info = {} + + for column in self.columns: + info[column] = None + + self.cur.execute(f"SELECT {column} FROM auth_credentials WHERE user_id = ?", (self.id,)) + rez = self.cur.fetchone() + + if rez: + info[column] = rez[0] + + if not self.id: + status("FAIL", "Invalid username provided", self.statface) + info = None + else: + status("INFO", "Authorisation info successfully fetched", self.statface) + + return info + + def set(self, data): + for column in self.columns: + value = data[column] + rez = None + + if column == 'username': + # the select statement was here instead of update i have no idea why + # ive replaced it with an update since updating a username is completetly fine + #self.cur.execute("SELECT username FROM auth_credentials WHERE username = ?", (value,)) + self.cur.execute("UPDATE auth_credentials SET username = ? WHERE user_id = ?", (value, self.id)) + status("INFO", "Successfully changed username", self.statface) + if column == 'level': + self.cur.execute("UPDATE auth_credentials SET level = ? WHERE user_id = ?", (value ,self.id)) + status("INFO", "Successfully changed level", self.statface) + + self.db.commit() + +# V RBP: I think this is depricated and no longer in use +class level(auth): + def __init__(self, user_id): + super().__init__(user_id=user_id) + self.columns = ["level"] +# ^ RBP: I think this is depricated and no longer in use + +class team(table): + def __init__(self, user_id=None, username=None, occupation_id=None, team_id=None, *args, **kwargs): + self.allowed_columns = ['team_id', 'name', 'occupation_id', 'user_id'] + super().__init__() + if user_id: + self.id = user_id + if username: + self.username = username + if occupation_id: + self.occupation_id = occupation_id + if team_id: + self.team_id = team_id + + @property + def id(self): + return self._id + @id.setter + def id(self, value): + occupation_value = None + self.cur.execute("SELECT username FROM auth_credentials WHERE user_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + else: + self.cur.execute("SELECT occupation_id FROM profile WHERE user_id = ?", (value,)) + rez = self.cur.fetchone() + if rez: + occupation_value = rez[0] + + self.occupation_id = occupation_value + self._id = value + + @property + def occupation_id(self): + return self._occupation_id + @occupation_id.setter + def occupation_id(self, value): + team_value = None + self.cur.execute("SELECT name FROM occupations WHERE occupation_id = ?", (value,)) + if not self.cur.fetchone(): + value = None + else: + self.cur.execute("SELECT team_id FROM teams WHERE occupation_id = ?", (value,)) + rez = self.cur.fetchone() + if rez: + team_value = rez[0] + + self.team_id = team_value + self._occupation_id = value + + def get(self): + info = {column: None for column in self.columns} + for column in self.columns: + self.cur.execute(f"SELECT {column} FROM teams WHERE team_id = ?", (self.team_id,)) + rez = self.cur.fetchone() + if rez: + info[column] = rez[0] + + if not all(info.values()) and not(self.team_id): + info = None + status("FAIL", "Team data could not be fetched, invalid data provided", self.statface) + else: + status("INFO", "Team data successfully fetched", self.statface) + + return info + + def get_all(self): + info = {'teams': None} + + for column in self.columns: + self.cur.execute(f"SELECT {column} FROM teams WHERE user_id IS NULL") + rez = self.cur.fetchall() + if rez: + if not info['teams']: + info['teams'] = [{} for i in range(len(rez))] + for i, items in enumerate(rez): + info['teams'][i][column] = items[0] + status("INFO", "Team(s) successfully fetched", self.statface) + else: + status("FAIL", "Team(s) could not be fetched, something went wrong", self.statface) + + return info + + def get_members(self): + info = {'members': None} + + self.cur.execute("""SELECT auth_credentials.username FROM auth_credentials + INNER JOIN profile USING(user_id) + CROSS JOIN teams ON profile.occupation_id = teams.occupation_id + WHERE teams.team_id=?""", (self.team_id,)) + + rez = self.cur.fetchall() + if rez: + info['members'] = [{'username': member[0]} for member in rez] + status("INFO", "Team members successfully fetched", self.statface) + + if not self.team_id: + status("FAIL", "Team members could not be fetched, invalid data provided") + info = None + + return info + + def get_leaders(self): + info = {'leaders': None} + + self.cur.execute("SELECT user_id FROM team_leaders WHERE team_id = ?", (self.team_id,)) + rez = self.cur.fetchall() + if rez: + info['leaders'] = [{'username':(auth(user_id=user_id).get())['username'] for user_id in leader} for leader in rez] + status("INFO", "Team leaders successfully fetched", self.statface) + else: + status("FAIL", "Team leaders could not be fetched, invalid data provided", self.statface) + + return info + + def set(self, data): + for column in self.columns: + if column == "name" and dict_key_verify(data, 'name'): + self.cur.execute("UPDATE teams SET name=? where team_id=?", (data['name'] ,self.team_id)) + self.db.commit() + status("INFO", "Team data successfully changed", self.statface) + + if dict_key_verify(data, 'leaders'): + current_leaders = (self.get_leaders())['leaders'] + for leader in data['leaders']: + + exists = False + if current_leaders: + for current_leader in current_leaders: + if current_leader['username'] == leader['username']: + exists = True + + if not exists: + self.cur.execute("SELECT user_id FROM auth_credentials WHERE username = ?", (leader['username'],)) + info = user_id(username=leader['username']).get() + if info: + self.cur.execute("INSERT INTO team_leaders (user_id, team_id) VALUES (?, ?)", (info['user_id'], self.team_id)) + self.db.commit() + status("INFO", "New leader successfully added to team", self.statface) + else: + status("FAIL", "Leader not set, user does not exist", self.statface) + else: + status("WARN", "This user already exists as a leader of the team", self.statface) + + def delete_leaders(self, data): + leaders = data['leaders'] + current_leaders = self.get_leaders()['leaders'] + if type(leaders) == str: + leaders = [leaders] + for leader in leaders: + + exists = False + if current_leaders: + for current_leader in current_leaders: + if current_leader['username'] == leader['username']: + exists = True + + if exists: + self.cur.execute("DELETE FROM team_leaders WHERE user_id=? AND team_id=?", (user_id(username=leader['username']).get()['user_id'],self.team_id,)) + self.db.commit() + status("INFO", "User {leader['username']} removed as a leader from this team", self.statface) + else: + status("WARN", "User {leader['username']} does not exist as a leader of this team", self.statface) + +class friend(table): + @property + def friend_username(self): + return self._friend_username + @friend_username.setter + def friend_username(self, value): + obj = friend(username=value) + if not obj.username: + value = None + else: + self.friend_id = user_id(username=value).get()['user_id'] + self._friend_username = value + + @property + def friend_id(self): + return self._friend_id + @friend_id.setter + def friend_id(self, value): + obj = friend(user_id=value) + if not obj.id: + value = None + self._friend_id = value + + @property + def mode(self): + return self._mode + @mode.setter + def mode(self, value): + if value not in ['incoming', 'outgoing']: + value = "incoming" + self._mode = value + + def __init__(self, user_id=None, username=None, *args, **kwargs): + self.allowed_columns = ['username', 'friend_username'] + self.mode = "outgoing" + super().__init__(user_id=user_id, username=username) + + def get(self): + info = {'friends':None} + + self.cur.execute("SELECT friend_id FROM friends WHERE user_id = ? AND approved = ?", (self.id, True)) + rez = self.cur.fetchall() + + info['friends'] = [auth(user_id=user[0]).get() for user in rez] + + if not self.id: + info = None + status("FAIL", "Friends not fetched, invalid data provided", self.statface) + else: + status("INFO", "Friends successfully fetched", self.statface) + + return info + + def get_requests(self): + info = {'requests': None} + + if self.mode == 'incoming': + self.cur.execute("SELECT user_id FROM friends WHERE friend_id = ? AND approved = ?", (self.id, False)) + else: + self.cur.execute("SELECT friend_id FROM friends WHERE user_id = ? AND approved = ?", (self.id, False)) + rez = self.cur.fetchall() + + if rez: + users = [auth(user_id=user[0]).get()['username'] for user in rez] + info['requests'] = users + status("INFO", f"Successfully fetched {self.mode} friend request(s)", self.statface) + elif not self.id: + status("FAIL", f"Could not fetch {self.mode} friend request(s), invalid data provided", self.statface) + info = None + + return info + + def get_recomendations(self, data): + info = {'recomended': None} + if dict_key_verify(data, 'amount') and isinstance(data['amount'], int): + amount = data['amount'] + else: + status("FAIL", "Could not fetch friend recomendation(s), invalid amount provided or data is in wrong format", self.statface) + return None + + depth = 3 + username = auth(user_id=self.id).get()['username'] + recomendations = recomend_friend(username, amount, depth) + if recomendations: + info['recomended'] = recomendations + status("INFO", "Successfully fetched friend recomendations", self.statface) + else: + status("INFO", "No recomendations could be generated, add some friends first", self.statface) + + return info + + def add_request(self, data): + approved = False + + if dict_key_verify(data, 'friend_username'): + self.friend_username = data['friend_username'] + friend_id = user_id(data['friend_username']).get()['user_id'] + + if friend_id: + # checks if the other person has added them as a friend + # if so it accepts the other persons request and creates their own approved request + self.cur.execute("SELECT user_id FROM friends WHERE friend_id = ? AND user_id = ?", (self.id, friend_id)) + rez = self.cur.fetchone() + if rez: + self.cur.execute("UPDATE friends SET approved = True WHERE friend_id = ? AND user_id = ?", (self.id, friend_id)) + approved = True + + # checks to see if this friend request already exists (wether accepted or rejected) + # if not then it makes a new unaproved friend request + self.cur.execute("SELECT approved FROM friends WHERE user_id = ? AND friend_id = ?", (self.id, friend_id)) + rez = self.cur.fetchone() + if not rez: + self.cur.execute("INSERT INTO friends (user_id, friend_id, approved) VALUES (?, ?, ?)", (self.id, friend_id, approved)) + status("INFO", "Friend request successfully created", self.statface) + elif rez[0] == False: + status("WARN", "User already has an active friend request to this user", self.statface) + elif rez[0] == True: + status("WARN", "User is already friends with other user", self.statface) + else: + status("FAIL", "Could not create friend request, invalid data provided") + + self.db.commit() + + def approve_request(self, data): + if dict_key_verify(data, 'friend_username'): + self.friend_username = data['friend_username'] + self.cur.execute("SELECT approved FROM friends WHERE friend_id = ? AND user_id = ?", (self.id, self.friend_id)) + rez = self.cur.fetchone() + if rez: + self.add_request(data) + else: + status("FAIL", "Friend request does not exist", self.statface) + + def reject_request(self, data): + self.remove(data) + + def delete_request(self, data): + self.remove(data) + + def remove(self, data): + if dict_key_verify(data, 'friend_username'): + self.friend_username = data['friend_username'] + + if self.friend_id: + self.cur.execute("DELETE FROM friends WHERE user_id = ? AND friend_id = ?", (self.id, self.friend_id)) + self.cur.execute("DELETE FROM friends WHERE friend_id = ? AND user_id = ?", (self.id, self.friend_id)) + status("INFO", "Friend/friend request successfully removed/rejected", self.statface) + else: + status("FAIL", "Friend/friend request could not be removed/rejected, invalid data provided", self.statface) + + self.db.commit() + +class profile(table): + @property + def target_username(self): + return self._target_username + @target_username.setter + def target_username(self, value): + prof = profile(username=value) + if not prof.username: + value = None + self._target_username = value + + def __init__(self, user_id=None, username=None, *args, **kwargs): + self.allowed_columns = ["biography", "role", "name", "occupation_id"] + super().__init__(user_id=user_id, username=username) + + def get(self): + info = {} + + for column in self.columns: + info[column] = None + + self.cur.execute(f"SELECT {column} FROM profile WHERE user_id = ?", (self.id,)) + rez = self.cur.fetchone() + if rez: + info[column] = rez[0] + + if not self.id: + status("FAIL", "Invalid username provided profile unable to be fetched") + info = None + else: + status("INFO", "Profile infomation successfully fetched") + + return info + + def get_permissions(self): + info = {"delete": False, "edit": False} + + subject = auth(user_id=self.id, items=['level', 'username']).get() + if subject['level'] == "management" or subject['level'] == "admin": + info['delete'] = True + info['edit'] = True + + if self.target_username: + if subject['username'] == self.target_username: + info['delete'] = True + info['edit'] = True + + target_team_info = team(username=self.target_username).get_leaders() + if dict_key_verify(target_team_info, 'leaders'): + target_leaders = target_team_info['leaders'] + if subject['username'] in target_leaders: + info['delete'] = True + + if not self.id or not self.target_username: + status("FAIL", "Invalid username or data provided", self.statface) + info = None + else: + status("INFO", "Permissions successfully fetched", self.statface) + + return info + + def set(self, data): + for column in self.columns: + item = data[column] + + self.cur.execute(f"UPDATE profile SET {column} = ? WHERE user_id = ?", (item, self.id)) + status("INFO", "Successfully changed/deleted {column}", self.statface) + + self.db.commit() + + def delete(self): + data = {} + + for column in self.columns: + data[column] = None + self.set(data) + +class occupation(table): + def __init__(self, user_id=None, username=None, occupation_id=None, *args, **kwargs): + self.allowed_columns = ["occupation_id", "name", "description"] + super().__init__(user_id=user_id, username=username, occupation_id=occupation_id) + + def get(self): + info = {column: None for column in self.columns} + + if not self.occupation_id: + self.cur.execute("SELECT occupations.occupation_id, occupations.name, description FROM profile INNER JOIN occupations USING(occupation_id) WHERE user_id = ?", (self.id,)) + else: + self.cur.execute("SELECT occupation_id, name, description FROM occupations WHERE occupation_id = ?", (self.occupation_id,)) + rez = self.cur.fetchone() + + if rez: + occupation = {'occupation_id':rez[0], 'name':rez[1], 'description':rez[2]} + + for column in self.columns: + info[column] = occupation[column] + + if not rez and not self.id: + status("FAIL", "Occupation could not be fetched: invalid data provided", self.statface) + info = None + else: + status("INFO", "Occupation successfully fetched", self.statface) + + return info + + def get_request(self): + info = {'occupation_id': None, 'approved': None} + + self.cur.execute("SELECT occupation_id, approved FROM occupation_requests WHERE user_id = ?", (self.id,)) + rez = self.cur.fetchone() + if rez: + info['occupation_id'] = rez[0] + info['approved'] = rez[1] + status("INFO", "Occupation requests fetched successfully") + else: + status("FAIL", "Occupation requests could not be fetched invalid data provided", self.statface) + info = None + + return info + + def get_all_requests(self): + info = {'requests': None} + + self.cur.execute("SELECT user_id, occupation_id FROM occupation_requests WHERE approved = ?", (False,)) + rez = self.cur.fetchall() + + if rez: + info['requests'] = [{'username': auth(user_id=request[0]).get()['username'], 'occupation_id': request[1]} for request in rez] + status("INFO", "Occupation requests successfully fetched", self.statface) + else: + status("FAIL", "Occupation requests could not be fetched something went wrong", self.statface) + return info + + def set(self, data): + occupation_id = data["occupation_id"] + + self.cur.execute("SELECT name FROM occupations WHERE occupation_id = ?", (occupation_id,)) + if self.cur.fetchone(): + self.cur.execute("UPDATE profile SET occupation_id = ? WHERE user_id = ?", (occupation_id, self.id)) + status("INFO", "Occupation successfully updated", self.statface) + else: + status("FAIL", "Occupation could not be updated invalid data provided", self.statface) + + self.db.commit() + + def set_request(self, data): + occupation_id = data['occupation_id'] + + self.cur.execute("SELECT approved FROM occupation_requests WHERE user_id = ?", (self.id,)) + if self.cur.fetchone(): + self.delete_request() + status("INFO", "Removing previous occupation change request", self.statface) + + self.cur.execute("SELECT name FROM occupations WHERE occupation_id = ?", (occupation_id,)) + if self.cur.fetchone(): + self.cur.execute("INSERT INTO occupation_requests (user_id, occupation_id, approved) VALUES (?, ?, ?)", (self.id, occupation_id, False)) + else: + status("FAIL", "Occupation change request could not be made invalid occupation_id provided", self.statface) + + self.db.commit() + + def approve_request(self): + self.cur.execute("SELECT occupation_id FROM occupation_requests WHERE approved = ? AND user_id = ?", (False, self.id,)) + if self.cur.fetchone(): + self.cur.execute("UPDATE occupation_requests SET approved = ? WHERE user_id = ?", (True, self.id)) + self.cur.execute("SELECT occupation_id FROM occupation_requests WHERE user_id = ?", (self.id,)) + rez = self.cur.fetchone() + if rez: + self.set({'occupation_id': rez[0]}) + status("INFO", "Occupation change request successfully approved", self.statface) + else: + status("CRIT", "Occupation change request approved but not changed in the user entry, contact admin", self.statface) + else: + status("FAIL", "Occupation change request from that user does not exist or has already been approved", self.statface) + + self.db.commit() + + def reject_request(self): + self.delete_request() + + def delete(self): + self.cur.execute("UPDATE profile SET occupation_id = ? WHERE user_id = ?", (None, self.id)) + self.db.commit() + status("INFO", "Occupation no longer associated with user", self.statface) + + def delete_request(self): + self.cur.execute("DELETE FROM occupation_requests WHERE user_id = ?", (self.id,)) + self.db.commit() + status("INFO", "Occupation change request successfully deleted", self.statface) + + def get_all(self): + info = {'occupations':None} + + self.cur.execute("SELECT occupation_id, name, description FROM occupations") + rez = self.cur.fetchall() + + if rez: + occupations = [{'occupation_id':occupation[0], 'name':occupation[1], 'description': occupation[2]} for occupation in rez] + info['occupations'] = occupations + status("INFO", "Occupation(s) successfully fetched", self.statface) + else: + status("FAIL", "Occupation(s) could not be fetched", self.statface) + + return info + + def create(self, data={'name': None, 'description': None}): + occupation_uuid = uuid_generate() + team_uuid = uuid_generate() + name = data['name'] + description = data['description'] + + self.cur.execute("INSERT INTO occupations(occupation_id, name, description) VALUES (?, ?, ?)", (occupation_uuid, name, description)) + self.cur.execute("INSERT INTO teams (team_id, name, occupation_id) VALUES (?, ?, ?)", (team_uuid, name, occupation_uuid)) + self.db.commit() + + def edit(self, data): + if 'occupation_id' in data and not self.occupation_id: + self.occupation_id = data['occupation_id'] + for column in self.columns: + if column == "occupation_id": + continue + value = data[column] + self.cur.execute(f"UPDATE occupations SET {column} = ? WHERE occupation_id = ?", (value, self.occupation_id)) + self.db.commit() + + def delete_occupation(self, data=None): + if dict_key_verify(data, "occupation_id") and not self.occupation_id: + self.occupation_id = data['occupation_id'] + self.cur.execute("DELETE FROM occupations WHERE occupation_id = ?", (self.occupation_id,)) + self.db.commit() + +def main(): + log("WARN", "modules/user/info.py has been called as main. This file is not intended to run solo. Please use main.py or modules/handler/handler.py") + +if __name__ == "__main__": + main() diff --git a/server/modules/user/start.py b/server/modules/user/start.py new file mode 100644 index 0000000..62cfe58 --- /dev/null +++ b/server/modules/user/start.py @@ -0,0 +1,17 @@ +# this file is depricated and set to be removed +## move all dependancies to ./modules/start/start.py +## removal date set for 30-11-2023 + +from modules.handler import outgoing +from modules.data.datetime import timestamp + +def post_slot(sio, sid): + if timestamp().is_valid_time(): + outgoing.post_slot(sio, sid) + +def main(sio, sid): + post_slot(sio, sid) + notifications(sio, sid) + +if __name__ == "__main__": + main() diff --git a/server/requirements.txt b/server/requirements.txt new file mode 100644 index 0000000..305d3fb --- /dev/null +++ b/server/requirements.txt @@ -0,0 +1,7 @@ +python-socketio==5.8.0 +eventlet==0.33.3 +pathlib==1.0.1 +configparser +datetime +pillow==10.0.1 +python-dotenv==1.0.0 diff --git a/server/work-data/config.ini b/server/work-data/config.ini new file mode 100644 index 0000000..ca65a59 --- /dev/null +++ b/server/work-data/config.ini @@ -0,0 +1,40 @@ +[authorisation] +adminkey = secret +registrationkey = secret +usernamemaxlength = 20 +usernameminlength = 5 +passwordmaxlength = 30 +passwordminlength = 5 +tokenexpirytime = 2592000 + +[database] +path = data/database.db +encrypt = false +shamirsecretsharing = false +numberofshares = 5 +minimumshares = 3 +keypath = data/key.txt +encryptedpath = data/.cryptdatabase.db +encryptionconfigpath = data/encryptconfig.txt +saltpath = data/.salt.txt +sharespath = data/shares/ + +[user] +defaultlevel = member +defaultoccupationid = Null + +[posts] +posttimelimit = 5 +daystart = 9 +dayend = 17 + +[notifications] +defaultexpiretime = 604800 +ntfyurl = https://ntfy.example.com + +[networking] +port = 9999 + +[miscellaneous] +servercode = 12345 + diff --git a/server/work-data/database.db b/server/work-data/database.db new file mode 100644 index 0000000..b1011e4 Binary files /dev/null and b/server/work-data/database.db differ diff --git a/server/work-data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-30.png b/server/work-data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-30.png new file mode 100644 index 0000000..6f8c288 Binary files /dev/null and b/server/work-data/images/post_718d0307-0777-4f0b-bd61-8b216153250f_2024-01-30.png differ diff --git a/server/work-data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-30.png b/server/work-data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-30.png new file mode 100644 index 0000000..a5fea1d Binary files /dev/null and b/server/work-data/images/post_7d65e525-2709-4319-9be3-3d3fdb5b011f_2024-01-30.png differ diff --git a/server/work-data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-30.png b/server/work-data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-30.png new file mode 100644 index 0000000..eb95a8a Binary files /dev/null and b/server/work-data/images/post_8dfb150d-8317-4799-8f27-296f43f35bd7_2024-01-30.png differ diff --git a/server/work-data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-30.png b/server/work-data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-30.png new file mode 100644 index 0000000..827eb78 Binary files /dev/null and b/server/work-data/images/post_bfb13167-d959-4d7d-b317-657325cf7b0d_2024-01-30.png differ diff --git a/server/work-data/log.txt b/server/work-data/log.txt new file mode 100644 index 0000000..8778b4b --- /dev/null +++ b/server/work-data/log.txt @@ -0,0 +1 @@ +2024-01-30T19:52:16Z | INFO | Log file created at 'data/log.txt'2024-01-30T19:52:16Z | INFO | Created new directory: data/images2024-01-30T19:52:16Z | INFO | Ensuring server directories2024-01-30T19:52:16Z | INFO | Ensuring config file2024-01-30T19:52:16Z | INFO | Creating config file2024-01-30T19:52:16Z | INFO | Created config file2024-01-30T19:52:16Z | INFO | Ensuring database2024-01-30T19:52:16Z | INFO | Checking encryption2024-01-30T19:52:16Z | INFO | Starting server background service2024-01-30T19:52:16Z | INFO | Server mode normal, continuing startup2024-01-30T19:52:16Z | INFO | Generating time slot for 2024-01-302024-01-30T19:52:16Z | INFO | Generating time slot for 2024-01-312024-01-30T19:52:20Z | INFO | client ooBs_YWe7hCva38rAAAB connected2024-01-30T19:52:48Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts unable to be fetched, no other team members2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts unable to be fetched, no team members provided2024-01-30T19:52:49Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:52:49Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) could not be fetched2024-01-30T19:52:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:53:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully changed/deleted {column}2024-01-30T19:53:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully changed/deleted {column}2024-01-30T19:53:11Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T19:53:11Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T19:53:11Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts unable to be fetched, no other team members2024-01-30T19:53:11Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts unable to be fetched, no team members provided2024-01-30T19:53:14Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:53:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:53:21Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully changed/deleted {column}2024-01-30T19:53:21Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:53:26Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:53:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully changed/deleted {column}2024-01-30T19:53:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:53:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-30T19:53:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:53:55Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) could not be fetched2024-01-30T19:54:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully created2024-01-30T19:54:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:54:33Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully created2024-01-30T19:54:33Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:54:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully created2024-01-30T19:54:46Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:54:53Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully edited2024-01-30T19:54:53Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:54:59Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T19:54:59Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data could not be fetched, invalid data provided2024-01-30T19:54:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:01Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:55:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T19:55:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T19:55:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully set2024-01-30T19:55:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T19:55:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T19:55:07Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T19:55:11Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T19:55:11Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T19:55:11Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T19:55:11Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:17Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | New leader successfully added to team2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:17Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:17Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:17Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T19:55:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully changed2024-01-30T19:55:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T19:55:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T19:55:32Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T19:55:33Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:55:51Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:56:06Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T19:56:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T19:56:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-30T19:56:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-30T19:56:06Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T19:56:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T19:56:17Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No notifications exist for this user2024-01-30T19:56:17Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Notification(s) successfully fetched2024-01-30T19:56:20Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No notifications exist for this user2024-01-30T19:56:20Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Notification(s) successfully fetched2024-01-30T20:01:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:05:34Z | INFO | client ooBs_YWe7hCva38rAAAB disconnected2024-01-30T20:05:37Z | INFO | client QlkMXywRdKqsq-k6AAAD connected2024-01-30T20:06:10Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no other team members2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no team members provided2024-01-30T20:06:10Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation(s) successfully fetched2024-01-30T20:06:10Z | FAIL | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation requests could not be fetched invalid data provided2024-01-30T20:06:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:06:28Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation change request successfully created2024-01-30T20:06:28Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-30T20:06:30Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully changed/deleted {column}2024-01-30T20:06:30Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully changed/deleted {column}2024-01-30T20:06:33Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:06:34Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:06:34Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:06:36Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:06:58Z | INFO | client QlkMXywRdKqsq-k6AAAD disconnected2024-01-30T20:08:06Z | INFO | client Fvg8aOw7kMxOAHS2AAAF connected2024-01-30T20:08:06Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-30T20:08:06Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no other team members2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no team members provided2024-01-30T20:08:07Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:08:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:08:08Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:08:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:08:10Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:08:11Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:08:16Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friend request successfully created2024-01-30T20:08:16Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched outgoing friend request(s)2024-01-30T20:08:16Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:08:24Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friend request successfully created2024-01-30T20:08:24Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched outgoing friend request(s)2024-01-30T20:08:24Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:08:45Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched outgoing friend request(s)2024-01-30T20:08:46Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:09:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:09:26Z | INFO | client Fvg8aOw7kMxOAHS2AAAF disconnected2024-01-30T20:10:23Z | INFO | client 6unaBI9blemVe5jIAAAH connected2024-01-30T20:10:32Z | INFO | client 6unaBI9blemVe5jIAAAH disconnected2024-01-30T20:10:43Z | INFO | client FLny04WmxlzhmniMAAAJ connected2024-01-30T20:11:46Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:11:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:11:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:11:46Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:11:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation(s) successfully fetched2024-01-30T20:11:47Z | FAIL | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation requests could not be fetched invalid data provided2024-01-30T20:11:47Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:12:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation change request successfully created2024-01-30T20:12:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:12:07Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully changed/deleted {column}2024-01-30T20:12:07Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully changed/deleted {column}2024-01-30T20:12:09Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:12:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:12:13Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:12:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched incoming friend request(s)2024-01-30T20:12:18Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:12:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-30T20:12:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:12:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-30T20:12:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:12:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:12:48Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-30T20:12:48Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:12:49Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:12:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friend request successfully created2024-01-30T20:12:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:12:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:13:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:13:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:13:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:13:17Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:13:24Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:13:25Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:13:25Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:14:44Z | INFO | client FLny04WmxlzhmniMAAAJ disconnected2024-01-30T20:16:15Z | WARN | Server recieved shutdown signal2024-01-30T20:16:15Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:16:15Z | INFO | Ensuring server directories2024-01-30T20:16:15Z | INFO | Ensuring config file2024-01-30T20:16:15Z | INFO | Config already exists2024-01-30T20:16:15Z | INFO | Ensuring database2024-01-30T20:16:15Z | INFO | Checking encryption2024-01-30T20:16:16Z | INFO | Starting server background service2024-01-30T20:16:16Z | INFO | Server mode normal, continuing startup2024-01-30T20:16:28Z | WARN | Server recieved shutdown signal2024-01-30T20:16:28Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:18:27Z | INFO | Ensuring server directories2024-01-30T20:18:27Z | INFO | Ensuring config file2024-01-30T20:18:27Z | INFO | Config already exists2024-01-30T20:18:27Z | INFO | Ensuring database2024-01-30T20:18:27Z | INFO | Checking encryption2024-01-30T20:18:27Z | INFO | Starting server background service2024-01-30T20:18:27Z | INFO | Server mode normal, continuing startup2024-01-30T20:18:37Z | INFO | Sending post time notifications2024-01-30T20:18:38Z | INFO | Sent post time notifications2024-01-30T20:18:55Z | INFO | client ZEFsP4ulcmr-x4yjAAAB connected2024-01-30T20:18:55Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:18:55Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:18:55Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:18:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:19:00Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:19:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:19:03Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:19:04Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:19:14Z | INFO | client ZEFsP4ulcmr-x4yjAAAB disconnected2024-01-30T20:19:58Z | INFO | client 1EZPUPnKQMuIkI-eAAAD connected2024-01-30T20:19:58Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:19:58Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:19:58Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:19:59Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:20:00Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:20:01Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:20:02Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:20:04Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:20:04Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Permissions successfully fetched2024-01-30T20:20:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched outgoing friend request(s)2024-01-30T20:20:06Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched friend recomendations2024-01-30T20:22:36Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:22:47Z | INFO | client 1EZPUPnKQMuIkI-eAAAD disconnected2024-01-30T20:23:37Z | INFO | client RHxhmoBHTnfPJHBBAAAF connected2024-01-30T20:23:37Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:23:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:23:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:23:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:23:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:23:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:23:37Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:23:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:23:37Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:23:38Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:23:38Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:23:38Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:23:38Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:23:38Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:23:40Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:23:48Z | INFO | client RHxhmoBHTnfPJHBBAAAF disconnected2024-01-30T20:24:14Z | INFO | client rm9JI7zeBWr9c0rKAAAH connected2024-01-30T20:24:14Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:24:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:24:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:24:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:24:14Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:24:14Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:24:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:24:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:24:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:24:15Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:24:16Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:24:52Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:25:40Z | INFO | client rm9JI7zeBWr9c0rKAAAH disconnected2024-01-30T20:26:21Z | INFO | client eS3Ar3sTkBDMrRanAAAJ connected2024-01-30T20:26:21Z | INFO | Starting user service for 8dfb150d-8317-4799-8f27-296f43f35bd72024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:26:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No memories exist2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:26:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Occupation successfully fetched2024-01-30T20:26:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Friends successfully fetched2024-01-30T20:26:22Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:26:26Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:26:46Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Successfully fetched post slot2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post successfully created2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched post memories2024-01-30T20:27:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friend(s) post(s)2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched friends' post(s)2024-01-30T20:27:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no other team members2024-01-30T20:27:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Team posts unable to be fetched, no team members provided2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Post(s) Succesfully fetched2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched {column} for requested post2024-01-30T20:27:20Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | No post data requested to be fetched, check your inputs2024-01-30T20:27:21Z | WARN | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:27:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression(s)2024-01-30T20:27:21Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Succesfully fetched impression count2024-01-30T20:27:31Z | INFO | 8dfb150d-8317-4799-8f27-296f43f35bd7 | Authorisation info successfully fetched2024-01-30T20:27:39Z | INFO | client eS3Ar3sTkBDMrRanAAAJ disconnected2024-01-30T20:27:43Z | INFO | client W47fmKqhmMHcyEe2AAAL connected2024-01-30T20:27:52Z | INFO | Starting user service for bfb13167-d959-4d7d-b317-657325cf7b0d2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No memories exist2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts unable to be fetched, no other team members2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts unable to be fetched, no team members provided2024-01-30T20:27:52Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No memories exist2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-30T20:27:52Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation(s) successfully fetched2024-01-30T20:27:52Z | FAIL | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation requests could not be fetched invalid data provided2024-01-30T20:27:53Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-30T20:28:09Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation change request successfully created2024-01-30T20:28:09Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Occupation successfully fetched2024-01-30T20:28:10Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully changed/deleted {column}2024-01-30T20:28:10Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully changed/deleted {column}2024-01-30T20:28:14Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Permissions successfully fetched2024-01-30T20:28:15Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friends successfully fetched2024-01-30T20:28:15Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Permissions successfully fetched2024-01-30T20:28:18Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched incoming friend request(s)2024-01-30T20:28:19Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:22Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-30T20:28:22Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched incoming friend request(s)2024-01-30T20:28:22Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:23Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-30T20:28:23Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:44Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-30T20:28:45Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched outgoing friend request(s)2024-01-30T20:28:45Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Friend request successfully created2024-01-30T20:28:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched outgoing friend request(s)2024-01-30T20:28:50Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched friend recomendations2024-01-30T20:28:58Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-30T20:29:12Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Successfully fetched post slot2024-01-30T20:29:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Post successfully created2024-01-30T20:29:25Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched post memories2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friend(s) post(s)2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched friends' post(s)2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts unable to be fetched, no other team members2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Team posts unable to be fetched, no team members provided2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Post(s) Succesfully fetched2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched {column} for requested post2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | No post data requested to be fetched, check your inputs2024-01-30T20:29:26Z | WARN | bfb13167-d959-4d7d-b317-657325cf7b0d | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression(s)2024-01-30T20:29:26Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Succesfully fetched impression count2024-01-30T20:29:48Z | INFO | bfb13167-d959-4d7d-b317-657325cf7b0d | Authorisation info successfully fetched2024-01-30T20:29:52Z | INFO | client W47fmKqhmMHcyEe2AAAL disconnected2024-01-30T20:29:55Z | INFO | client Tl7sGtG2u6vrIaOfAAAN connected2024-01-30T20:30:06Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No memories exist2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts unable to be fetched, no other team members2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts unable to be fetched, no team members provided2024-01-30T20:30:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No memories exist2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:30:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-30T20:30:07Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:30:07Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation(s) successfully fetched2024-01-30T20:30:07Z | FAIL | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation requests could not be fetched invalid data provided2024-01-30T20:30:07Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:30:28Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation change request successfully created2024-01-30T20:30:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:30:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully changed/deleted {column}2024-01-30T20:30:30Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully changed/deleted {column}2024-01-30T20:30:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Permissions successfully fetched2024-01-30T20:30:37Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-30T20:30:38Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Permissions successfully fetched2024-01-30T20:30:39Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched incoming friend request(s)2024-01-30T20:30:39Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:30:41Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friend request successfully created2024-01-30T20:30:42Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:30:48Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:30:57Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friend request successfully created2024-01-30T20:30:57Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched outgoing friend request(s)2024-01-30T20:30:58Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:31:15Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friend request successfully created2024-01-30T20:31:15Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched outgoing friend request(s)2024-01-30T20:31:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:31:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-30T20:31:39Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post successfully created2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts unable to be fetched, no other team members2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts unable to be fetched, no team members provided2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:32:06Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:32:06Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:32:07Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:32:17Z | FAIL | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Comment(s) unable to be fetched, something went wrong2024-01-30T20:32:17Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully created comment2024-01-30T20:32:31Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:32:31Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:32:31Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:32:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:32:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression from this user of this type already exists on this content2024-01-30T20:32:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression succesfully created2024-01-30T20:32:34Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post/comment has no impressions associated2024-01-30T20:32:34Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:32:39Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:32:48Z | INFO | client Tl7sGtG2u6vrIaOfAAAN disconnected2024-01-30T20:32:52Z | INFO | client SC5iJLr7akpDZbbnAAAP connected2024-01-30T20:32:56Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-30T20:32:56Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-30T20:32:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:32:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:32:56Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-30T20:32:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no other team members2024-01-30T20:32:56Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no team members provided2024-01-30T20:32:57Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation(s) successfully fetched2024-01-30T20:32:57Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation requests could not be fetched invalid data provided2024-01-30T20:32:57Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:33:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation change request successfully created2024-01-30T20:33:18Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-30T20:33:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully changed/deleted {column}2024-01-30T20:33:19Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully changed/deleted {column}2024-01-30T20:33:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:33:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:33:23Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:33:24Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched incoming friend request(s)2024-01-30T20:33:25Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:33:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:33:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched incoming friend request(s)2024-01-30T20:33:27Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:33:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:33:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched incoming friend request(s)2024-01-30T20:33:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:33:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:33:31Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:33:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:33:58Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:33:59Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:34:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:34:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:34:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:34:22Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:34:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:34:26Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:34:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:34:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-30T20:34:33Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-30T20:34:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no other team members2024-01-30T20:34:33Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no team members provided2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:34:34Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:34:38Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Comment(s) unable to be fetched, something went wrong2024-01-30T20:34:38Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-30T20:34:46Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-30T20:34:46Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-30T20:34:46Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:46Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:34:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression from this user of this type already exists on this content2024-01-30T20:34:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression succesfully created2024-01-30T20:34:47Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Post/comment has no impressions associated2024-01-30T20:34:47Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:34:51Z | FAIL | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Comment(s) unable to be fetched, something went wrong2024-01-30T20:34:51Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully created comment2024-01-30T20:35:02Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No data requested to be fetched, check inputs2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment2024-01-30T20:35:02Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No comments related to requested post2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched comment(s)2024-01-30T20:35:02Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:35:02Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:35:07Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:35:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:35:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-30T20:35:11Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-30T20:35:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no other team members2024-01-30T20:35:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no team members provided2024-01-30T20:35:11Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:35:17Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:36:01Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts unable to be fetched, no other team members2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts unable to be fetched, no team members provided2024-01-30T20:36:01Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation(s) successfully fetched2024-01-30T20:36:01Z | FAIL | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation requests could not be fetched invalid data provided2024-01-30T20:36:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:36:27Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation change request successfully created2024-01-30T20:36:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:36:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-30T20:36:31Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-30T20:36:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:36:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:36:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully changed/deleted {column}2024-01-30T20:36:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:36:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:36:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:36:50Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:36:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:36:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:36:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:37:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:37:00Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:37:01Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:37:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:37:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:37:04Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:37:07Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:37:07Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:37:08Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:37:22Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:37:29Z | INFO | Starting user service for 071f2963-9b6b-4501-81e7-4773ff21c7ff2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched post slot2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friend(s) post(s)2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched friends' post(s)2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no other team members2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Team posts unable to be fetched, no team members provided2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:37:29Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:37:29Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched {column} for requested post2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No post data requested to be fetched, check your inputs2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression(s)2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Succesfully fetched impression count2024-01-30T20:37:30Z | WARN | 071f2963-9b6b-4501-81e7-4773ff21c7ff | No memories exist2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Occupation successfully fetched2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:37:30Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:37:32Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:37:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friends successfully fetched2024-01-30T20:37:34Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Permissions successfully fetched2024-01-30T20:37:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched incoming friend request(s)2024-01-30T20:37:35Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:37:36Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:37:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Friend request successfully created2024-01-30T20:37:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched outgoing friend request(s)2024-01-30T20:37:41Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Successfully fetched friend recomendations2024-01-30T20:37:54Z | INFO | 071f2963-9b6b-4501-81e7-4773ff21c7ff | Authorisation info successfully fetched2024-01-30T20:38:00Z | INFO | Starting user service for 0d2fa135-0311-4729-9f49-77f50f2d83732024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched post slot2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friend(s) post(s)2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched friends' post(s)2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no other team members2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Team posts unable to be fetched, no team members provided2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched {column} for requested post2024-01-30T20:38:00Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No post data requested to be fetched, check your inputs2024-01-30T20:38:01Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression(s)2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Succesfully fetched impression count2024-01-30T20:38:01Z | WARN | 0d2fa135-0311-4729-9f49-77f50f2d8373 | No memories exist2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Occupation successfully fetched2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:38:01Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:38:03Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:38:04Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friends successfully fetched2024-01-30T20:38:04Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Permissions successfully fetched2024-01-30T20:38:05Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched incoming friend request(s)2024-01-30T20:38:05Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:38:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Friend request successfully created2024-01-30T20:38:07Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Successfully fetched friend recomendations2024-01-30T20:38:11Z | INFO | 0d2fa135-0311-4729-9f49-77f50f2d8373 | Authorisation info successfully fetched2024-01-30T20:38:17Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-30T20:38:18Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T20:38:18Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-30T20:38:18Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-30T20:38:18Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:23Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:24Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:29Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:39Z | INFO | Starting user service for 1d270d1b-73bf-470b-8d63-11776f1be31b2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Successfully fetched post slot2024-01-30T20:38:39Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T20:38:39Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched friend(s) post(s)2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team posts Succesfully fetched2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Succesfully fetched team's post(s)2024-01-30T20:38:39Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | No memories exist2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Friends successfully fetched2024-01-30T20:38:39Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:38:45Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T20:38:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:38:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:49Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:50Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:57Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:38:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:04Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:06Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests successfully fetched2024-01-30T20:39:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:12Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:12Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:12Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation change request successfully approved2024-01-30T20:39:12Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation requests could not be fetched something went wrong2024-01-30T20:39:23Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T20:39:23Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:23Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:27Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:39:27Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation(s) successfully fetched2024-01-30T20:39:34Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully updated2024-01-30T20:39:34Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully set2024-01-30T20:39:35Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Permissions successfully fetched2024-01-30T20:39:35Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:35Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Occupation successfully fetched2024-01-30T20:39:38Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T20:39:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T20:39:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:38Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:39:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully changed2024-01-30T20:39:54Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T20:39:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T20:39:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:54Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:39:59Z | FAIL | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders could not be fetched, invalid data provided2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | New leader successfully added to team2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:39:59Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:39:59Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:39:59Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:39:59Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | New leader successfully added to team2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:08Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:08Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:08Z | WARN | 1d270d1b-73bf-470b-8d63-11776f1be31b | This user already exists as a leader of the team2024-01-30T20:40:08Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team leaders successfully fetched2024-01-30T20:40:09Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team members successfully fetched2024-01-30T20:40:09Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Team data successfully fetched2024-01-30T20:40:09Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:40:41Z | INFO | 1d270d1b-73bf-470b-8d63-11776f1be31b | Authorisation info successfully fetched2024-01-30T20:40:54Z | INFO | Starting user service for 7d65e525-2709-4319-9be3-3d3fdb5b011f2024-01-30T20:40:54Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched post slot2024-01-30T20:40:54Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-30T20:40:55Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friend(s) post(s)2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched friends' post(s)2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team posts Succesfully fetched2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched team's post(s)2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post(s) Succesfully fetched2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:40:55Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:55Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched {column} for requested post2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No post data requested to be fetched, check your inputs2024-01-30T20:40:56Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched post memories2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:40:56Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:40:57Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-30T20:40:57Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:40:58Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Permissions successfully fetched2024-01-30T20:40:58Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team data successfully fetched2024-01-30T20:40:58Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:40:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friends successfully fetched2024-01-30T20:40:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Permissions successfully fetched2024-01-30T20:40:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Team data successfully fetched2024-01-30T20:40:59Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Occupation successfully fetched2024-01-30T20:41:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched outgoing friend request(s)2024-01-30T20:41:01Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:41:04Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Friend request successfully created2024-01-30T20:41:04Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched outgoing friend request(s)2024-01-30T20:41:05Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Successfully fetched friend recomendations2024-01-30T20:41:16Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:41:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:41:16Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-30T20:41:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:41:16Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:41:16Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully created comment2024-01-30T20:41:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:41:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:41:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:41:23Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:41:23Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:41:24Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression from this user of this type already exists on this content2024-01-30T20:41:24Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression succesfully created2024-01-30T20:41:24Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post/comment has no impressions associated2024-01-30T20:41:24Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:41:29Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No data requested to be fetched, check inputs2024-01-30T20:41:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment2024-01-30T20:41:29Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | No comments related to requested post2024-01-30T20:41:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched comment(s)2024-01-30T20:41:29Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Post/comment has no impressions associated2024-01-30T20:41:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression(s)2024-01-30T20:41:29Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Succesfully fetched impression count2024-01-30T20:41:31Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression from this user of this type already exists on this content2024-01-30T20:41:31Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression succesfully created2024-01-30T20:41:33Z | WARN | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression from this user of this type already exists on this content2024-01-30T20:41:33Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Impression succesfully created2024-01-30T20:41:37Z | INFO | 7d65e525-2709-4319-9be3-3d3fdb5b011f | Authorisation info successfully fetched2024-01-30T20:41:50Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:41:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:41:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:41:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:41:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:41:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:41:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team leaders successfully fetched2024-01-30T20:41:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team members successfully fetched2024-01-30T20:41:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:41:59Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:42:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:42:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:42:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:42:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:42:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:42:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:42:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:42:17Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No notifications exist for this user2024-01-30T20:42:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Notification(s) successfully fetched2024-01-30T20:42:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:42:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:42:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:42:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:42:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:42:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:42:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:42:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched incoming friend request(s)2024-01-30T20:42:26Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:42:27Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:42:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friend request successfully created2024-01-30T20:42:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched outgoing friend request(s)2024-01-30T20:42:34Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched friend recomendations2024-01-30T20:42:51Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:42:51Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:42:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:42:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:42:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-30T20:42:52Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:42:52Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:42:53Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:42:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:42:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully created comment2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No data requested to be fetched, check inputs2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No comments related to requested post2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched comment(s)2024-01-30T20:43:09Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:43:09Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:43:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:43:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:43:12Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:43:12Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:43:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:43:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:43:13Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:43:13Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:43:17Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:43:17Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions succesfully fetched2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:43:21Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:43:52Z | INFO | client SC5iJLr7akpDZbbnAAAP disconnected2024-01-30T20:43:55Z | WARN | Server recieved shutdown signal2024-01-30T20:43:55Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:44:33Z | INFO | Ensuring server directories2024-01-30T20:44:33Z | INFO | Ensuring config file2024-01-30T20:44:33Z | INFO | Config already exists2024-01-30T20:44:33Z | INFO | Ensuring database2024-01-30T20:44:33Z | INFO | Checking encryption2024-01-30T20:44:33Z | INFO | Starting server background service2024-01-30T20:44:33Z | INFO | Server mode normal, continuing startup2024-01-30T20:44:51Z | WARN | Server recieved shutdown signal2024-01-30T20:44:51Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:44:52Z | INFO | Ensuring server directories2024-01-30T20:44:52Z | INFO | Ensuring config file2024-01-30T20:44:52Z | INFO | Config already exists2024-01-30T20:44:52Z | INFO | Ensuring database2024-01-30T20:44:52Z | INFO | Checking encryption2024-01-30T20:44:52Z | INFO | Starting server background service2024-01-30T20:44:52Z | INFO | Server mode normal, continuing startup2024-01-30T20:45:23Z | INFO | client x4GUI3sEXHODgpwJAAAB connected2024-01-30T20:45:23Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-30T20:45:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:45:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:45:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:24Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:45:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:25Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:45:25Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:45:32Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:45:35Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post successfully created2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:45:47Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:45:47Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:45:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:45:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:46:48Z | INFO | client x4GUI3sEXHODgpwJAAAB disconnected2024-01-30T20:46:50Z | WARN | Server recieved shutdown signal2024-01-30T20:46:50Z | INFO | Server finished pre-shutdown process calling stop2024-01-30T20:47:04Z | INFO | Ensuring server directories2024-01-30T20:47:04Z | INFO | Ensuring config file2024-01-30T20:47:04Z | INFO | Config already exists2024-01-30T20:47:04Z | INFO | Ensuring database2024-01-30T20:47:04Z | INFO | Checking encryption2024-01-30T20:47:04Z | INFO | Starting server background service2024-01-30T20:47:04Z | INFO | Server mode normal, continuing startup2024-01-30T20:47:28Z | INFO | client v2vLki__Ezldw4SMAAAB connected2024-01-30T20:47:28Z | INFO | Starting user service for 718d0307-0777-4f0b-bd61-8b216153250f2024-01-30T20:47:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:47:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:47:28Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:47:28Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:47:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:47:28Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Post/comment has no impressions associated2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:47:29Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:47:29Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:47:30Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No memories exist2024-01-30T20:47:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:47:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:47:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Friends successfully fetched2024-01-30T20:47:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:47:40Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression from this user of this type already exists on this content2024-01-30T20:47:40Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Impression succesfully created2024-01-30T20:47:48Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions succesfully fetched2024-01-30T20:47:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Permissions successfully fetched2024-01-30T20:47:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Authorisation info successfully fetched2024-01-30T20:47:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team data successfully fetched2024-01-30T20:47:49Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Occupation successfully fetched2024-01-30T20:48:02Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:48:06Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Successfully fetched post slot2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post successfully created2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched post memories2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:48:23Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:48:23Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:48:24Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched {column} for requested post2024-01-30T20:48:30Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | No post data requested to be fetched, check your inputs2024-01-30T20:48:30Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Impression(s) unable to be fetched, somethign went wrong2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression(s)2024-01-30T20:48:30Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched impression count2024-01-30T20:50:53Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:50:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:50:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:50:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:50:53Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:50:54Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:50:56Z | WARN | 718d0307-0777-4f0b-bd61-8b216153250f | Could not fetch friend(s) post(s), no friends exist2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friend(s) post(s)2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched friends' post(s)2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Team posts Succesfully fetched2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Succesfully fetched team's post(s)2024-01-30T20:50:56Z | INFO | 718d0307-0777-4f0b-bd61-8b216153250f | Post(s) Succesfully fetched2024-01-30T20:56:03Z | INFO | client v2vLki__Ezldw4SMAAAB disconnected2024-01-30T20:56:04Z | WARN | Server recieved shutdown signal2024-01-30T20:56:04Z | INFO | Server finished pre-shutdown process calling stop \ No newline at end of file diff --git a/testing/ctypes/libcppsss.so b/testing/ctypes/libcppsss.so new file mode 100644 index 0000000..5943799 Binary files /dev/null and b/testing/ctypes/libcppsss.so differ diff --git a/testing/ctypes/main.py b/testing/ctypes/main.py new file mode 100644 index 0000000..4b6143f --- /dev/null +++ b/testing/ctypes/main.py @@ -0,0 +1,67 @@ +import ctypes +import pathlib + +def fill(): + ys = [1827, 4266, 7837] + share_array = [] + for i in range(3): + share_array.append([i+1, ys[i]]) + + return share_array + +def c_fill(): + c_share_array = ((ctypes.c_longlong*2)*3) + share_array = [] + ys = [182788, 4266752, 78378353] + for i in range(3): + c_share = (ctypes.c_longlong*2)(*[i+1, ys[i]]) + share_array.append(c_share) + + c_share_array = ((ctypes.c_longlong*2)*3)(*share_array) + + return c_share_array + +def gen_shares(): + libname = pathlib.Path().absolute() / "libcppsss.so" + c_lib = ctypes.CDLL(libname) + + c_share = ctypes.c_longlong*2 + c_share_array = ((ctypes.c_longlong*2)*3) + c_share_array_pointer = ctypes.POINTER(c_share_array) + + length = 2*3 + c_share_array = (ctypes.c_long*length) + c_share_array_pointer = ctypes.POINTER(c_share_array) + c_string = ctypes.POINTER(ctypes.c_char) + + c_lib.newSecretInternal.argtypes = [ctypes.c_longlong, ctypes.c_int, ctypes.c_int, ctypes.POINTER(ctypes.c_char)] + c_lib.newSecretInternal.restypes = None + + print("calculating...") + + path = "shares/" + charptr = ctypes.c_char_p(path.encode('utf-8')) + c_lib.newSecretInternal(520, 5, 3, charptr) + +def main(): + share_array = fill() + print(share_array) + + libname = pathlib.Path().absolute() / "libcppsss.so" + c_lib = ctypes.CDLL(libname) + + c_share_array = ((ctypes.c_longlong*2)*3) + c_share_array_pointer = ctypes.POINTER(c_share_array) + + c_lib.solveInternal.argtypes = [c_share_array_pointer, ctypes.c_int] + c_lib.solveInternal.restypes = int + + #new_share_array = ctypes.pointer((c_share_array)(*share_array)) + new_share_array = ctypes.pointer(c_fill()) + print("calculating...") + result = c_lib.solveInternal(new_share_array, 3) + print(f"result: {result}") + +if __name__ == "__main__": + gen_shares() + #main() diff --git a/testing/ctypes/shares/share-1.txt b/testing/ctypes/shares/share-1.txt new file mode 100644 index 0000000..b25d745 --- /dev/null +++ b/testing/ctypes/shares/share-1.txt @@ -0,0 +1,5 @@ +Share number: 1 +Share secret: 1827 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/testing/ctypes/shares/share-2.txt b/testing/ctypes/shares/share-2.txt new file mode 100644 index 0000000..7d0378d --- /dev/null +++ b/testing/ctypes/shares/share-2.txt @@ -0,0 +1,5 @@ +Share number: 2 +Share secret: 4266 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/testing/ctypes/shares/share-3.txt b/testing/ctypes/shares/share-3.txt new file mode 100644 index 0000000..d864a0f --- /dev/null +++ b/testing/ctypes/shares/share-3.txt @@ -0,0 +1,5 @@ +Share number: 3 +Share secret: 7837 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/testing/ctypes/shares/share-4.txt b/testing/ctypes/shares/share-4.txt new file mode 100644 index 0000000..79e6bf5 --- /dev/null +++ b/testing/ctypes/shares/share-4.txt @@ -0,0 +1,5 @@ +Share number: 4 +Share secret: 12540 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/testing/ctypes/shares/share-5.txt b/testing/ctypes/shares/share-5.txt new file mode 100644 index 0000000..27b4fee --- /dev/null +++ b/testing/ctypes/shares/share-5.txt @@ -0,0 +1,5 @@ +Share number: 5 +Share secret: 18375 +Minimum share required: 3 + +IMPORTANT: Please remind your admin that its there job to distribute and delete shares from the server \ No newline at end of file diff --git a/testing/ctypes/sss b/testing/ctypes/sss new file mode 100644 index 0000000..8a99dbd Binary files /dev/null and b/testing/ctypes/sss differ diff --git a/testing/ctypes/sss.cpp b/testing/ctypes/sss.cpp new file mode 100644 index 0000000..e735402 --- /dev/null +++ b/testing/ctypes/sss.cpp @@ -0,0 +1,390 @@ +#include +# include +# include +# include +# include +# include +#include +using namespace std; + +typedef long int Lint; // 64 bits +typedef double Ldouble; +struct security { + int num_shares; + int num_required; +}; + +struct shareStruct { + int x; + Lint y; +}; + +bool isPrime(Lint n) { + int flag = 0; + for (int i = 2; i <= n / i; ++i) { + if (n % i == 0) { + flag = 1; + break; + } + } + if (flag == 0) return true; + else return false; +} + +Lint genRandInt(int n) { + // Returns a random number + // between 2**(n-1)+1 and 2**n-1 + //long max = (long)powl(2, n) - 1; + //long min = (long)powl(2, n - 1) + 1; + long max = (long)pow(2, n) - 1; + long min = (long)pow(2, n - 1) + 1; + Lint result = min + (rand() % ( max - min + 1 ) ); + return result; +} + +Lint genPrime() { + Lint prime = 10; + + while (isPrime(prime) == false) { + int complexity = 50; + prime = genRandInt(complexity); + } + return prime; +} + +int* encodeSecret(int* poly, const int secret, const int num_required) { + poly[num_required-1] = secret; + return poly; +} + +Lint getPolyY(const int* poly, int poly_len, int poly_x, const Lint prime) { + Lint total = 0; + Lint poly_y = 0; + + for (int i=0; i