From 2c0dfa97ecf0ff9e95af2b4a649281cb57bb11f5 Mon Sep 17 00:00:00 2001 From: Christian Hellsten Date: Mon, 8 Jan 2024 18:34:34 +0200 Subject: [PATCH] Make design more responsive --- README.md | 1 + css/ChatArea.scss | 5 +++ css/ChatForm.scss | 2 +- css/ChatHeader.scss | 2 +- css/Sidebar.scss | 1 + css/colors.scss | 6 ++- css/icons.scss | 8 ++-- css/modal.scss | 9 ++++- css/reset.scss | 10 ++++- css/responsive.scss | 11 ++++++ css/theme.scss | 1 + dist/script.d573be0b.js | 2 +- dist/script.d573be0b.js.map | 2 +- dist/theme.7fcc2895.css | 50 +++++++++++++++++++----- dist/theme.7fcc2895.css.map | 2 +- dist/theme.7fcc2895.js | 2 +- package.json | 1 + screenshots/darkmode-chat-collapsed.png | Bin 34690 -> 64075 bytes screenshots/darkmode-chat.png | Bin 36729 -> 66112 bytes screenshots/darkmode-screenshot.png | Bin 10145 -> 10157 bytes screenshots/darkmode-settings.png | Bin 46120 -> 46142 bytes screenshots/mobile-chat-collapsed.png | Bin 67089 -> 25795 bytes screenshots/mobile-chat.png | Bin 68934 -> 29504 bytes screenshots/mobile-screenshot.png | Bin 7320 -> 6194 bytes screenshots/mobile-search.png | Bin 14850 -> 12244 bytes screenshots/mobile-settings.png | Bin 28893 -> 26863 bytes 26 files changed, 91 insertions(+), 24 deletions(-) create mode 100644 css/responsive.scss diff --git a/README.md b/README.md index ec73600..072b3be 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ $ parcel build index.html
Tasks + - [ ] Ollama authentication - [ ] Edit message / response - [ ] Clear chat - [ ] CSP diff --git a/css/ChatArea.scss b/css/ChatArea.scss index 245ef4e..9e4d911 100644 --- a/css/ChatArea.scss +++ b/css/ChatArea.scss @@ -3,4 +3,9 @@ display: flex; flex-direction: row; overflow: auto; + +} + +#chat-menu-button { + background-color: var(--secondary-bg-color); } diff --git a/css/ChatForm.scss b/css/ChatForm.scss index 7860ba1..e81a454 100644 --- a/css/ChatForm.scss +++ b/css/ChatForm.scss @@ -26,7 +26,7 @@ } .icon-send { - font-size: 18px; + font-size: 1.2rem; } } diff --git a/css/ChatHeader.scss b/css/ChatHeader.scss index 2ad96e6..d2a6064 100644 --- a/css/ChatHeader.scss +++ b/css/ChatHeader.scss @@ -1,6 +1,6 @@ #chat-header { // NOTE: Should match #chat-form border-top - border-bottom: 1px solid #ccc; + border-bottom: 1px solid #ddd; @extend %box-shadow; diff --git a/css/Sidebar.scss b/css/Sidebar.scss index 04fb223..9c7c6b8 100644 --- a/css/Sidebar.scss +++ b/css/Sidebar.scss @@ -5,6 +5,7 @@ aside { /* Sidebar styling */ #sidebar { @extend %box-shadow; + background-color: var(--secondary-bg-color); // NOTE: This should be the same as chat-header border-bottom border-right: 1px solid #cccccc5e; diff --git a/css/colors.scss b/css/colors.scss index d115e9d..60af910 100644 --- a/css/colors.scss +++ b/css/colors.scss @@ -9,6 +9,7 @@ --tertiary-color: #eee; --error-color: #ef4040; --bg-color: #fafafa; + --secondary-bg-color: #f0f0f0; --text-color: #333; --text-color-lighten-20: #{color.adjust(#eee, $lightness:20%)}; --icon-color: var(--primary-color); @@ -20,7 +21,7 @@ --border-color: #{color.adjust(#393e46, $lightness:60%)}; --border-hover-color: #{color.adjust(#393e46, $lightness:40%)}; --border-focus-color: #{color.adjust(#393e46, $lightness:30%)}; - --box-shadow-color: rgb(196 204 213 / 74.9%); + --box-shadow-color: rgb(196 204 213 / 37%); --box-shadow-modal-color: #444; --modal-header-bg-color: var(--primary-color); } @@ -35,6 +36,7 @@ --tertiary-color: #d1d1d1; --error-color: #ff6b6b; --bg-color: #121212; + --secondary-bg-color: #222; --text-color: #fafafa; --text-color-lighten-20: #{color.adjust(#fafafa, $lightness:20%)}; --icon-color: var(--text-color); @@ -46,7 +48,7 @@ --border-color: #{color.adjust(#4f5b66, $lightness:30%)}; --border-hover-color: #{color.adjust(#4f5b66, $lightness:50%)}; --border-focus-color: #{color.adjust(#4f5b66, $lightness:60%)}; - --box-shadow-color: rgb(40 48 57 / 74.9%); + --box-shadow-color: rgb(40 48 57 / 30%); --box-shadow-modal-color: #444; --modal-header-bg-color: var(--bg-color); } diff --git a/css/icons.scss b/css/icons.scss index 744ede9..19b9c06 100644 --- a/css/icons.scss +++ b/css/icons.scss @@ -4,13 +4,13 @@ i[class^='icon-'] { color: var(--icon-color); - font-size: 12px; + font-size: 0.75rem; vertical-align: middle; } svg { - width: 24px; - height: 24px; + width: 1.5rem; + height: 1.5rem; vertical-align: middle; } @@ -36,7 +36,7 @@ svg { .icon-new::before { content: '\002B'; - font-size: 14px; + font-size: 0.875rem; } .icon-search::before { diff --git a/css/modal.scss b/css/modal.scss index aea2121..708b48d 100644 --- a/css/modal.scss +++ b/css/modal.scss @@ -17,9 +17,16 @@ border-bottom: 1px solid var(--border-color); .button { + background-color: var(--light-text-color); border-radius: var(--border-radius); - padding: 0.5rem; + padding: 0.35rem; line-height: 0.5rem; + border-radius: 1rem; + } + + .button:hover { + position: relative; + top: -1px; } h2 { diff --git a/css/reset.scss b/css/reset.scss index 7de8aba..4df1480 100644 --- a/css/reset.scss +++ b/css/reset.scss @@ -128,9 +128,17 @@ table { border-spacing: 0; } +input, button, textarea, select { + font: inherit; +} + +// Remove padding of everything and make border-box the default html * { margin: 0; padding: 0; box-sizing: border-box; - font-size: 16px; /* Standard font size for body */ +} + +html { + font-size: 16px; /* Standard font size for body, use rem to modify font-size */ } diff --git a/css/responsive.scss b/css/responsive.scss new file mode 100644 index 0000000..48c5fcc --- /dev/null +++ b/css/responsive.scss @@ -0,0 +1,11 @@ +@media (max-width: 1024px) { + html { + font-size: 0.875rem; + } +} + +@media (max-width: 768px) { + html { + font-size: 0.75rem; + } +} diff --git a/css/theme.scss b/css/theme.scss index 864cafb..c394d0f 100644 --- a/css/theme.scss +++ b/css/theme.scss @@ -12,6 +12,7 @@ @import 'utils'; @import 'spinner'; @import 'style'; +@import 'responsive'; // Components @import 'Hoverable'; diff --git a/dist/script.d573be0b.js b/dist/script.d573be0b.js index 81a6f75..675ea9f 100644 --- a/dist/script.d573be0b.js +++ b/dist/script.d573be0b.js @@ -2086,7 +2086,7 @@ var parent = module.bundle.parent; if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') { var hostname = "" || location.hostname; var protocol = location.protocol === 'https:' ? 'wss' : 'ws'; - var ws = new WebSocket(protocol + '://' + hostname + ':' + "51276" + '/'); + var ws = new WebSocket(protocol + '://' + hostname + ':' + "57993" + '/'); ws.onmessage = function (event) { checkedAssets = {}; assetsToAccept = []; diff --git a/dist/script.d573be0b.js.map b/dist/script.d573be0b.js.map index 6aba773..e8a20f9 100644 --- a/dist/script.d573be0b.js.map +++ b/dist/script.d573be0b.js.map @@ -1 +1 @@ -{"version":3,"sources":["js/UINotification.js","js/models/Settings.js","js/Event.js","js/Dom.js","js/debounce.js","js/Database.js","js/Migrations.js","js/models/BaseModel.js","js/models/ChatMessage.js","js/models/Chat.js","js/AppController.js","js/ChatListItem.js","js/DragAndDrop.js","js/ChatList.js","js/DownloadChatsButton.js","js/models/LocalStorage.js","js/Sidebar.js","js/CopyButton.js","js/OllamaApi.js","js/DownloadButton.js","js/DropDownMenu.js","js/Modal.js","js/List.js","js/models/Models.js","js/ModelsList.js","js/SettingsDialog.js","js/ChatSettingsDialog.js","js/Hoverable.js","js/ChatTitle.js","js/ChatForm.js","js/ChatArea.js","js/App.js","js/script.js","../../../../../usr/local/lib/node_modules/parcel-bundler/src/builtins/hmr-runtime.js"],"names":["simpleHash","str","hash","i","length","char","charCodeAt","UINotification","constructor","message","type","id","JSON","stringify","domId","container","document","body","template","getElementById","content","_bindEventListeners","window","addEventListener","event","key","hide","show","notification","initialize","originalConsoleError","console","error","_len","arguments","args","Array","_key","apply","handleApplicationError","debug","clone","cloneNode","notificationElement","querySelector","textContent","classList","add","closeButton","onclick","appendChild","remove","exports","Settings","set","value","stringValue","localStorage","setItem","e","get","defaultValue","undefined","getItem","parse","removeItem","getUrl","uri","baseUrl","URL","href","setUrl","url","getModel","setModel","model","getSystemPrompt","setSystemPrompt","systemPrompt","getModelParameters","setModelParameters","modelParameters","getCurrentChatId","setCurrentChatId","chatId","Event","listen","eventName","handler","detail","emit","data","log","CustomEvent","bubbles","dispatchEvent","DOM","showElement","element","hideElement","enableInput","removeAttribute","disableInput","setAttribute","debounce","func","wait","timeout","funcWrapper","later","clearTimeout","setTimeout","Database","dbName","objectStores","migrations","dbConnection","open","Error","Promise","resolve","reject","request","indexedDB","version","onerror","target","onupgradeneeded","db","result","transaction","currentTarget","upgrade","oldVersion","onsuccess","storeName","mode","objectStore","store","handleRequest","put","delete","getAll","clear","Migrations","database","funcName","upgradeFunc","upgradeToVersion2","context","createObjectStore","keyPath","autoIncrement","chatMessages","createIndex","unique","_Database","require","_Migrations","BaseModel","Object","assign","name","create","save","records","map","getAllByIndexAndId","indexName","index","messages","export","_BaseModel","ChatMessage","getAllByChatId","_ChatMessage","Chat","addMessage","getMessages","chat","_Event","_Chat","_Settings","AppController","updateChat","createChat","title","deleteChatMessage","messageId","deleteChat","getCurrentChat","setCurrentChat","clearChats","_AppController","ChatListItem","chatList","selected","setTitle","bindEventListeners","render","onMouseover","bind","onMouseout","onClick","selectChat","chatTitle","DragAndDrop","selector","listItems","querySelectorAll","draggedItem","initializeDragAndDrop","forEach","item","handleDragStart","handleDragOver","handleDrop","handleDragEnd","preventDefault","currentHTML","innerHTML","_ChatListItem","_DragAndDrop","ChatList","then","handleChatCreated","handleChatDeleted","handleChatsCleared","handleChatUpdated","handleChatSelected","appendChat","elements","listElement","previousListElement","newListElement","currentChatId","chats","chatListItem","DownloadChatsButton","button","exportChat","exportChatMessages","jsonData","blob","Blob","createObjectURL","a","createElement","download","click","revokeObjectURL","errorCode","LocalStorage","_debounce","_ChatList","_DownloadChatsButton","_LocalStorage","Sidebar","settings","newChatButton","clearButton","hamburgerButton","searchButton","downloadChatsButton","searchRow","searchInput","toggleSearch","performSearch","handleNewChat","handleClear","toggle","listItem","scrollIntoView","behavior","block","inline","focus","escapeRegExp","string","replace","query","trim","queryContent","regex","RegExp","matches","filter","match","test","includes","contains","CopyButton","targetSelector","getAttribute","textToCopy","innerText","textarea","select","execCommand","removeChild","alert","OllamaApi","abortController","send","onResponse","onError","onDone","response","postChatMessage","handleResponse","AbortController","signal","fetch","method","headers","ok","status","reader","getReader","partialLine","isRequestDone","done","read","textChunk","TextDecoder","decode","lines","split","pop","line","responseData","printResponseStats","abort","total_duration","totalDurationInSeconds","loadDurationInSeconds","load_duration","promptEvalDurationInSeconds","prompt_eval_duration","responseEvalDurationInSeconds","eval_duration","tokensPerSecond","eval_count","output","created_at","toFixed","prompt_eval_count","getModels","json","models","catch","DownloadButton","targetId","downloadElementContent","elementId","filename","DropDownMenu","buttonSelector","dropDownMenus","init","menuElement","closest","dropDownMenu","toggleMenu","menu","Modal","modal","handleShow","handleHide","List","containerId","items","clickHandler","setItems","setSelected","getSelected","ul","li","_OllamaApi","Models","load","getNames","findModelByName","find","_List","_Models","ModelsList","selectedModel","modelList","handleModelsLoaded","_Modal","_UINotification","_ModelsList","SettingsDialog","showButton","urlInput","modelInput","systemPromptInput","modelParametersInput","refreshModelsButton","loadSettings","parsedValue","prettyJSON","refreshModels","ChatSettingsDialog","Hoverable","hoverable","ChatTitle","defaultTitle","hasFocus","activeElement","handleSave","blur","ChatForm","chatHistory","messageInput","sendButton","abortButton","_Hoverable","_ChatTitle","_ChatForm","ChatArea","chatForm","editChatButton","scrollToTopButton","scrollToEndButton","deleteChatButton","createMessageDiv","scrollToEnd","scrollToTop","handleEditChat","handleDeleteChat","currentMessage","next","previous","nextElementSibling","firstElementChild","previousElementSibling","lastElementChild","role","messageClone","messageDiv","textSpan","deleteButton","spellcheck","dataset","stopPropagation","scrollTop","scrollHeight","_Dom","_Sidebar","_CopyButton","_DownloadButton","_DropDownMenu","_SettingsDialog","_ChatSettingsDialog","_ChatArea","App","run","app","sidebar","chatArea","ollamaApi","settingsDialog","chatSettingsDialog","downloadButton","copyButton","initializeElements","logInitialization","msg","handleAbort","handleKeyPress","history","pushState","enableForm","shiftKey","sendMessage","disableForm","userMessage","createChatMessage","responseElement","requestContext","requestData","prompt","system","options","handleResponseError","handleDone","sanitizedContent","sanitizeContent","getIdParam","location","pathname","_App","OVERLAY_ID","OldModule","module","bundle","Module","moduleName","call","hot","hotData","_acceptCallbacks","_disposeCallbacks","accept","fn","push","dispose","checkedAssets","assetsToAccept","parent","isParcelRequire","WebSocket","hostname","protocol","ws","onmessage","handled","assets","asset","isNew","didAccept","hmrAcceptCheck","global","parcelRequire","every","generated","js","hmrApply","v","hmrAcceptRun","reload","close","onclose","removeErrorOverlay","stack","overlay","createErrorOverlay","stackTrace","getParents","modules","parents","k","d","dep","isArray","concat","Function","deps","cached","cache","some","cb"],"mappings":"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","file":"script.d573be0b.js","sourceRoot":"..","sourcesContent":["function simpleHash(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return hash;\n}\n\n// Show all uncaught errors as UI notifications\n/*\nwindow.onerror = function (message, source, lineno, colno, error) {\n const errorDetails = `${message} at ${source}:${lineno}:${colno}`;\n UINotification.show(errorDetails, 'error');\n return true;\n};\n*/\n\nexport class UINotification {\n constructor(message, type) {\n const id = simpleHash(JSON.stringify(message));\n this.type = type;\n this.domId = `notification-${id}`;\n this.container = document.body;\n this.template = document.getElementById('notification-template').content;\n this._bindEventListeners();\n }\n\n _bindEventListeners() {\n window.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n });\n }\n\n static show(message, type) {\n const notification = new UINotification(message, type);\n notification.show(message);\n }\n\n static initialize() {\n // Store the original console.error function\n const originalConsoleError = console.error;\n\n // Override console.error\n console.error = function (...args) {\n UINotification.show(args);\n // Call the original console.error with all arguments\n originalConsoleError.apply(console, args);\n };\n }\n\n static handleApplicationError(error) {\n console.debug('caught error');\n console.error(error);\n UINotification.show(error);\n }\n\n show(message) {\n // Clone the template\n const clone = this.template.cloneNode(true);\n\n // Find the root element of the notification in the clone\n const notificationElement = clone.querySelector('.notification');\n if (!notificationElement) {\n console.error('Notification root element not found in template');\n return;\n }\n\n // Set the message\n clone.querySelector('.notification-message').textContent = message;\n\n notificationElement.id = this.domId; // Set ID on the actual element, not the fragment\n // Add type, for example, error\n if (this.type) {\n notificationElement.classList.add(`notification-${this.type}`);\n }\n\n // Add close functionality\n const closeButton = clone.querySelector('.close-notification-button');\n closeButton.onclick = () => this.hide();\n\n // Don't show the same notification twice\n if (!document.getElementById(this.domId)) {\n // Append to the container and display\n this.container.appendChild(clone);\n }\n }\n\n hide() {\n document.getElementById(this.domId)?.remove();\n }\n}\n","export class Settings {\n // Static method to set a value in localStorage\n static set(key, value) {\n try {\n const stringValue = JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n } catch (e) {\n console.error('Error saving to localStorage', e);\n }\n }\n\n // Static method to get a value from localStorage\n static get(key, defaultValue = null) {\n try {\n const value = localStorage.getItem(key);\n return value !== null ? JSON.parse(value) : defaultValue;\n } catch (e) {\n console.error('Error reading from localStorage', e);\n return defaultValue;\n }\n }\n\n // Static method to remove a value from localStorage\n static remove(key) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n console.error('Error removing from localStorage', e);\n }\n }\n\n static getUrl(uri) {\n try {\n const baseUrl = Settings.get('url');\n if (uri) {\n return new URL(uri, baseUrl).href;\n } else {\n return baseUrl;\n }\n } catch (error) {\n return null;\n }\n }\n\n static setUrl(url) {\n Settings.set('url', url);\n }\n\n static getModel() {\n return Settings.get('model');\n }\n\n static setModel(model) {\n Settings.set('model', model);\n }\n\n static getSystemPrompt() {\n return Settings.get('system-prompt');\n }\n\n static setSystemPrompt(systemPrompt) {\n if (systemPrompt === '') {\n systemPrompt = null;\n }\n Settings.set('system-prompt', systemPrompt);\n }\n\n static getModelParameters() {\n return Settings.get('model-parameters');\n }\n\n static setModelParameters(modelParameters) {\n if (modelParameters === '') {\n modelParameters = null;\n }\n Settings.set('model-parameters', modelParameters);\n }\n\n static getCurrentChatId() {\n return Settings.get('currentChatId');\n }\n\n static setCurrentChatId(chatId) {\n if (chatId === undefined) {\n chatId = null;\n }\n Settings.set('currentChatId', chatId);\n }\n}\n","export class Event {\n static listen(eventName, handler) {\n window.addEventListener(eventName, (event) => {\n handler(event.detail);\n });\n }\n\n static emit(eventName, data) {\n let log = `${eventName}`;\n if (data?.id) {\n log += ` id: ${data.id}`;\n }\n console.log(log);\n const event = new CustomEvent(eventName, {\n detail: data || {},\n bubbles: true, // This makes the event bubble up through the DOM\n });\n window.dispatchEvent(event);\n }\n}\n","export class DOM {\n static showElement(element) {\n element.classList.remove('hidden');\n return this;\n }\n\n static hideElement(element) {\n element.classList.add('hidden');\n return this;\n }\n\n static enableInput(element) {\n element.removeAttribute('disabled');\n return this;\n }\n\n static disableInput(element) {\n element.setAttribute('disabled', 'disabled');\n return this;\n }\n}\n","export function debounce(func, wait) {\n let timeout;\n\n return function funcWrapper(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n","export class Database {\n constructor(dbName, objectStores, migrations) {\n this.dbName = dbName;\n this.objectStores = objectStores;\n this.dbConnection = null; // Initialized in open\n this.migrations = migrations;\n }\n\n async open() {\n if (this.dbConnection) {\n throw new Error('Connection already open');\n }\n\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(this.dbName, this.migrations.version);\n\n request.onerror = (event) => reject(event.target.error);\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n const transaction = event.currentTarget.transaction;\n this.migrations.upgrade(db, transaction, event.oldVersion);\n };\n request.onsuccess = (event) => {\n this.dbConnection = event.target.result;\n resolve(this.dbConnection);\n };\n });\n }\n\n async transaction(storeName, mode) {\n return this.dbConnection\n .transaction([storeName], mode)\n .objectStore(storeName);\n }\n\n async add(storeName, data) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('add', store.add(data));\n }\n\n async get(storeName, id) {\n const store = await this.transaction(storeName, 'readonly');\n return this.handleRequest('get', store.get(id));\n }\n\n async put(storeName, data) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('put', store.put(data));\n }\n\n async delete(storeName, id) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('delete', store.delete(id));\n }\n\n async getAll(storeName) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('getAll', store.getAll());\n }\n\n async clear(storeName) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('deleteAll', store.clear());\n }\n\n handleRequest(type, request) {\n return new Promise((resolve, reject) => {\n request.onsuccess = () => resolve(request.result);\n\n request.onerror = (event) => {\n const error = `Database ${type} operation failed: ${event.target.error.message}`;\n reject(new Error(JSON.stringify(error)));\n };\n });\n }\n}\n","export class Migrations {\n static version = 2;\n static upgrade(database, transaction, oldVersion) {\n console.debug(\n `Migration needed. Old version ${oldVersion}. New version ${this.version}.`,\n );\n const funcName = `upgradeToVersion${this.version}`;\n const upgradeFunc = this[funcName];\n if (!upgradeFunc) {\n throw new Error(`Upgrade function missing for ${funcName}`);\n }\n if (this.version >= oldVersion) {\n upgradeFunc({ database, transaction });\n }\n }\n\n static upgradeToVersion2(context) {\n // Create chats\n context.database.createObjectStore('chats', {\n keyPath: 'id',\n autoIncrement: true,\n });\n // Create chat_messages\n const chatMessages = context.database.createObjectStore('chat_messages', {\n keyPath: 'id',\n autoIncrement: true,\n });\n chatMessages.createIndex('by_chat', 'chatId', { unique: false });\n }\n}\n","import { Database } from '../Database.js';\nimport { Migrations } from '../Migrations.js';\n\nexport class BaseModel {\n constructor(data) {\n Object.assign(this, data);\n }\n\n static async database(name, store) {\n this.dbName = name;\n this.storeName = store;\n this.db = new Database(name, [store], Migrations);\n await this.db.open();\n }\n\n static async transaction(mode) {\n return await this.db.transaction(this.storeName, mode);\n }\n\n async transaction(mode) {\n return await this.constructor.transaction(mode);\n }\n\n async create() {\n const key = await this.constructor.db.add(this.constructor.storeName, this);\n if (!this.id) {\n this.id = key;\n }\n return this;\n }\n\n async save() {\n return await this.constructor.db.put(this.constructor.storeName, this);\n }\n\n async delete() {\n return await this.constructor.db.delete(\n this.constructor.storeName,\n this.id,\n );\n }\n\n static async get(id) {\n const data = await this.db.get(this.storeName, id);\n return new this(data);\n }\n\n static async clear() {\n return await this.db.clear(this.storeName);\n }\n\n // TODO: sorting and selecting only certain attributes\n static async getAll() {\n const records = await this.db.getAll(this.storeName);\n return records.map((data) => new this(data));\n }\n\n /**\n * Retrieves all objects associated with a given ID and index.\n *\n * @param {number|string} chatId - The ID of the chat.\n * @returns {Promise} A promise that resolves to an array.\n */\n static async getAllByIndexAndId(indexName, id) {\n // Open a transaction and access the messages store\n const transaction = await this.transaction('readonly');\n\n // Use an index to find objects with the specified id\n const index = transaction.index(indexName);\n const request = index.getAll(id);\n\n return new Promise((resolve, reject) => {\n request.onsuccess = () => {\n // Convert the result into instances\n const messages = request.result.map((data) => new this(data));\n resolve(messages);\n };\n request.onerror = () => {\n reject(request.error);\n };\n });\n }\n\n // Exports the whole store\n static async export() {\n let transaction = await this.db.transaction(this.storeName, 'readonly');\n let store = await transaction.transaction.objectStore(this.storeName);\n return store.getAll();\n }\n}\n","import { BaseModel } from './BaseModel.js';\n\nexport class ChatMessage extends BaseModel {\n static async initialize() {\n await this.database('ChatApp', 'chat_messages');\n }\n\n static async getAllByChatId(chatId) {\n return this.getAllByIndexAndId('by_chat', chatId);\n }\n}\n","import { BaseModel } from './BaseModel.js';\nimport { ChatMessage } from './ChatMessage.js';\n\nexport class Chat extends BaseModel {\n async addMessage(data) {\n data.chatId = this.id;\n await new ChatMessage(data).create();\n }\n\n async getMessages() {\n const messages = await ChatMessage.getAllByChatId(this.id);\n this.messages = messages;\n return this.messages;\n }\n\n static async initialize() {\n await this.database('ChatApp', ['chats']);\n }\n\n static async clear() {\n await ChatMessage.clear();\n await super.clear();\n }\n\n static async get(id) {\n const chat = await super.get(id);\n\n /*\n if (chat) {\n // Fetch all messages for this chat\n const messages = await ChatMessage.getAllByChatId(id);\n chat.messages = messages;\n }\n */\n\n return chat;\n }\n\n static async delete(id) {\n // Delete the chat instance\n await super.delete(id);\n\n // Delete all associated messages\n const messages = await ChatMessage.getAllByChatId(id);\n for (const message of messages) {\n await message.delete();\n }\n }\n}\n","import { Event } from './Event.js';\nimport { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\nimport { Settings } from './models/Settings.js';\n\nexport class AppController {\n static async updateChat(chat, data) {\n Object.assign(chat, data);\n await chat.save();\n // TODO: Move to BaseModel\n Event.emit('chatUpdated', chat);\n }\n\n static async createChat(data) {\n if (!data) {\n data = {};\n }\n if (!data.title) {\n data.title = 'Untitled';\n }\n if (!data.model) {\n data.model = Settings.getModel();\n }\n const chat = await new Chat(data).create();\n Settings.setCurrentChatId(chat.id);\n Event.emit('chatCreated', chat);\n Event.emit('chatSelected', chat);\n return chat;\n }\n\n static async deleteChatMessage(messageId) {\n const message = await ChatMessage.get(messageId);\n message.delete();\n }\n\n static async deleteChat(chat) {\n await chat.delete();\n if (Settings.getCurrentChatId() === chat.id) {\n Settings.setCurrentChatId(null);\n }\n Event.emit('chatDeleted', chat);\n }\n\n static async getCurrentChat() {\n const chatId = this.getCurrentChatId();\n if (chatId) {\n return await Chat.get(chatId);\n }\n return null;\n }\n\n static getCurrentChatId() {\n return Settings.get('currentChatId');\n }\n\n static async setCurrentChat(chat) {\n Settings.setCurrentChatId(chat.id);\n Event.emit('chatSelected', chat);\n }\n\n static async setCurrentChatId(chatId) {\n const chat = await Chat.get(chatId);\n if (chat) {\n await this.setCurrentChat(chat);\n }\n }\n\n static async clearChats() {\n Settings.setCurrentChatId(null);\n await Chat.clear();\n Event.emit('chatsCleared');\n }\n}\n","import { AppController } from './AppController.js';\n\nexport class ChatListItem {\n constructor(chat, chatList, selected) {\n this.chat = chat;\n this.chatList = chatList;\n this.content = document\n .getElementById('chat-list-item-template')\n .content.cloneNode(true);\n this.element = this.content.querySelector('.chat-list-item');\n this.element.title = this.chat.title;\n this.element.data = { id: this.chat.id };\n this.element.classList.add(`chat${this.chat.id}`);\n if (selected === true) {\n this.element.classList.add('selected');\n // this.content.querySelector('.icon-selected').classList.remove('hidden')\n }\n this.setTitle();\n this.bindEventListeners();\n }\n\n render() {}\n\n bindEventListeners() {\n this.element.addEventListener('mouseover', this.onMouseover.bind(this));\n this.element.addEventListener('mouseout', this.onMouseout.bind(this));\n this.element.addEventListener('click', this.onClick.bind(this));\n this.element\n .querySelector('.list-item-delete')\n .addEventListener('click', this.deleteChat.bind(this));\n }\n\n onMouseover() {\n this.element.classList.add('hover');\n }\n\n onMouseout() {\n this.element.classList.remove('hover');\n }\n\n onClick() {\n this.chatList.selectChat(this.chat.id);\n }\n\n setTitle() {\n const chatTitle = this.content.querySelector('.chat-title');\n chatTitle.textContent = this.chat.title;\n }\n\n deleteChat() {\n AppController.deleteChat(this.chat);\n this.element.remove();\n }\n}\n","export class DragAndDrop {\n constructor(selector) {\n this.listItems = document.querySelectorAll(selector);\n this.draggedItem = null;\n this.initializeDragAndDrop();\n }\n\n initializeDragAndDrop() {\n this.listItems.forEach((item) => {\n item.addEventListener('dragstart', this.handleDragStart.bind(this, item));\n item.addEventListener('dragover', this.handleDragOver.bind(this));\n item.addEventListener('drop', this.handleDrop.bind(this, item));\n item.addEventListener('dragend', this.handleDragEnd.bind(this));\n });\n }\n\n handleDragStart(item) {\n this.draggedItem = item;\n }\n\n handleDragOver(e) {\n e.preventDefault();\n }\n\n handleDrop(item) {\n if (item !== this.draggedItem) {\n let currentHTML = item.innerHTML;\n item.innerHTML = this.draggedItem.innerHTML;\n this.draggedItem.innerHTML = currentHTML;\n console.debug('dnd drop');\n }\n }\n\n handleDragEnd() {\n this.draggedItem = null;\n }\n}\n","import { Event } from './Event.js';\nimport { ChatListItem } from './ChatListItem.js';\nimport { DragAndDrop } from './DragAndDrop.js';\nimport { Chat } from './models/Chat.js';\nimport { AppController } from './AppController.js';\n\nexport class ChatList {\n constructor() {\n this.element = document.getElementById('chat-list');\n this.template = document.getElementById('chat-list-item-template').content;\n this.bindEventListeners();\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n });\n }\n\n bindEventListeners() {\n Event.listen('chatCreated', this.handleChatCreated.bind(this));\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n Event.listen('chatsCleared', this.handleChatsCleared.bind(this));\n Event.listen('chatUpdated', this.handleChatUpdated.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n }\n\n async selectChat(chatId) {\n await AppController.setCurrentChatId(chatId);\n }\n\n handleChatCreated(chat) {\n this.appendChat(chat, true);\n }\n\n handleChatDeleted(chat) {\n if (this.chat?.id === chat.id) {\n this.chat = null;\n }\n this.element.querySelector(`.chat${chat.id}`)?.remove();\n }\n\n handleChatsCleared() {\n const elements = this.element.querySelectorAll('.chat-list-item');\n elements.forEach((element) => element.remove());\n }\n\n handleChatUpdated(chat) {\n const listElement = this.element.querySelector(\n `.chat${chat.id} .chat-title`,\n );\n if (listElement) {\n listElement.textContent = chat.title;\n }\n }\n\n handleChatSelected(chat) {\n if (this.chat) {\n const previousListElement = this.element.querySelector(\n `.chat${this.chat.id}`,\n );\n if (previousListElement) {\n previousListElement.classList.remove('selected');\n }\n }\n const newListElement = this.element.querySelector(`.chat${chat.id}`);\n if (newListElement) {\n newListElement.classList.add('selected');\n }\n // Remember selected chat\n this.chat = chat;\n }\n\n render() {\n const currentChatId = AppController.getCurrentChatId();\n this.element.innerHTML = '';\n Chat.getAll().then((chats) => {\n chats.forEach((chat) => {\n const selected = chat.id === currentChatId;\n this.appendChat(chat, selected);\n });\n new DragAndDrop('.chat-list-item');\n });\n }\n\n appendChat(chat, selected) {\n const chatListItem = new ChatListItem(chat, this, selected);\n this.element.appendChild(chatListItem.element);\n return chatListItem;\n }\n}\n","import { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\n\nexport class DownloadChatsButton {\n constructor() {\n this.button = document.querySelector('#export-button');\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.button.addEventListener('click', () => {\n this.exportChat();\n this.exportChatMessages();\n });\n }\n\n async exportChat() {\n const request = await Chat.export();\n\n request.onsuccess = function () {\n let data = request.result;\n\n // Convert the data to JSON format\n let jsonData = JSON.stringify(data, 2);\n\n // Export the JSON data by creating a file to download\n let blob = new Blob([jsonData], { type: 'application/json' });\n let url = URL.createObjectURL(blob);\n\n let a = document.createElement('a');\n a.href = url;\n a.download = 'chats.json';\n a.click();\n URL.revokeObjectURL(url);\n };\n\n request.onerror = function (event) {\n console.error('Error reading data: ', event.target.errorCode);\n };\n }\n\n async exportChatMessages() {\n const request = await ChatMessage.export();\n\n request.onsuccess = function () {\n let data = request.result;\n\n // Convert the data to JSON format\n let jsonData = JSON.stringify(data, 2);\n\n // Export the JSON data by creating a file to download\n let blob = new Blob([jsonData], { type: 'application/json' });\n let url = URL.createObjectURL(blob);\n\n let a = document.createElement('a');\n a.href = url;\n a.download = 'chat_messages.json';\n a.click();\n URL.revokeObjectURL(url);\n };\n\n request.onerror = function (event) {\n console.error('Error reading data: ', event.target.errorCode);\n };\n }\n}\n","export class LocalStorage {\n // Set a value in localStorage\n set(key, value) {\n try {\n const stringValue = JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n } catch (e) {\n console.error('Error saving to localStorage', e);\n }\n }\n\n // Get a value from localStorage, return defaultValue if key doesn't exist\n get(key, defaultValue = null) {\n try {\n const value = localStorage.getItem(key);\n return value !== null ? JSON.parse(value) : defaultValue;\n } catch (e) {\n console.error('Error reading from localStorage', e);\n return defaultValue;\n }\n }\n\n // Remove a value from localStorage\n remove(key) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n console.error('Error removing from localStorage', e);\n }\n }\n}\n","import { debounce } from './debounce.js';\nimport { Event } from './Event.js';\nimport { Chat } from './models/Chat.js';\nimport { AppController } from './AppController.js';\nimport { ChatList } from './ChatList.js';\nimport { DownloadChatsButton } from './DownloadChatsButton.js';\nimport { LocalStorage } from './models/LocalStorage.js';\n\nexport class Sidebar {\n constructor() {\n this.settings = new LocalStorage();\n this.chatList = new ChatList();\n this.element = document.getElementById('sidebar');\n this.newChatButton = this.element.querySelector('#new-chat-button');\n this.clearButton = this.element.querySelector('#clear-button');\n this.hamburgerButton = document.getElementById('hamburger-menu');\n this.searchButton = document.getElementById('search-button');\n this.downloadChatsButton = new DownloadChatsButton();\n this.searchRow = document.getElementById('search-row');\n this.searchInput = document.getElementById('search-input');\n if (this.settings.get('sidebar-collapsed') === true) {\n this.element.classList.add('collapsed');\n }\n this.bindEventListeners();\n }\n\n render() {\n this.chatList.render();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected);\n this.searchButton.addEventListener('click', this.toggleSearch.bind(this));\n this.searchInput.addEventListener(\n 'keypress',\n debounce(this.performSearch.bind(this), 50),\n );\n this.searchInput.addEventListener(\n 'keyup',\n debounce(this.performSearch.bind(this), 50),\n );\n this.newChatButton.addEventListener('click', this.handleNewChat.bind(this));\n this.clearButton.addEventListener('click', this.handleClear.bind(this));\n this.hamburgerButton.addEventListener('click', this.toggle.bind(this));\n }\n\n // TODO: Fix\n handleChatSelected = (chat) => {\n const listItem = this.element.querySelector(`chat${chat.id}`);\n if (listItem) {\n listItem.scrollIntoView({\n behavior: 'smooth',\n block: 'start', // \"start\" will bring the top of the element into view\n inline: 'nearest', // \"nearest\" will scroll to the nearest edge if partially visible\n });\n }\n };\n\n toggleSearch() {\n const searchRow = document.getElementById('search-row');\n searchRow.classList.toggle('hidden');\n this.searchInput.focus();\n }\n\n performSearch() {\n function escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // Escapes special characters\n }\n const query = escapeRegExp(this.searchInput.value.trim()).replace(\n /\\s+/g,\n '.*',\n );\n const queryContent = query.length > 2; // Nobody wants to query content based on one character?\n const regex = new RegExp(query, 'i'); // 'i' for case-insensitive matching\n console.log(`Search ${query}`);\n Chat.getAll().then((chats) => {\n const matches = chats\n .filter((chat) => {\n let match = regex.test(chat.title);\n if (queryContent) {\n match ||= regex.test(chat.content);\n }\n return match;\n })\n .map((chat) => chat.id);\n this.element.querySelectorAll('.chat-list-item').forEach((item) => {\n if (matches.includes(item.data.id)) {\n // Now matches the type\n item.classList.remove('hidden');\n } else {\n item.classList.add('hidden');\n }\n });\n });\n }\n\n toggle() {\n this.element.classList.toggle('collapsed');\n this.hamburgerButton.classList.toggle('collapsed');\n if (this.element.classList.contains('collapsed')) {\n this.settings.set('sidebar-collapsed', true);\n } else {\n this.settings.set('sidebar-collapsed', false);\n }\n }\n\n async handleNewChat() {\n await AppController.createChat();\n }\n\n async handleClear() {\n await AppController.clearChats();\n }\n}\n","export class CopyButton {\n constructor() {\n document.addEventListener('click', function (event) {\n // Check if the clicked element has the class 'copy-button'\n if (event.target.classList.contains('copy-button')) {\n const targetSelector = event.target.getAttribute('data-target');\n const textToCopy = document.getElementById(targetSelector).innerText;\n // Create a temporary textarea element\n const textarea = document.createElement('textarea');\n textarea.value = textToCopy;\n document.body.appendChild(textarea);\n\n // Select the text and copy it\n textarea.select();\n document.execCommand('copy');\n\n // Remove the temporary textarea\n document.body.removeChild(textarea);\n\n // Optional: Display a message or change the button text/content\n alert('Text copied to clipboard');\n }\n });\n }\n}\n","export class OllamaApi {\n constructor() {\n this.abortController = null;\n }\n\n async send(url, data, onResponse, onError, onDone) {\n const request = { data };\n try {\n const response = await this.postChatMessage(url, data);\n await this.handleResponse(request, response, onResponse, onDone);\n } catch (error) {\n onError(request, error);\n }\n }\n\n async postChatMessage(url, data) {\n this.abortController = new AbortController();\n const { signal } = this.abortController;\n const response = await fetch(url, {\n signal,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(data),\n });\n\n if (!response.ok) {\n throw new Error(`${url} failed with status ${response.status}`);\n }\n\n return response;\n }\n\n async handleResponse(request, response, onResponse, onDone) {\n const reader = response.body.getReader();\n let partialLine = '';\n var isRequestDone = false;\n\n while (!isRequestDone) {\n const { done, value } = await reader.read();\n if (done) {\n onDone(request, response);\n isRequestDone = true;\n continue;\n }\n\n const textChunk = new TextDecoder().decode(value);\n const lines = (partialLine + textChunk).split('\\n');\n partialLine = lines.pop();\n\n lines.forEach((line) => {\n const responseData = JSON.parse(line);\n if (line.trim()) {\n // TODO: Move this line:\n this.printResponseStats(responseData);\n onResponse(request, responseData.message.content);\n }\n });\n }\n\n if (partialLine.trim()) {\n onResponse(request, partialLine);\n }\n }\n\n abort() {\n if (this.abortController) {\n this.abortController.abort();\n }\n }\n\n printResponseStats(data) {\n if (!data.total_duration) {\n return;\n }\n // Convert nanoseconds to seconds for durations\n const totalDurationInSeconds = data.total_duration / 1e9;\n const loadDurationInSeconds = data.load_duration / 1e9;\n const promptEvalDurationInSeconds = data.prompt_eval_duration / 1e9;\n const responseEvalDurationInSeconds = data.eval_duration / 1e9;\n\n // Calculate tokens per second (token/s)\n const tokensPerSecond = data.eval_count / responseEvalDurationInSeconds;\n const output = `\nModel: ${data.model}\nCreated At: ${data.created_at}\nTotal Duration (s): ${totalDurationInSeconds.toFixed(2)}\nLoad Duration (s): ${loadDurationInSeconds.toFixed(2)}\nPrompt Evaluation Count: ${data.prompt_eval_count}\nPrompt Evaluation Duration (s): ${promptEvalDurationInSeconds.toFixed(2)}\nResponse Evaluation Count: ${data.eval_count}\nResponse Evaluation Duration (s): ${responseEvalDurationInSeconds.toFixed(2)}\nTokens Per Second: ${tokensPerSecond.toFixed(2)} token/s\n `;\n console.log(output);\n }\n\n static getModels(url, onResponse) {\n if (!url) {\n return null;\n }\n\n return fetch(url)\n .then((response) => {\n if (!response.ok) {\n throw new Error(`Unable to fetch models from ${url}`);\n }\n return response.json();\n })\n .then((data) => {\n onResponse(data.models);\n })\n .catch((error) => {\n console.debug(error);\n console.error(\n `Please ensure the server is running at: ${url}. Error code: 39847`,\n );\n onResponse([]);\n });\n }\n}\n","export class DownloadButton {\n constructor() {\n document.addEventListener('click', (event) => {\n // Check if the clicked element has the class 'copy-button'\n if (event.target.classList.contains('download-button')) {\n // Get the index from the data-target attribute\n const targetId = event.target.getAttribute('data-target');\n this.downloadElementContent(targetId, 'chat.html');\n }\n });\n }\n\n downloadElementContent(elementId, filename) {\n // Get the element\n const element = document.getElementById(elementId);\n if (!element) {\n console.error('Element not found');\n return;\n }\n\n // Get the contents of the element\n const content = element.innerText;\n\n // Create a Blob with the content\n const blob = new Blob([content], { type: 'text/html' });\n\n // Create an anchor element and set the href to the blob\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = filename;\n\n // Append the anchor to the document, trigger a click, and then remove it\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Revoke the blob URL\n URL.revokeObjectURL(a.href);\n }\n}\n","export class DropDownMenu {\n constructor() {\n this.buttonSelector = '.drop-down-menu';\n this.dropDownMenus = document.querySelectorAll(this.buttonSelector);\n this.init();\n }\n\n init() {\n // Add a click listener to the whole document\n document.addEventListener('click', (event) => {\n // Check if the clicked element or any of its parents has the 'drop-down-menu' class\n const menuElement = event.target.closest(this.buttonSelector);\n if (menuElement) {\n const dropDownMenu = menuElement.querySelector('.drop-down-menu-items');\n if (dropDownMenu) {\n this.toggleMenu(dropDownMenu);\n }\n }\n });\n }\n\n toggleMenu(menu) {\n menu.classList.toggle('hidden');\n menu.classList.toggle('visible');\n }\n}\n","// Modal base class\nexport class Modal {\n constructor(domId) {\n this.domId = domId;\n this.modal = document.getElementById(this.domId);\n this.closeButton = this.modal.querySelector('.button-close');\n this.closeButton.onclick = () => this.hide();\n this._bindEventListeners();\n }\n\n _bindEventListeners() {\n window.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n });\n }\n\n show() {\n this.handleShow();\n }\n\n hide() {\n this.handleHide();\n }\n\n handleShow() {\n this.modal.classList.add('show');\n }\n\n handleHide() {\n this.modal.classList.remove('show');\n }\n}\n","export class List {\n constructor(containerId, items, selected) {\n this.container = document.getElementById(containerId);\n this.items = items;\n this.selected = selected;\n this.render();\n this.clickHandler = null;\n }\n\n onClick(handler) {\n this.clickHandler = handler;\n return this; // Allow chaining\n }\n\n setItems(items) {\n this.items = items;\n this.render();\n }\n\n setSelected(selected) {\n console.debug(`Select ${selected}`);\n this.selected = selected;\n this.render();\n }\n\n getSelected() {\n return this.selected;\n }\n\n render() {\n this.container.innerHTML = ''; // Clear existing content\n const ul = document.createElement('ul');\n ul.classList.add('list');\n this.items.forEach((item) => {\n const li = document.createElement('li');\n li.classList.add('list-item');\n if (item === this.selected) {\n li.classList.add('selected');\n }\n li.textContent = item;\n li.item = item;\n li.addEventListener('click', () => {\n this.setSelected(item);\n if (this.clickHandler) {\n this.clickHandler(item);\n }\n });\n ul.appendChild(li);\n });\n this.container.appendChild(ul);\n }\n}\n","import { Event } from '../Event.js';\nimport { Settings } from './Settings.js';\nimport { OllamaApi } from '../OllamaApi.js';\n\nexport class Models {\n static models = [];\n\n static getUrl() {\n return Settings.getUrl('/api/tags');\n }\n\n static load() {\n if (!this.getUrl()) {\n return null;\n }\n return OllamaApi.getModels(this.getUrl(), (models) => {\n Models.models = models;\n Settings.set('models', Models.models);\n Event.emit('modelsLoaded', Models.models);\n });\n }\n\n static getAll() {\n return Models.models;\n }\n\n static getNames() {\n return Models.models.map((model) => model.name);\n }\n\n static findModelByName(name) {\n return Models.models.find((model) => model.name === name);\n }\n}\n","import { List } from './List.js';\nimport { Event } from './Event.js';\nimport { Models } from './models/Models.js';\n\nexport class ModelsList {\n constructor(selector, selectedModel) {\n this.modelList = new List(selector, Models.getNames(), selectedModel);\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n Event.listen('modelsLoaded', this.handleModelsLoaded.bind(this));\n }\n\n handleModelsLoaded() {\n this.modelList.setItems(Models.getNames());\n }\n\n onClick(handler) {\n this.modelList.clickHandler = handler;\n return this.modelList; // Allow chaining\n }\n\n getSelected() {\n return this.modelList.selected;\n }\n}\n","import { Modal } from './Modal.js';\nimport { UINotification } from './UINotification.js';\nimport { ModelsList } from './ModelsList.js';\nimport { Models } from './models/Models.js';\nimport { Settings } from './models/Settings.js';\n\nexport class SettingsDialog extends Modal {\n constructor() {\n super('settings-dialog');\n this.showButton = document.getElementById('settings-button');\n this.urlInput = document.getElementById('input-url');\n this.modelInput = document.getElementById('input-model');\n this.systemPromptInput = this.modal.querySelector('#input-system-prompt');\n this.modelParametersInput = this.modal.querySelector(\n '#input-model-parameters',\n );\n this.refreshModelsButton = this.modal.querySelector(\n '.refresh-models-button',\n );\n this.modelList = new ModelsList('model-list', Settings.getModel());\n this.bindEventListeners();\n this.loadSettings();\n }\n\n bindEventListeners() {\n this.urlInput.addEventListener('blur', () => {\n const value = this.urlInput.value.trim();\n Settings.setUrl(value);\n });\n this.systemPromptInput.addEventListener('blur', () => {\n Settings.setSystemPrompt(this.systemPromptInput.value.trim());\n });\n this.modelParametersInput.addEventListener('blur', () => {\n const value = this.modelParametersInput.value.trim();\n if (value === '') {\n return;\n }\n try {\n const parsedValue = JSON.parse(value);\n const prettyJSON = JSON.stringify(parsedValue, 2);\n Settings.setModelParameters(parsedValue);\n this.modelParametersInput.value = prettyJSON;\n this.modelParametersInput.classList.remove('error');\n } catch (error) {\n if (error.name === 'SyntaxError') {\n this.modelParametersInput.classList.add('error');\n } else {\n console.error(error);\n }\n }\n });\n this.modelList.onClick(() => {\n Settings.setModel(this.modelList.getSelected());\n });\n this.showButton.addEventListener('click', this.show.bind(this));\n this.refreshModelsButton.onclick = () => this.refreshModels();\n this.closeButton.onclick = () => this.hide();\n }\n\n show() {\n Models.load();\n this.handleShow();\n }\n\n refreshModels() {\n if (!Models.getUrl()) {\n UINotification.show('Please update the URL in the settings to continue.');\n } else {\n Models.load();\n }\n }\n\n loadSettings() {\n this.urlInput.value = Settings.getUrl();\n const modelParameters = Settings.getModelParameters();\n if (modelParameters) {\n this.modelParametersInput.value = JSON.stringify(modelParameters, 2);\n }\n }\n}\n","import { AppController } from './AppController.js';\nimport { Event } from './Event.js';\nimport { Modal } from './Modal.js';\nimport { Models } from './models/Models.js';\nimport { ModelsList } from './ModelsList.js';\n\nexport class ChatSettingsDialog extends Modal {\n constructor() {\n super('chat-settings-dialog');\n this.showButton = document.getElementById('chat-settings-button');\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.showButton.addEventListener('click', this.show.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n }\n\n show() {\n Models.load().then(() => {\n AppController.getCurrentChat().then((chat) => {\n this.handleChatSelected(chat);\n this.handleShow();\n });\n });\n }\n\n handleChatSelected(chat) {\n this.modelList = new ModelsList('chat-model-list', chat.model);\n this.modelList.onClick(async (model) => {\n chat.model = model;\n await chat.save();\n });\n }\n}\n","export class Hoverable {\n constructor(element) {\n this.element = element;\n element.hoverable = this;\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.element.addEventListener('mouseover', () => this.onMouseover());\n this.element.addEventListener('mouseout', () => this.onMouseout());\n }\n\n onMouseover() {\n this.element.classList.add('hover');\n }\n\n onMouseout() {\n this.element.classList.remove('hover');\n }\n}\n","import { Event } from './Event.js';\nimport { AppController } from './AppController.js';\n\nexport class ChatTitle {\n constructor() {\n this.defaultTitle = 'Untitled';\n this.element = document.getElementById('chat-title');\n this.bindEventListeners();\n this.render();\n }\n\n render() {\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n this.setTitle(chat?.title);\n });\n }\n\n setTitle(title) {\n this.element.textContent = title || this.defaultTitle;\n }\n\n focus() {\n const hasFocus = document.activeElement === this.element;\n if (!hasFocus) {\n this.element.focus();\n }\n }\n\n bindEventListeners() {\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n this.element.addEventListener('blur', this.handleSave.bind(this));\n this.element.addEventListener('keypress', (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.element.blur();\n }\n });\n }\n\n handleChatSelected(chat) {\n this.chat = chat;\n this.setTitle(chat.title);\n }\n\n handleChatDeleted(chat) {\n if (chat.id === this.chat.id) {\n this.setTitle(this.defaultTitle);\n }\n }\n\n async handleSave() {\n let title = this.element.textContent.trim();\n if (title.length === 0) {\n title = this.defaultTitle;\n this.element.classList.add('error');\n } else {\n this.element.classList.remove('error');\n }\n const chat = await AppController.getCurrentChat();\n if (chat) {\n await AppController.updateChat(chat, { title });\n } else {\n await AppController.createChat({ title });\n }\n }\n}\n","// TODO: Move code here from App.js\nexport class ChatForm {\n constructor() {\n this.chatHistory = document.getElementById('chat-history');\n this.messageInput = document.getElementById('message-input');\n this.sendButton = document.getElementById('send-button');\n this.abortButton = document.getElementById('abort-button');\n }\n}\n","import { AppController } from './AppController.js';\nimport { Event } from './Event.js';\nimport { Hoverable } from './Hoverable.js';\nimport { ChatTitle } from './ChatTitle.js';\nimport { ChatForm } from './ChatForm.js';\n\nexport class ChatArea {\n constructor() {\n this.chatTitle = new ChatTitle();\n this.chatForm = new ChatForm();\n this.chatHistory = document.getElementById('chat-history');\n this.messageInput = document.getElementById('message-input');\n this.editChatButton = document.getElementById('edit-chat-button');\n this.scrollToTopButton = document.getElementById('scroll-to-top-button');\n this.scrollToEndButton = document.getElementById('scroll-to-end-button');\n this.deleteChatButton = document.getElementById('delete-chat-button');\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n this.render();\n });\n this.bindEventListeners();\n }\n\n render() {\n // Clear history view\n this.chatHistory.innerText = '';\n // Render chat history\n this.chat?.getMessages()?.then((messages) => {\n messages.forEach((message) => {\n this.createMessageDiv(message);\n });\n });\n this.scrollToEnd();\n this.messageInput.focus();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n this.scrollToTopButton.addEventListener(\n 'click',\n this.scrollToTop.bind(this),\n );\n this.scrollToEndButton.addEventListener(\n 'click',\n this.scrollToEnd.bind(this),\n );\n this.editChatButton.addEventListener(\n 'click',\n this.handleEditChat.bind(this),\n );\n this.deleteChatButton.addEventListener(\n 'click',\n this.handleDeleteChat.bind(this),\n );\n this.currentMessage = this.chatHistory.querySelector('.selected');\n // Select chat message with arrow up and arrow down keys\n document.addEventListener('keydown', (event) => {\n let next, previous;\n\n if (event.key === 'ArrowDown') {\n next = this.currentMessage\n ? this.currentMessage.nextElementSibling\n : this.chatHistory.firstElementChild;\n if (next) {\n if (this.currentMessage)\n this.currentMessage.classList.remove('hover');\n next.classList.add('hover');\n this.currentMessage = next; // Update currentMessage\n this.currentMessage.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n }); // Scroll into view\n }\n } else if (event.key === 'ArrowUp') {\n previous = this.currentMessage\n ? this.currentMessage.previousElementSibling\n : this.chatHistory.lastElementChild;\n if (previous) {\n if (this.currentMessage)\n this.currentMessage.classList.remove('hover');\n previous.classList.add('hover');\n }\n this.currentMessage = previous; // Update currentMessage\n this.currentMessage.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n }); // Scroll into view\n }\n });\n }\n\n createMessageDiv(message) {\n const role = message.role;\n const content = message.content;\n // Get the template and its content\n const template = document.getElementById('chat-message-template');\n const messageClone = template.content.cloneNode(true);\n // Find the div and span elements within the cloned template\n const messageDiv = messageClone.querySelector('.chat-message');\n const textSpan = messageClone.querySelector('.chat-message-text');\n const deleteButton = messageClone.querySelector(\n '.delete-chat-message-button',\n );\n\n // Set the class for role and text content\n messageDiv.classList.add(`${role}-chat-message`);\n textSpan.textContent = content;\n messageDiv.spellcheck = false;\n\n // Append to chatHistory and adjust scroll\n this.chatHistory.appendChild(messageDiv);\n messageDiv.dataset['id'] = message.id;\n new Hoverable(messageDiv);\n deleteButton.addEventListener('click', async () => {\n await AppController.deleteChatMessage(message.id);\n messageDiv.remove();\n });\n return messageDiv;\n }\n\n handleChatDeleted(chat) {\n if (chat.id === this.chat?.id) {\n this.chat = null;\n } else {\n this.chat = chat;\n }\n this.render();\n }\n\n handleChatSelected(chat) {\n this.chat = chat;\n this.render();\n }\n\n handleEditChat() {\n this.chatTitle.focus();\n event.stopPropagation();\n }\n\n async handleDeleteChat() {\n const chat = await AppController.getCurrentChat();\n if (chat) {\n await AppController.deleteChat(chat);\n }\n }\n\n scrollToTop() {\n this.chatHistory.scrollTop = 0;\n }\n\n scrollToEnd() {\n this.chatHistory.scrollTop = this.chatHistory.scrollHeight;\n }\n}\n","import { UINotification } from './UINotification.js';\nimport { Settings } from './models/Settings.js';\nimport { Event } from './Event.js';\nimport { DOM } from './Dom.js';\nimport { Sidebar } from './Sidebar.js';\nimport { AppController } from './AppController.js';\nimport { CopyButton } from './CopyButton.js';\nimport { OllamaApi } from './OllamaApi.js';\nimport { DownloadButton } from './DownloadButton.js';\nimport { DropDownMenu } from './DropDownMenu.js';\nimport { SettingsDialog } from './SettingsDialog.js';\nimport { ChatSettingsDialog } from './ChatSettingsDialog.js';\n// import { MarkdownFormatter } from './MarkdownFormatter.js'\nimport { ChatArea } from './ChatArea.js';\n\n// TODO: Review and refactor\nexport class App {\n static run() {\n UINotification.initialize();\n const app = new App();\n return app;\n }\n\n constructor() {\n this.sidebar = new Sidebar();\n this.chatArea = new ChatArea();\n this.ollamaApi = new OllamaApi();\n this.settingsDialog = new SettingsDialog();\n this.chatSettingsDialog = new ChatSettingsDialog();\n this.downloadButton = new DownloadButton();\n this.copyButton = new CopyButton();\n this.dropDownMenu = new DropDownMenu();\n this.initializeElements();\n this.bindEventListeners();\n this.logInitialization();\n this.render();\n }\n\n initializeElements() {\n // this.sendButton = document.getElementById('send-button');\n this.abortButton = document.getElementById('abort-button');\n this.messageInput = document.getElementById('message-input');\n this.chatHistory = document.getElementById('chat-history');\n }\n\n logInitialization() {\n const msg = `~~~~\\nChat\\n~~~~\nModel: ${Settings.getModel()}\nURL: ${Settings.getUrl()}\nChat: ${Settings.getCurrentChatId()}\nParameters: ${JSON.stringify(Settings.getModelParameters())}\n`;\n console.log(msg);\n }\n\n render() {\n this.sidebar.render();\n this.chatArea.render();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected);\n // this.sendButton.addEventListener('click', this.sendMessage.bind(this));\n this.abortButton.addEventListener('click', this.handleAbort.bind(this));\n this.messageInput.addEventListener(\n 'keypress',\n this.handleKeyPress.bind(this),\n );\n }\n\n handleChatSelected = (chat) => {\n window.history.pushState({}, '', `/chats/${chat.id}`);\n };\n\n handleAbort = () => {\n this.ollamaApi.abort();\n this.enableForm();\n console.log('Request aborted');\n };\n\n handleKeyPress = (event) => {\n if (event.key === 'Enter' && !event.shiftKey) {\n this.sendMessage();\n }\n };\n\n enableForm() {\n DOM.hideElement(this.abortButton).enableInput(this.messageInput);\n this.messageInput.focus();\n }\n\n disableForm() {\n DOM.showElement(this.abortButton).disableInput(this.messageInput);\n }\n\n // https://github.com/jmorganca/ollama/blob/main/docs/api.md#generate-a-completion\n async sendMessage() {\n const userMessage = this.messageInput.value.trim();\n // Get the current chat\n let chat = await AppController.getCurrentChat();\n const url = Settings.getUrl('/api/chat');\n if (!url) {\n UINotification.show(\n 'Please update the URL in the settings to continue. ',\n );\n return null;\n }\n if (userMessage) {\n // Reset input\n this.messageInput.value = '';\n // Create new chat\n if (!chat) {\n chat = await AppController.createChat({\n title: 'Untitled',\n model: Settings.getModel(),\n });\n }\n // Store user message\n await chat.addMessage({\n role: 'user',\n content: userMessage,\n });\n const systemPrompt = Settings.getSystemPrompt();\n const modelParameters = Settings.getModelParameters();\n // Disable form\n this.disableForm();\n // Create user message\n this.createChatMessage({ content: userMessage, role: 'user' });\n // Create system message container\n const responseElement = this.createChatMessage({\n content: '',\n role: 'system',\n });\n const requestContext = {\n chat,\n content: '', // TODO: Move this to the response?\n responseElement,\n };\n const requestData = {\n prompt: userMessage,\n model: chat.model,\n messages: (await chat.getMessages()).map((message) => ({\n role: message.role,\n content: message.content,\n })),\n };\n // Add system prompt\n if (systemPrompt) {\n requestData.system = systemPrompt;\n }\n // Add model parameters\n if (modelParameters) {\n requestData.options = modelParameters;\n }\n // Show spinner\n responseElement.innerHTML = '
';\n // Make request\n this.ollamaApi.send(\n url,\n requestData,\n (request, response) =>\n this.handleResponse(request, response, requestContext),\n (request, error) => this.handleResponseError(request, error),\n (request, response) =>\n this.handleDone(request, response, requestContext),\n );\n }\n }\n\n createChatMessage(message) {\n return this.chatArea.createMessageDiv(message);\n }\n\n handleResponse(request, response, context) {\n const responseElement = context.responseElement;\n const sanitizedContent = this.sanitizeContent(response);\n // Remember original response\n context.content += sanitizedContent;\n responseElement.textContent += sanitizedContent;\n this.chatArea.scrollToEnd();\n }\n\n handleResponseError(request, error) {\n // Ignore \"Abort\" button\n if (error.name !== 'AbortError') {\n console.error(`Error: ${error.message}`);\n }\n this.chatArea.scrollToEnd();\n this.enableForm();\n }\n\n async handleDone(request, response, context) {\n const chat = context.chat;\n console.log(`Chat ${chat.id} done`);\n await chat.addMessage({\n role: 'assistant',\n content: context.content,\n });\n this.enableForm();\n }\n\n sanitizeContent = (content) => {\n // TODO: Sanitization logic here\n return content;\n };\n\n getIdParam = () => {\n return new URL(window.location.href).pathname.split('/').pop();\n };\n}\n","import { App } from './App.js';\nimport { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\n\n// TODO: refactor\nasync function initialize() {\n await Chat.initialize();\n await ChatMessage.initialize();\n}\n\ninitialize().then(() => {\n App.run();\n});\n","var OVERLAY_ID = '__parcel__error__overlay__';\n\nvar OldModule = module.bundle.Module;\n\nfunction Module(moduleName) {\n OldModule.call(this, moduleName);\n this.hot = {\n data: module.bundle.hotData,\n _acceptCallbacks: [],\n _disposeCallbacks: [],\n accept: function (fn) {\n this._acceptCallbacks.push(fn || function () {});\n },\n dispose: function (fn) {\n this._disposeCallbacks.push(fn);\n }\n };\n\n module.bundle.hotData = null;\n}\n\nmodule.bundle.Module = Module;\nvar checkedAssets, assetsToAccept;\n\nvar parent = module.bundle.parent;\nif ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {\n var hostname = process.env.HMR_HOSTNAME || location.hostname;\n var protocol = location.protocol === 'https:' ? 'wss' : 'ws';\n var ws = new WebSocket(protocol + '://' + hostname + ':' + process.env.HMR_PORT + '/');\n ws.onmessage = function(event) {\n checkedAssets = {};\n assetsToAccept = [];\n\n var data = JSON.parse(event.data);\n\n if (data.type === 'update') {\n var handled = false;\n data.assets.forEach(function(asset) {\n if (!asset.isNew) {\n var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);\n if (didAccept) {\n handled = true;\n }\n }\n });\n\n // Enable HMR for CSS by default.\n handled = handled || data.assets.every(function(asset) {\n return asset.type === 'css' && asset.generated.js;\n });\n\n if (handled) {\n console.clear();\n\n data.assets.forEach(function (asset) {\n hmrApply(global.parcelRequire, asset);\n });\n\n assetsToAccept.forEach(function (v) {\n hmrAcceptRun(v[0], v[1]);\n });\n } else if (location.reload) { // `location` global exists in a web worker context but lacks `.reload()` function.\n location.reload();\n }\n }\n\n if (data.type === 'reload') {\n ws.close();\n ws.onclose = function () {\n location.reload();\n }\n }\n\n if (data.type === 'error-resolved') {\n console.log('[parcel] ✨ Error resolved');\n\n removeErrorOverlay();\n }\n\n if (data.type === 'error') {\n console.error('[parcel] 🚨 ' + data.error.message + '\\n' + data.error.stack);\n\n removeErrorOverlay();\n\n var overlay = createErrorOverlay(data);\n document.body.appendChild(overlay);\n }\n };\n}\n\nfunction removeErrorOverlay() {\n var overlay = document.getElementById(OVERLAY_ID);\n if (overlay) {\n overlay.remove();\n }\n}\n\nfunction createErrorOverlay(data) {\n var overlay = document.createElement('div');\n overlay.id = OVERLAY_ID;\n\n // html encode message and stack trace\n var message = document.createElement('div');\n var stackTrace = document.createElement('pre');\n message.innerText = data.error.message;\n stackTrace.innerText = data.error.stack;\n\n overlay.innerHTML = (\n '
' +\n 'ERROR' +\n '🚨' +\n '
' + message.innerHTML + '
' +\n '
' + stackTrace.innerHTML + '
' +\n '
'\n );\n\n return overlay;\n\n}\n\nfunction getParents(bundle, id) {\n var modules = bundle.modules;\n if (!modules) {\n return [];\n }\n\n var parents = [];\n var k, d, dep;\n\n for (k in modules) {\n for (d in modules[k][1]) {\n dep = modules[k][1][d];\n if (dep === id || (Array.isArray(dep) && dep[dep.length - 1] === id)) {\n parents.push(k);\n }\n }\n }\n\n if (bundle.parent) {\n parents = parents.concat(getParents(bundle.parent, id));\n }\n\n return parents;\n}\n\nfunction hmrApply(bundle, asset) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n\n if (modules[asset.id] || !bundle.parent) {\n var fn = new Function('require', 'module', 'exports', asset.generated.js);\n asset.isNew = !modules[asset.id];\n modules[asset.id] = [fn, asset.deps];\n } else if (bundle.parent) {\n hmrApply(bundle.parent, asset);\n }\n}\n\nfunction hmrAcceptCheck(bundle, id) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n\n if (!modules[id] && bundle.parent) {\n return hmrAcceptCheck(bundle.parent, id);\n }\n\n if (checkedAssets[id]) {\n return;\n }\n checkedAssets[id] = true;\n\n var cached = bundle.cache[id];\n\n assetsToAccept.push([bundle, id]);\n\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n return true;\n }\n\n return getParents(global.parcelRequire, id).some(function (id) {\n return hmrAcceptCheck(global.parcelRequire, id)\n });\n}\n\nfunction hmrAcceptRun(bundle, id) {\n var cached = bundle.cache[id];\n bundle.hotData = {};\n if (cached) {\n cached.hot.data = bundle.hotData;\n }\n\n if (cached && cached.hot && cached.hot._disposeCallbacks.length) {\n cached.hot._disposeCallbacks.forEach(function (cb) {\n cb(bundle.hotData);\n });\n }\n\n delete bundle.cache[id];\n bundle(id);\n\n cached = bundle.cache[id];\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n cached.hot._acceptCallbacks.forEach(function (cb) {\n cb();\n });\n return true;\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["js/UINotification.js","js/models/Settings.js","js/Event.js","js/Dom.js","js/debounce.js","js/Database.js","js/Migrations.js","js/models/BaseModel.js","js/models/ChatMessage.js","js/models/Chat.js","js/AppController.js","js/ChatListItem.js","js/DragAndDrop.js","js/ChatList.js","js/DownloadChatsButton.js","js/models/LocalStorage.js","js/Sidebar.js","js/CopyButton.js","js/OllamaApi.js","js/DownloadButton.js","js/DropDownMenu.js","js/Modal.js","js/List.js","js/models/Models.js","js/ModelsList.js","js/SettingsDialog.js","js/ChatSettingsDialog.js","js/Hoverable.js","js/ChatTitle.js","js/ChatForm.js","js/ChatArea.js","js/App.js","js/script.js"],"names":["simpleHash","str","hash","i","length","char","charCodeAt","UINotification","constructor","message","type","id","JSON","stringify","domId","container","document","body","template","getElementById","content","_bindEventListeners","window","addEventListener","event","key","hide","show","notification","initialize","originalConsoleError","console","error","_len","arguments","args","Array","_key","apply","handleApplicationError","debug","clone","cloneNode","notificationElement","querySelector","textContent","classList","add","closeButton","onclick","appendChild","remove","exports","Settings","set","value","stringValue","localStorage","setItem","e","get","defaultValue","undefined","getItem","parse","removeItem","getUrl","uri","baseUrl","URL","href","setUrl","url","getModel","setModel","model","getSystemPrompt","setSystemPrompt","systemPrompt","getModelParameters","setModelParameters","modelParameters","getCurrentChatId","setCurrentChatId","chatId","Event","listen","eventName","handler","detail","emit","data","log","CustomEvent","bubbles","dispatchEvent","DOM","showElement","element","hideElement","enableInput","removeAttribute","disableInput","setAttribute","debounce","func","wait","timeout","funcWrapper","later","clearTimeout","setTimeout","Database","dbName","objectStores","migrations","dbConnection","open","Error","Promise","resolve","reject","request","indexedDB","version","onerror","target","onupgradeneeded","db","result","transaction","currentTarget","upgrade","oldVersion","onsuccess","storeName","mode","objectStore","store","handleRequest","put","delete","getAll","clear","Migrations","database","funcName","upgradeFunc","upgradeToVersion2","context","createObjectStore","keyPath","autoIncrement","chatMessages","createIndex","unique","_Database","require","_Migrations","BaseModel","Object","assign","name","create","save","records","map","getAllByIndexAndId","indexName","index","messages","export","_BaseModel","ChatMessage","getAllByChatId","_ChatMessage","Chat","addMessage","getMessages","chat","_Event","_Chat","_Settings","AppController","updateChat","createChat","title","deleteChatMessage","messageId","deleteChat","getCurrentChat","setCurrentChat","clearChats","_AppController","ChatListItem","chatList","selected","setTitle","bindEventListeners","render","onMouseover","bind","onMouseout","onClick","selectChat","chatTitle","DragAndDrop","selector","listItems","querySelectorAll","draggedItem","initializeDragAndDrop","forEach","item","handleDragStart","handleDragOver","handleDrop","handleDragEnd","preventDefault","currentHTML","innerHTML","_ChatListItem","_DragAndDrop","ChatList","then","handleChatCreated","handleChatDeleted","handleChatsCleared","handleChatUpdated","handleChatSelected","appendChat","elements","listElement","previousListElement","newListElement","currentChatId","chats","chatListItem","DownloadChatsButton","button","exportChat","exportChatMessages","jsonData","blob","Blob","createObjectURL","a","createElement","download","click","revokeObjectURL","errorCode","LocalStorage","_debounce","_ChatList","_DownloadChatsButton","_LocalStorage","Sidebar","settings","newChatButton","clearButton","hamburgerButton","searchButton","downloadChatsButton","searchRow","searchInput","toggleSearch","performSearch","handleNewChat","handleClear","toggle","listItem","scrollIntoView","behavior","block","inline","focus","escapeRegExp","string","replace","query","trim","queryContent","regex","RegExp","matches","filter","match","test","includes","contains","CopyButton","targetSelector","getAttribute","textToCopy","innerText","textarea","select","execCommand","removeChild","alert","OllamaApi","abortController","send","onResponse","onError","onDone","response","postChatMessage","handleResponse","AbortController","signal","fetch","method","headers","ok","status","reader","getReader","partialLine","isRequestDone","done","read","textChunk","TextDecoder","decode","lines","split","pop","line","responseData","printResponseStats","abort","total_duration","totalDurationInSeconds","loadDurationInSeconds","load_duration","promptEvalDurationInSeconds","prompt_eval_duration","responseEvalDurationInSeconds","eval_duration","tokensPerSecond","eval_count","output","created_at","toFixed","prompt_eval_count","getModels","json","models","catch","DownloadButton","targetId","downloadElementContent","elementId","filename","DropDownMenu","buttonSelector","dropDownMenus","init","menuElement","closest","dropDownMenu","toggleMenu","menu","Modal","modal","handleShow","handleHide","List","containerId","items","clickHandler","setItems","setSelected","getSelected","ul","li","_OllamaApi","Models","load","getNames","findModelByName","find","_List","_Models","ModelsList","selectedModel","modelList","handleModelsLoaded","_Modal","_UINotification","_ModelsList","SettingsDialog","showButton","urlInput","modelInput","systemPromptInput","modelParametersInput","refreshModelsButton","loadSettings","parsedValue","prettyJSON","refreshModels","ChatSettingsDialog","Hoverable","hoverable","ChatTitle","defaultTitle","hasFocus","activeElement","handleSave","blur","ChatForm","chatHistory","messageInput","sendButton","abortButton","_Hoverable","_ChatTitle","_ChatForm","ChatArea","chatForm","editChatButton","scrollToTopButton","scrollToEndButton","deleteChatButton","createMessageDiv","scrollToEnd","scrollToTop","handleEditChat","handleDeleteChat","currentMessage","next","previous","nextElementSibling","firstElementChild","previousElementSibling","lastElementChild","role","messageClone","messageDiv","textSpan","deleteButton","spellcheck","dataset","stopPropagation","scrollTop","scrollHeight","_Dom","_Sidebar","_CopyButton","_DownloadButton","_DropDownMenu","_SettingsDialog","_ChatSettingsDialog","_ChatArea","App","run","app","sidebar","chatArea","ollamaApi","settingsDialog","chatSettingsDialog","downloadButton","copyButton","initializeElements","logInitialization","msg","handleAbort","handleKeyPress","history","pushState","enableForm","shiftKey","sendMessage","disableForm","userMessage","createChatMessage","responseElement","requestContext","requestData","prompt","system","options","handleResponseError","handleDone","sanitizedContent","sanitizeContent","getIdParam","location","pathname","_App"],"mappings":";;AgCAA,IAAA6e,IAAA,GAAAhV,OAAA;AACA,IAAAwB,KAAA,GAAAxB,OAAA;AACA,IAAAkB,YAAA,GAAAlB,OAAA;AAEA;ADJA,ArBAA,AoBAA,ADAA,AhBAA,AFAA,AeAA,AEAA,AXAO,AZAA,AFAA,AgBAA,ALAP,AFAO,AQAA,AlBAA,AyBAA,ALAA,AhBAA,AeAP,AGAA,ANAO,AOAP,ATAA,AhBAA,AIAO,AGAP,AEAA,ADAA,AOAO,AQAP,AtBAO,A+BKP,IDLA0O,ArBAAnN,AoBAAa,AjBAAb,AFAAa,AeAAA,AEAAb,AdAAC,AUAA2M,ACAAM,ATAAzI,ATAAjG,AEAAgB,ADAAA,AeAAQ,ENAa+G,AZAAnL,AFAAhB,AgBAA+P,APAAjJ,AQAAsJ,AlBAA/Q,AyBAAgU,ALAApC,AhBAAjO,AYAA6J,AHAAjD,AdAAvM,GEAG,AWAhB,AUAA,AxBASrD,AIAOwG,CMAhB,AGAA,AeAA,AzBAiB,AmBAA,AGAjB,AFAA,CrBAkB,AoBAA,CRAlBqD,AZAmB,AsBAnBA,CdAAA,AGAAA,AeAAA,AHAAA,ATAA,ATAA,AgBAAA,ClBAqB,AIArB,ADAA,APAqB,CIAC,AsBAA,ATAA,AjBAA,A+BKPhI,CfLQ,AUAA,ArBAA,AYAA,AFAvBgI,ATAAA,CUAwB,ALAA,ANAA,AFAArD,AKAxBqD,ADAAA,CsBAA,AnBAA,AeAA,AdAyB,AQAA,AhBAApD,AWAA,CgBAzB,AjBAA,AMA0B,AIA1B,AxBAmBzG,AeAO,CLA1B,AGAA,AeAA,ATA2B,AMA3B,AzBAoBC,AuBApB,COAA4J,AnBAAA,AeAAA,APA4B,CYA5BA,A3BA6B,CYA7B,AhBAuB,AOAvB,CHA+BnD,AKA/B,ADAA,CRAyB,AgCKA7E,CAAA,EFLzB,AnBAA,AeAA,AtBAmC,A4BKP,CDL5B,C3BAqC;A2BCrC,ArBAA,AoBAA,ADAO,AhBAP,AFCO,AeDP,AEAA,AdAA,AOAO,AGAP,ACAA,ATAA,ATAA,AEAA,ADCO,AeDP,ENAErB,AZAAA,AFAA,AgBAAA,APAAA,AQAAA,AlBAA,AyBAAA,ALAAA,AhBAA,AYAAA,AlBAA,AIAA,AWAA,AdAA,A+BKA,EDLF8K,ArBAAD,AoBAAD,AjBAAyC,AaAAzC,AEAAa,AdAAlB,AUAAK,ACAAmN,ATAAnN,ATAAtB,AEAAiB,AcAAO,EMAauO,AlBCA3N,AUDA2K,ArBAP3W,AIAAyG,AICOkE,EwBILG,CtBLR,APAS/E,ADAAX,AIAAsC,CwBAT,AJAA,AFAA,ARAA,AhBAU,CqBAQ,CXAlBiC,AWAmB,CUAnB,ADAAA,AJAAA,ATAarJ,AZAAA,AcAAA,APAAA,AQAAA,AOAAA,ALAAA,AEAbqJ,ANAarJ,AFAbqJ,AhBAa,AIAA,AmBAb,CMAqB,AZAR,AZAC5C,AcAD,APAC8F,AQAD,AOAC7G,ALAAgR,AJAD,AlBAC,C6BAQ,A3BAP5R,AKAf,CwBAAuE,AdAgB,AEAA,ALAhB,AMAgB,AlBAAtE,AIAA,AYAA,ATAhB,AcAAsE,CVAA,ALCwB,CGAC,AiBDzB,ArBAAA,AyBKY,CtBLZ,ACC0B,AGD1BA,ARAmB,AmBAnB,AhBAAA,AuBKahI,CFLb,AjBAAgI,AaAA,ArBAoB,AFAA5D,AGAA,AkBApB,ARAA,CYAA4D,AzBAqB3D,AwBAA,CtBACgB,AOAA,AaAtB2C,CMAA,AJAuB,AJAvB,CXAwB,CVAC,AoBAA,AfAzB,COAA,ALAA,ADCiCE,CKDjC,AXA2BvE,AoBAA2R,CMA3B,AzBA4B,CsBA5B,AOKuB,C7BLO,A6BKN,CAAC,CVLO,EjBAE,AHAA,AoBAA/K,EjBAEjF,AHAA,MoBAM,EAAE,EjBAE,AGCJ,CAAC,CHDK;A0BChD,ArBAA,AoBAA,AjBAA,AaAA,AECO,AdAA,AUDP,ACAA,ATAA,ATCO,AEAA,AcDP,EMAE3G,AlBCAA,ALDA,AeAAA,ArBAA,AICA,AIAA,AODA8C,AdAA,A+BKA,EDLF8H,ArBAAL,AoBAAmP,AjBAApM,AaAAwK,ATAItX,AZAA,AFAAkF,AgBAAlF,APAA,AQAA,AlBAAM,AyBAA,ALAA,AEAJ2W,ANAI,AOAJO,ATAAnN,AOAAqM,CRAKpU,CaCQiW,AdAAzK,APAA/E,AEAAiB,AMDPvJ,CfAC,CKAC,AOAA,AQAA,AOAA,ALAA,AJAA,AcKAoJ,C3BLC5D,AOAA+F,AQAAqJ,AOAAnQ,ALAAnF,AhBAAqH,AYAA0K,AFAT,AZCS,AWDA,AdAAxP,C8BAT,ALAA,AxBAU,AOCO,CNDN,ADAA/B,AsBAX,AxBAWpB,AeAAoD,CEAC,AdAAT,AgBAA,AHAZ+G,AhBAY,ACAAvG,C8BAZuG,AFAarJ,AlBCAA,AeDbqJ,ATAatI,AEAAA,AEAAf,ApBAAiB,C6BAb,ADAa,AlBCC0J,AUDArK,AGAd+I,ADAA,CKCsB,AvBDP,AoBAf,AzBAe,AOCO,ACAPhI,CEDf,AmBAgB,AhBAhB,AeCuB,ADDP,ArBAAuG,ANAA,AOCO,AQDP,AdAA,C6BAhByB,AxBAiBZ,AiBAjBY,CZCkB,ANDA5C,AOAA,AUAA,AGAlB4C,AzBAkB1J,AICAyG,AWDA,AdAArD,CSAlBsG,AGAAA,AcAmB3D,ANAA,ALAnB,AhBAmB,ASCO6D,CsBD1B,ApBCoBoC,AeDpB,CvBAqB,ASAAnL,AUAAA,ADAA,AGArB,CrBAsBmC,AHAAlD,CoBAC,AnBAA,C6BAvB,AzBAwB,AaAA,AKAxB,CTCgC,ARDP,AmBAzB,AzBAyB,AQCA4B,APDA,CSAzB,AGAA,ACCiC,AMDP,AOAA,A3BAAzB,AQCD,CNDE,AIAA8H,AYAA,CPCC,ARDA,ADAA3C,AMCA,CSDC,AdAA,AgBAA,APAA,AUAA,AlBCAqB,COACwF,AMDA,AEAA,APAAa,AUAA9L,AlBCD,CcDE,ClBAC,AICO,A4BIpB,CAACU,ChCLc1B,CAAC,EiBAE,AdAA,AgBAA,AjBAA,AFAA,CWCC,ARDA,AGAA,CWAC,AEACqB,AjBAAA,AFAD,ASCJ,CEAK,ALDA6G,AGCJ,GWDO,AYKb,CbLe,AjBAA,AoBAD,AUKb,CVLc6O,AUKb,CpBLc,CAACnK,COAG,AjBAA,CeADvL,CXAC,EAAE,EWAE,CLAC,CKAC,ALAA,AUAA,CAAC;ASCzD,ArBAA,AoBAA,AjBAA,AaAA,AFCO,ACDP,ATAA,AOCO,ASIP,EJJEhB,AdAAA,AIDA,AXCAA,AEAA,EsBDFyb,ArBAA3Q,AoBAA6O,ADAI,AhBAJ9O,AFCI,AeDJ4M,ArBAI,AFAA,ASAA,AQAA,AOAA/R,ALAA,AhBAAnE,AeAA,AIAJkW,ATAAhM,AhBAI,AIAmC,AICnC,AODA,AdAA,EgBAE,AEAA,AjBAAzG,AsBCO0S,ADAAP,EQDb,AFAQ,AlBCA,ANDA,AOAA,AQAA,AEAA,ADAA,AZCA1M,AMDA,AdAA,C4BAC6O,AhBAT,AFCS3O,ANDAjE,AOAAgG,AQAAoJ,AEAAa,ADAArW,CrBACT,AQCA,CuBDVwJ,ALAA,AvBAW,AwBAA,ArBAA,AmBAX,CZAAA,AcAYyP,ArBAA9W,AiBCO,CbDnB,ACCa,AiBAAhC,AdAAA,AZDA,AEA0ByB,AGC1BzB,AgBAO,CODpB,AJAAqJ,AECa,AdAA,AZDCrI,AoBAA,ADAA,AIAdqI,AzBAc,AOCAlE,ACAA,CLDC,AKCAsD,CEDfY,ACCgBsB,AiBAA,AdAA,AUAO,CMDvBtB,ARAiBsN,AhBAA,AeAArW,AGCO,AxBDPb,AIAsB,C2BAvC,AzBCO,AUDP,ATCkB,AEAAgL,CIDlB,AXAmB,AOCAtF,CoBDC,AlBCA,ACDA,AVAAF,AFAA,AIAmBvD,AGCnB,CmBDpB,ArBAqB,AsBAA,AFArB,ATAA2H,AhBAqBvJ,CoBAC,AEAA,ADAA,CXAtB,AmBAuBU,AjBAA,AHCA,ADAA,CsBDvB,AzBAwBkG,AsBAA,AnBCA,CYDClG,AXCA,CPDC,CUAC,AVAA,CyBAC,AXA5B,CZAuC,CAAAZ,CyBAR,A7BAA,C6BACe,A7BAAhB,CoBAC,ApBAA,AQCA,CYDC8M,ApBAA,CQCC,CHDC,ADAG,EAAN9K,IAAI,IyBAS,CAAC,EzBAVC,CgBAa,AZCA,CYDC,AdCZiG,AEAY,GJDd,CgBAkB,AhBAlBpG,CgBAmBoU,GhBAnB,EyBAwB,AvBCX,CuBDY,AzBAzBhU,IAAA,IgBAiC,CAAC,ChBAlCA,IAAA,EEC6B,CFD7BJ,GECiC,CAAC2F,AFDlC,EAAAvF,IAAA,CEC0C,GAC3E,CAAC;AyBDL,ArBCO,AoBDP,AjBAA,AaAA,ADAA,ATAA,AgBMAR,E7BNE,AqBCArB,ANAA,AVAA,AeAA,EQDF0b,ADAA9B,ADAI,AhBAJnO,AFCI,AeDJuM,AECI,AvBDA,ASCA,AFDA,AQAA,AlBAA,AyBAA,ALAA,AhBEA,AeFA,AIAJlN,ATAAwE,AhBAI5P,AOCA8J,AEAArE,CPDC,CQCQ4F,AODP,AEAA,AjBAA,AED2BpJ,AWC3B,AdAA,E4BAE,AlBCA,AiBAA,AvBDA,ASCA,AFDA,AQAA,AOAA,ALAA,ADAA,AHCA4Q,AlBDA,ASCA,CoBDCgH,AlBCA5N,AiBAAqN,AvBDApS,ASCA2H,AFDA5B,AQAAoJ,AOAAjK,ALAAF,ADAA0K,AZCA1R,AcAAyQ,CNDCrU,AEAAA,AbEA0H,AFH2B,AGE3B,AyBKA,ChCNC,AID0B7G,AGE1B4H,AyBKA,CDNX,AbCY8I,AlBDA7S,AeAAsD,AdAAA,A+BMA,CFNZ,AVAa,AICAhD,ANAAgE,AODb,ATAA,AgBMawJ,CZNC,ACAA,AGCAjB,CODdlD,ALAA,ATAe,AEAA,ALCA,AMDA,AhBDsB,AKEtB,AcAA,CODfA,AbAgB/B,AEAAA,ADCA,AODhB+B,ATAAA,AhBAgB,CWCC,AWDA,ADAA7I,AdCA,AyBKA,CnBNjB,AaAA6I,AZCkB7I,ARCA,AYDA2E,AXAA,AEAA,AcAA,ASKA,CtBLQ,ANFWzD,CMEV,ACAPiK,AWDAC,AtBAA,AuBCA,CMDC,AhBArBvC,AeCqB,AvBDA,ACEC,ANFD,C+BArB,AdAsB,AEAA,AKCA,ANAA,AXAA,AEAA,CqBDtB,AbAuB/G,AEAAA,AMAvB,ATAA,APCuBnC,AMDA,AdAA,C4BACK,ADCA,AvBDA,AmBCAmX,ANAAnF,AXAArN,AyBKA,CNNxB,ALAyB,ArBAAzF,ASCA,CKAC,AODAiB,ANAAP,AdAAA,CaCCgC,AaDA,CdA3B,AFC4B,ANDA,AsBAA,ALAA,AlBDS,AGET,CFDC,AsBAA,A3BAA,AIDQP,AGER,CFDC,AOAA,AGAA,AdAA,CWAC,AGAAxB,AdAAA,C4BAC,AZAA,AEAA,APAA,AZAAR,C6BACc,AZAA+Q,AEAAA,AfDI,CwBEH,AVAA,EAAEe,AlBDA,CwBCC,EAAE,CVAC,ARCA,AeFA,ANAA,AdAA,CgBAC,AEAA,ALCA,AODA,ANAA1P,AdAAA,CgBAC,AEAA,CDCC,CZCC,CAACqE,AeFA,AHCAsL,CGDCpS,ANAA,AdAA,C4BAC,AdAA,AdAA,C4BAC,GRAG,AHCA,CZCE,AeFD,CHCC,CZCC,CWFC,CAAC,CHCC,CGDC,AHCA,CKDC,CAAC,EAAE,CUAC,CAAC;AEChE,ADCO,AjBAA,AaAA,ADAA,ATDP,ENCE,APAA,ASDA,AQAA,AlBAA,AyBAA,ApBCA,ACCA,AeAA,ASIA2b,EDNFxQ,AFAI,AlBCA,AiBAA,AvBDA,ASCA,AQDA,AhBEA,AeFA,AGCA,ANAA,AFDJ8D,AhBAI7P,AIFiC,AKGjC,EqBASma,AjBAAtM,AaAAqL,ADAAX,AVDPhV,AdAAA,E4BAE,AlBCA,AiBAA,AXDA,AZAA,AcAA,ALCA,AQDA,ADAA,AGCA,AxBDA,C6BACuW,AlBCA5Y,AiBAA8E,AvBDAiB,AFCAhB,AWAAmG,AQDAC,ADAAvJ,AGCAoV,ADCAlU,CjBACiF,AYDAzB,ATAA,AuBKL,ChCNMxH,AgCMLwc,GFLe,AjBAA,AIDPtK,ARCAvH,AuBKL,CtBLMW,AoBAO,AjBAA,ASDP,AtBAA,AQEAV,AeAA5G,ASIL,CrBLM,AiBAA,ANDA,ACED,ASIJ,CVNM,AJCA,CaDjB,APCkB,AxBDAhE,AeAA,AQEA,AtBFA,C4BAC,AlBCAc,AiBAAA,AvBDA,AUAA0C,AdAAA,CECCyC,AkBDA,AHCA,AOAO,CMD3B0D,A5BCqB3D,AGCA,AkBDA,CKDClF,AxBAAmG,ALAA,CqBAC,ArBAA,C0BCQ,ApBCP,AUFxB,AhBAwB,CUCCqE,AcAAyL,CdAC9L,AKDA,AdAA,CUCC,AiBAA,AdAA,AODA,ALA3BtB,ADA2BpI,AdAAA,C8BA3B,ApBEON,AiBDqBA,AXDA,AdCA,AWAA,ARCA,AeFA2V,CPCC,ARCA5N,AmBDO2N,AjBCP/L,CEDC,AmBDA,A1BCA,AKCA1F,AOFA,AdAA,C4BACjE,AZAAK,CPCCmE,ALDA,AUAAnC,AdAAA,CyBCQqT,ALDP,CAACjU,ALAlC,CQC6B,CdAO,AODA,AOCNmK,AhBCM,CSFCjF,AXEA,CIDC,AJCA,AGDb,ADCa,CCDZnC,EgBAe,CdCpB,AiBDqB,AHAA,CdCpB,AiBDqB,AXDA,ARCb,AMDa,AdAA,CgBAC0M,AOCN,AfAP,AMDa,AdAA,C4BAC,AHCA,AjBAblI,CoBDc,AHCA,AFANwN,CHDO,CAAC,GZCV,CAAC,CAAC,EmBAe,CAAC,AXDA,CAAC,EYAE,CAAC,ALCd,CAACE,EHDgB,CAAC,IVEjB,CAAC,AaDO,CbEhDzW,AMH+D,AOCd,CPDe,AOCd,EAAE+W,IbE7C,CAACzV,QaFyD,CbEhD,AaFiD,CbEhD,IAAI,CAAC;AoBF9B,AfAA,AgBMA,CAAC,CFLClC,AjBAAA,AaAAA,ArBDA,ASCA,AFAA2M,AQAAoJ,AlBAA,AyBAAjK,AFAA9L,AzBDA,AOEA,AEDA,AuBKA,EDNF2b,ArBCInS,AmBDA,AlBGA,AiBFA,AzBAA9D,AmBDA,AhBEA,AeFA,AGCA,ARDJ8J,AZFI,AIIA,AOFA,AQEA,AtBFA,CcAC,AdAA,CmBCCuG,AFDgB5Q,AHAhB,AdAA,CmBCA,CSDE,AlBGA,AiBFA,AXDA,AEAA,AGAA,AhBEA,AeFA,AGCA,CKDCsU,AlBGA/T,AiBFAoG,ARAA,AlBAA5G,AoBDA0R,AhBEAjO,AeFAnG,AGCAsJ,CdAC,ANHAzF,CMGCoD,APAA,AKCA,AeAA5G,CpBDCP,C2BACtC,AjBAAA,AaAAA,AxBAAkF,AuBAAlF,AVDAmD,AdAAA,C6BCA,AjBAA,AaAA,ATDC2O,AEAA0D,AjBCAzQ,AuBAD,AVDC,AdAA,C8BAd,A3BFe,AGIA0D,ACAA,CsBDC,AjBAA,AFEA,AeFA,ADAA,AjBCAsB,AOFA,AdAA,CSCC,AMDjB,CeAAV,ArBCkBsB,ANHAtE,COKC,APLD,CyBEE,AFCAyF,ArBCA,AeFA,ALApBzC,CbCqB,AwBAD,ALDC,ADAA5G,CXCC,APAAF,AgBDA,AbEA,CuBFC/B,AlBGA,ACFAmM,AVAA,AyBAA,ApBCAlE,CGDCtD,ACEAvE,AMHA,ALCD,AUDC,AlBFA,AGIA8I,CwBFxB,A5BCyB,AgBDA1I,AjBCAmE,CCAC,ASAA,CgBAC,AXDA3E,AOCA,ARD3B,CNC4B,AkBAA,ANDA,ADAA,AGCA,AjBCA,CGDC,AkBAA,A1BAA,AsBAA,ADCV,CJFW,AZEA0H,AgBAVxE,CMFW,AlBGA,AQHA4D,AjBCA,AmBDA,CQAC3G,AlBGAyB,ERFE,AKCA,CSFC,AdCA,AICA,ACAA,CSFCzB,AMEV,CJFW,AEAA,AdEA,AgBAV,CJFWkR,GEAG,CAAC3Q,EbEE,CGCC,CkBHC,AlBGA,AUHA,AbEA0D,CqBFC,ARAA,CAAC,AEEV,CAAC,CNFW,AEAA,CFACgN,AEAA,CXEC,CAAC,QqBFQ,CAAC,ClBGC,CAAC,AQHA,CFAC,AEAA,CFAC,CAACG,SAAS;AcC5E,AfCO,EaDL,AxBCA,ASCAjG,AQFA,AECA,AxBDA,ASEA,ADAA,AeAA,EQFFoL,ArBCI,AoBAA,AjBAA,AFEA,AeFA,AEAA,AzBAA,ASAA,AQAA,AlBAA,AyBAA,ANDA,AHDuB,AOEvB,AlBCA,CWHwB,CZGtB,AUDOzH,AZHPnJ,AWEA/E,AdAAA,E6BCE,AjBAA,AFEA,AiBFA,AXDA,AZCAsF,AcDA,APCA,AVAAzB,AyBAA,ANDA,AdEA,AEAAsF,CqBDC2B,AjBAA3G,AFEAA,AeFA,AEAAqG,AhBAAS,AeAA9G,ANDA7E,AICA,AzBDAnB,AOEA+G,CGDCkE,AgBAA,ADAA,CtBAC,ADAA,CGAC9D,AcDA,AbEA,CDDA,AcDC4O,AHCO,AhBDP,AeAA,AdAA,C8BAb,ArBCc,ARAC,AcAM,ADDPjU,AdAAA,CSCCoI,AkBAA,AvBAA,AFAA,AICA,CMDC,AFEA,AiBFA,ADAA,ArBCA9C,CyBFhBuC,ApBGiB6B,AiBFA,A1BAAnG,AyBAAhE,CGAC,AlBAA,ARHA,AGIA2I,CGDC,AGAAlJ,ADAAoM,ARHAzG,AKIAuE,AMFA,AdAA,CSCC,AICAoB,ALAD,AMFC,AdAA,CSCC,AoBAA,AhBCD,ARAC,CKCC,ALDC,ACAD,AEAA,CKAC,CiBFvB,CDCyBiN,AnBEA,CCFC,AVAC,AEHD,CSGC,ADAClM,AaAD,ArBHA,CSGClM,AXAA,AmBDA,AICA,CdEC,AUHA,CVGCgK,AUHA,CTCE,CcAA,CAAC,ACAA,ChBEC,AgBFA,ChBECO,AQHA,APCE,CODDsK,IRGI,EEFE,CAAC,CMDC,CWCV,AHAW,CGAV,AXDW,CWCV,AHAW,GZDG,AdAA,EcAErS,AdAAA,C0BCC,AZDA,AdAA,CYCC,APCAuF,ASFA,AdAA,CYCC,EMDE,AQCA,CRDC,AQCAsD,IrBCK,EAAC,CAAC,IqBDI,CAAC,CAAC,CAAC;AIAxE,AFAA,A7BAA,AQEA,EoBDE,AzBAA,AmBAAG,ADDA,AGEAL,ARDA9L,AOEA,EQHF4b,ArBCI,AoBAA,AjBAA,AFEA,AeFA,ArBAA,ASCA,AMDApb,AlBAA,AyBAA,ArBCA,AYHA,AOEA,AlBCA,AEAA,AMFA,AdAA,EkBAE,APCAqM,ARHA5G,E0BGE,AjBAA,AFEA,AeFA,ATDA,AZCA,ASCA,AZDAd,AyBAA,ATFA,AOEA,AlBCA,CuBDC2U,AjBAApZ,AFEAgF,AeFAwS,AZCA3J,AaDA7I,ALAAyG,AGAA+L,AlBCAnQ,AgBCAqP,CXFC,AUAApS,AlBHA,AKIAkF,CGDCnJ,ARHA,CCGC,AeAA,AlBAA,CGAC6F,AeAA7F,AJAAf,AOEAoX,CNHCpF,AfCA7R,AcAD,AZHCwB,AmBKD,CTDE,CHCC,AGDAZ,AZDA,AyBAA,AXAA,AOEA,COFC,AjBAA,AFEAoE,AgBFApE,ALAA,CpBAC,AEHA,AGIA,AEAA,CsBFlB,ALCmB,AJAA,AGAA,ArBHA,C0BGC,AjBAAP,AWCAsL,CbCC,AaDD,AjBAC5D,AEAA,CsBFrBmB,ALCsB7I,ATDA,AQCAA,CDCC,CMDC6Y,AnBEA,CMHC7Y,AZCA,CECC,CFDC,AOAA,AHCA6J,CIDC,ADAA,CmBD5B,AlBC6B1J,AOAA,CMAC,ANAA,AKAA,CCACA,ADAAA,CXCC,CGFC,AHEA,AaDA,CVDCoO,AUCA,GPAG,ERAE,AQAC/N,CNCA,CFDC,CkBAT,AhBCU,CgBDT,AjBAU,CiBAT,AjBAU,AOAC,AOAD,CDAC,AdAA,AaAA,CCAC,AdAA8L,AeAA,AFAA,CRDC,CAAC,AHEA,AMDE,GXCZ,CkBDc,AlBCbxC,IkBDiB,CAAC4B,CVDC,CAAC,ELCE,CAACD,CaAC,CAAC,EbAE,AHCb,CGDc,AeAA,AlBCb,CiBDc,ACAA,CdAC,AaAA,ACAA,CdAC,AcAA,CdACrL,ADAA,AHCb,CAACT,CGDc0M,CHCZ,CAAC,EGDe,CCAC,ADAA,CAAC;AmBA/E,AFDCjK,ArBEAA,EoBCCmJ,AzBAA,AwBDA,ANAAlL,ANDA,AdAA,E8BAFgb,ArBCIhX,AoBAA,AjBAA,AaAA,APDA,AGCA,AhBCA,AkBAAA,ACDA,ATAA,AZHA,AGIA,AEAA,AcCA,CJHC,AfFA,COIqB1E,ANDpB,AcDA,ALEA,AFDA0M,AQAA,AlBAAzH,AgBFA,CWAL,ArBEA,CsBAO,ADFPiU,AhBEO,AFCoB,AeDpB,AECAtN,AXFAiG,AKCA,AhBCA,AmBDA,ATAA,ATCA,AEAA,ADDP3H,AeEO,COFCiP,AjBAAxN,AaAAA,AECD,AzBAClG,ADDA,AoBAAgR,AGAAuB,ATAAzI,ATCAlI,AEAA0C,AcCA,CZDqB,AGApB,AFDA,CgBCC,AdAAsE,AFDAzN,ALCA,CFDC,ACCA,AYHA4R,ChBEE,AICDvL,AiBCA,CZDqB,AJApB,AgBCA1D,CZDqBiH,CDD1B,AmBFR,AZCe,AZCA7D,AmBCP,COFT,ArBCU5B,AODOnC,AOEP+B,ACDO,ATAA,APCA,CFAC0B,CsBHjB6S,AlBGsC,AHDtC,CuBDDhQ,ADCoB,AnBCoBlJ,ARApByF,AGAA,AYHA,AOEApF,ATAA,APCA0J,AcCA,CbFN,ALAO,AFCAxE,AWAA,AZDAP,AoBAA,ADAAtE,AEEA,CbFN,AODO,AZCA,ASCA,AODD,AbApBwJ,AeEqB,COFC7J,AhBCA,AUAP,ANHO,CIECwE,AhBCA6C,AeDA,AGCP,ARDOuH,AOEA,CNHC0C,AfCA,CAAC3R,C6BD1B,AFDC,AhBE0B,AaAA,AdAA,CCAC,AaAA,AvBCA,ASDA,AVAC,AuBAD,AhBCA,CIDC,AaAA,ARFA,AOEAQ,CtBCC,ADDA,C4BAC,ARAA,CQACA,CZFC,AVEhC,CFCiC,AYHAiS,CREN,AODO,CXEC,ACAV,CGDIjI,AHCHjB,CKDW,AYCP,EZDS,AYCP,CdDC,AHCH,CGDI,CeAQ,AlBCV,CKDW,AYCP,ACDO,AlBCVxB,CKDW6E,AYCP8K,CMDQ,CAAC,AzBAA,CAAC,CaFC,AXGV,CWHW7T,AFEd,ATCI,CSDH,CAAC,ATCIwE,CWHW,EAAErD,AOEA,CAAC,GbAG,AMFA,CNEC8G,AMFA,CYEC,CAAC,CNCN,CZDQ,AYCPA,CZDQ,GYCJ,CZDQ,AYCP,CZDQ,CAAC,EYCL,CAAC,AjBAf,CiBAgB,AjBAf;AwBDrD,A/BAA,EUCE,AgBAA,APDA,AQEAD,AHAA,EOFF8P,ADCI,AjBAA/Q,AFAuC,AiBCvCA,AvBDA,AFCArF,ADDA,AoBAA,ADAA5E,AIAA,ATAA,AZFAwF,AGGA,AEAA,CEDwC,CGCtC,AFDAuG,AQAA,AdCAlE,AYHA,AKIA,EOFE,AbDAnI,AQCA,ATAA,CcAC+Y,ALAAnB,ATAAzM,CFCC,AFDA,ASAA,AdCA,CJAC,AWAA8C,AFDA1N,AUAA,ADAAA,AZCA,CNAC8E,AiBDAmQ,AFFA,CSGChK,AJCA,CIDA,ApBAC,CeDC,AfCAxE,AEAA,CQFC,AUEA,ALDA,AJFA,AdAA,AKGA0C,CQFCzJ,AKCA,AhBCA,AYHAoS,AFEA,AZFA1M,AGGA,AgBCA,CjBDC,ACAAU,CwBFlB,ANCmB,CTAC,CcAC,AbDA,CcArBwC,AdAsB3G,AQCAlC,AlBCA,CaDC,AbCA,CuBDCA,AdAA+M,AZFA,AGGA,AEAA,CLHC,CgBECvM,CjBCC,ASDA,ASAA,ClBCC,ASDA,ASAA,CUD5B,AjBE6B,CAAC,AWDA,CXCC,AMDA,AFFA,AOEAL,CKAC,AjBAf,AeCA,ARDe2G,AFFAJ,CYECvG,AjBAf2K,AeCAA,AXFe,CAAC0G,ALCA,EAAE,CSAC,ClBCC,AiBDA,CjBCC,AiBDAiE,ACACjV,AHFD,CNEC,CAACgM,AMFA2F,CDCC,ADCV,CCDW,ADCV,CKAY,ALAX,CSAW,CLAC,AKAA,CKAC,AjBAf,AeCA,ARDe,CUAC,AjBAf,AeCA,APDiB,CRAhB,AeCA,AVHe,CLEdnF,AeCAA,ChBDgB,AQAA,AFFAgF,CNECvG,AQAA4J,EPAb,AeCA,CfDElL,AeCAA,ChBDe,CAAC,ECAZ,AeCA,AHDc,CAAC,CbAC,AMFA,EYEE,AjBAb,AeCA,AhBDakC,AMFA6F,CYEC,EVAE,CRAC,AQAA,CRAC,CAAC,AMFA,CAAC;AaEtE,A/BAA,EUEE,AgBAA5G,APDA2J,AGAA,AEEAoC,AjBDA,AEAA,AMFA,AdAA,E8BAFkE,ADCI,AnBAA,ANCA,AFAA,AWAA,AZDAxa,AyBCA,ATHA,AOEA,ATAA,AZFA4E,AmBIA,CTDC,AIHA,CLEC,AeCA,AdAA,AFDA0G,AQAA,ACAA,AHFA,EYEE,AnBAA,AgBCA,ArBDYpE,AmBAZ,ATAA,CcACsR,AnBAArU,AgBCAA,AFDA2S,ATAA3S,CHAC,AeCA,AhBDA,AQAAsQ,ACAAhV,CRAC2J,AeCAA,AvBAA,AFAA,ASDA5J,AVAA,AEFA,CFECqE,CgBFC5D,CdAC+E,CMGC0E,AGDA,AeCA,AvBAAlE,AFAA,ADDA,AmBAA,CVAC,ATAA3B,AyBCA,ArBDY,AeAZnE,ALAA,CLACqB,AgBCAA,CdDCqI,AeCAA,AVHA,ChBEC,AmBAA,ALAAnK,CUCCsL,AxBDA,AsBEA+L,ANJA,CQGA,ANDC,AIED,CXFE,AeCA,AvBAA,C0BFtB,ADCuB,AJCA,ArBAA,AeDA,AIEA,CnBDC7Q,AcDAyO,AEAA,AjBFA,CMGCxK,ASDAyK,AfFArP,C2BCzBgD,ArBE0BlE,AoBDA3E,AnBAA,AgBCA,AFDA,CdAC+B,ACAA,AeCAA,AXDA,CJAC,AIAA5B,CSAC,CfCC,ACDA,AgBCA,AvBHA,COEE,ANCD,AsBAA,CjBAC,AWDA,AjBFAuF,C2BChC,A1BEiCe,AoBDA,CKAC,AXAA,AEAA,AIAAqP,CKAC3V,CXACgV,AfFA,CQEC,ARFA,COEC,AgBCA,CtBAC,AODA,AeCA,AFDA,CAACvT,EdAE,AKAA,CLACuI,ACAA,AIAA,CXCC,AcDA,APAAsC,EOAE,CRAC,CAAC9M,CmBAC,CAAC,AnBAC,EAAC,AKAA,CLAC,AcAA,ATAA,CSAC,GbAG,CAAC8L,IAAI,CAAC,IAAI,CkBAC,AlBAA,CkBAC,AlBAA,OaAO,CAAC;AMC7E,A/BDA,EGEE,AWAA,AaAA,ALAA4K,AlBHA,AGIA,AEAA,AMHAzT,AdAA,CGDC,C2BEH4Y,ArBCI,AoBDA,AjBAA,AFAA,AeCA,APDA,APAA,AVAA,AsBEA,ACFA,ATAA,AOEA,CVFC,ADAA,AGDA5Y,CFCC,AeCA,AvBAA,AODA,AMFAqP,AHCAxR,ELEE,AoBDA,AnBAA2K,AeCA,ATFA,AGCA,AdDsBlE,AeCtB,AGEA,ACFA,ATAA,CNCCvC,AoBDA6U,AJCA9B,AFCAN,ACFAU,ATAA3I,ADDA,AdAAvM,C2BEC,A1BDApC,AoBCA6V,CMAChL,ANAA8K,APFqB,AQGrBtE,ClBDCnL,AgBDA,ApBDA9D,C8BCZ,ArBCa,AWDAlC,AHFA,AjBCAD,CmBCCiV,AFFAhP,CRGC,ARDA,AKEAQ,AEAArG,CsBFfgI,ApBAgB,AWCA,ArBFA,CoBCC,CnBAC,AoBCA,ADDA,AGEA,AvBHqB,CyBEpB,AEAA,AvBAA,AgBDA,AGEAwN,CEDC9V,AEAA4J,CjBDC,AOFA,CbGCxD,AHDA9B,AcAA,CeAtB,AbFuB7D,CUGC,CjBDC,AKAA,APEAH,CqBFC,AFCA6J,ARDA,AbEAxD,AEAD,CEFE,AaEA,AjBAAM,CiBACmP,ANJA,ATIA,CqBFC3W,AVAAwV,AFFA,AOEA,ATAA,CAACtQ,CYCC,AvBAA,AECA,AgBAX,CKDY,AvBAAmB,AoBDA,AFEXsO,CrBFY,AKEA,CLFCpQ,EwBCE,ArBAA,AoBDA,CKAC,AJCA,ArBAA,AoBDAuR,ATAA,CcAC3V,AdAAyB,EIAE,CfCC,AeDAA,AGEX,ClBDYqE,AmBCR,ACFQ,AFEX,CrBFY,AsBER4Q,ACFQjV,CCCC,CxBDC,CwBCC,AHCX,CAACsB,ClBDY,EqBAE,ArBAA,CqBACvC,AFCR,ARFQ,CcAC,ANER,ARFQ,CcAC,ANER,ADAH,ClBDY,AeDA,AIER,ADAH,CGDY,ArBAAwF,AeDA,AGEX,CGDYsF,ADDA,CAClD,AFCyCoJ,GGDa,CAAC,EHCR,EGDY,ArBAA,CqBAC,ArBAAjO,CqBAC,AHCT,GPFY,CAAC,EXCE,CAAC,CyBDC,CAAC,EVAE,CAAC,GKE3E,CAAC;AMHL,A/BCA,AIDA,ESEE,AVEA,AWAA,AFFA,AeEA8E,AHAA,EMFE,AJCArH,AEAA,ATDA,AGCA,AJHA,AOIA,ATFA,ATEA,AEAA,AMJ4B,AdAO,C2BGlC,ClBACM,ACDA,AiBCA,AvBCA+B,AHFAjC,AIFoC,AeEpC,AEEAkS,CjBJqC,CwBEnC,AbDAnF,AHGAxD,AMFA,AECA,AhBHoC,AmBIpC,ATFA,ADFGnL,AdAOA,C6BET4W,A3BEAnU,AmBDA6Q,AGCA4B,ATFA3I,CNCC,ACDA,AQAAlK,AVEA,CEFCA,AJEA,CaFCwQ,AlBAA,AyBEAhK,AJAA,CbDC,ALCA,AsBAD,AJACmJ,CbDC,ALCAhO,AHFAlC,AoBCA,AbCA,CCDC,AiBCA,AlBAAsD,CiBDN,ATFO,CSEN3D,ATFOmN,AECA,AGCA0E,AfCA,CIFC,AGEAnI,AZFA,CSAClM,AGED,ASAC,CJFC9B,AHAA,ADFG,AdAO,CIIT,AFAAsF,AWAA,APAA,CJACJ,ADFA,AoBCA,AfCA8B,AgBAA6N,CGDN,ATFO,AfCA,AcAA,APEA,AMJA3T,AdAOA,CyBGb,ATFO,AZGCV,AeFD,AlBAA,AKEA,AEAA,CQHC,AVGA0G,CuBFC,AVAA,CJAC,CLAC,AQAA,AMEA,ATFAhC,AOEA,COFClF,AnBAA+B,ANEC,AFAD,AgBFA5B,EhBEE,AsBAA,CdFC,AIFT,AdAO,CUEG,ANEEsG,AIAF,AMJVrH,AdAOA,EwBIK,ATFA,APEA,CgBAC0W,ATFAlU,ATEA,AEAA,CqBFC,AvBEA,CuBFCzB,AJCP,CrBCU,AUJlB,AdAO,CyBGG,ArBCSK,CoBAD,AlBAA,CkBACoB,AlBAA2F,CIFC,AQAA,AVEA,CEFC,AeCP,APDO2N,AVEA,CiBDN7H,ArBCS,AIAF,CJAGvG,CUJzB5F,AdAOA,EeEmB,CAAC,CTEC,CuBFC,AzBEE,CyBFD,AzBEEF,AcFF,AZEAwG,CYFC,CMEC,CACjD,AVLiB,AdAO,CMI2B,CFAG,AEAF,CFAG,IqBDL,CAACiE,AXHlC3I,AdAOA,CeEmC,CAAC,EUCL,CAAC,IAAI,AXH3C,AdAO,CyBGqC,CIDQ,AJCP,CIDQ,AfFrD5B,AdAOA,IwBM1B,CAAC,IVNkB,AdAO,McAJ,AdAO,IcAH,AdAO;ADErC,EaEEoK,AaAA,AEAA,AhBAAgB,AYEAX,ANLA,AXIA,AEAA,ECDE,AoBDA,A3BEAzG,AgBFA,ALEA,AaAA,ALDA,AhBHA,AeEA,AIIA,ATJA,ADFA,AdAA,CoBEC,CVAC,ANEAwB,AHFA5B,AmBAA,AEEAzC,EOFE,AbDArC,AECA,AQEA,ALDA,AGGA,ATJA,ADFA,AdAA,C6BEC0Z,AXAAxU,AQEAA,ALDAqG,AEEAI,ACCAyL,ATJA/H,CFEC3I,AMFA,AIGAlC,CrBDC,CAACe,CEAC,AHFA,CGECwB,AeFA,CAAC4O,AlBAA,AoBCA,CLFC,AECA,AQEA,ALDA,CLFCjE,AHGA,AFDApF,AeCAxK,ALDA,AEEA,CLHC,APCAuK,AaGA,CvBJC,AsBGA,CXFCf,ACCA,AZFC,CWCD,AYGC,CbHC,CCAC,CVCC,ASDA,AIDA,AOEV,COFW,A3BEA,AiBFA,AKIA4L,AFFV5U,CTAW0H,AMFA0L,AOEA,CAACvT,AXFAnC,CcACA,AbDA,AMGV,CNHW,AZGA,AkBAV,GlBAcQ,CsBAA,CAAC,CVHC,AdGA,AaFA,CcAC,AbDA,AHGN,AEFML,CcACA,AzBEC,AFAD,AWANwJ,ASAJ,CHFW,CAAC,AGEVgN,ElBAc,AsBAF,CAAC,CbAL,CAAC,CAAC,ASAJ,CAAC9B,CpBAW,AsBEZ,CtBFa,AsBEZ,ETJc,CcAC,AdAA,CcAC,APEV,CAAC,OEEK,EAAExS,KTJiB,CAAC,IcAI,CAAC,OLIf,CAACoB,QAAQ,CAAC,CAAC,CAAC;AMJtE,A/BAA,E0BGE9C,AEAA0K,ADAA,ALDA,AhBHA,AeEA,AHDA,AXIA,AEAA,ECFE,AoBDAd,AjBCAlG,AFDA,AREA,AWCAqC,AFFA,AVDA,AsBGA,ACCA,ATJA,CdAC,CwBEC/F,APFAI,AjBAA,AaFA,AQIAsD,AtBJA,CyBIA,ChBDE,ALCA,AODA,AQDA,AIGA,ANJA+N,AOKA,ATJA,ATGAlL,CGFCvC,AgBCA,AdDAuH,AYEAkL,ACCA9L,ATJAgE,CYECjE,CAACX,AzBAA,AWCA,CAACpD,ACLA/E,AdAAA,CSGC,ASDA,CTCCmI,ALCA1D,AcFAhG,ChBEC,AMCA+G,CIFN,AeCO,AvBAA,CQDNzD,AEHO,AdAA,C2BIC,AJCA,ADDP,CbDQ,ALCA9D,AcFA,AKGA4V,AjBAAlP,AgBDPxC,CJFQ,APCA,ALEA8C,AEAAO,AMLAtF,AdAAA,CSGC,AIEA,AEHA,APGD,EIFJ,ADAO4J,AMFA+F,ATIA,AcDP,CVDC,ARCO,ASCA,AIJA5O,AFCAxD,ATGA,AgBDP,ClBAQ8G,CECC,CKFC,AMFA,AOKA,CAAC,CPLCnC,AOKA,EpBFE,AmBCA,CMHd,AzBEesC,AWFA,ADFA,AdAA,C6BEd6D,AZDe,AFCA3K,ADFA4C,AdAAA,CuBKCyB,CNJC,CJIC,CDFN,CRCQ,AkBAP,CVDC,AMDO,CAAC,AJFA,AQIPmS,AtBJO,CuBKC,ATLAlW,AdAAA,EYGL,CAACwM,AEHO,AdAA,CcAC,AdAA,CsBIN,COFP,AdAe,AOEP4H,COFP,AdAe,CcAd,CAAC7H,GPEW,COFP,APEQ,COFN7C,IAAI,EjBCS,CAACsB,CiBDL,AdAa,CAAC,EHCL,CAAC,IAAI,CAAC,CAAC;AkBD3D,AJGP,A3BHA,EGGE,ASDA,AUCA6K,AhBHA,AeEA3V,ERAE0D,AFDA,AeEAsS,AEAA,A1BFArW,AsBGA,ANJA,AOKA,ATJA,ATGA,AEAA,AcDA,CAAC,CQHQmb,ArBEP9W,AoBDA,AXAA,ALGA,AMHA,ACCAhE,ANHA,AQIA,AtBJA,CoBGA,CVDE,AiBEA,AXHA,AZGA,AaHA,AOKA,ATJA,CeDQ,ApBCP0K,AiBEAnG,AtBHAkD,AeEA,AHFA0J,AOKAkG,ATJAzI,CeDQ,ArBEP,AoBDA,AhBGA5K,AZHA,AOGAkF,CCFCa,AoBDAP,A5BAApF,AsBGA,AjBAA,EeDEuR,APJA/T,AdAAA,CIIC2E,ASCA,AQDAkE,CQFC,ANGA,CdFC,AGAP,AeCO,AJCAgM,CXFN9S,AFDO,AiBEAzC,AdCA6E,APAA,CuBHCyD,AnBAA,AeER,AXJQ,AdAA,CSGC,ACDA,AeERyM,EDEU,AlBDA,CuBHC,AREA,AGEA,AlBDApX,CMFN,AaCD,ADEQ,AVNA,AdAA,CYGN,AaCD,AZCQ,AZHA,AoBEA,AJHA,CQGP,ArBAQ,ASCAyH,AZHAzG,AsBGA,CEDPwM,ApBHQ5E,AkBIA,ClBJCC,AkBIA,ANJA,AHDA,AdAA,C2BIC,AvBAA7H,AWFA,CNCC,CgBCP,AxBFQ,AaFAZ,AdAAA,CyBIP,AEAQ8K,AdCA,AZHA,AgBDA4H,AFCA,EXEE,AECA,CFDCnL,ACHA,ACIAD,AEAb,AMLa,AdAA,CeEC4G,APGb/F,AMLa/E,AdAAA,C2BIC,AtBHA,COEN,AaCD,EbDG,CeCQ,AnBCb,AMLa,AdAA,CQKZ,AMLaT,AdAAA,CQKZ,CIFO,CAAC2K,AeCO,CAACsL,ArBCA,CWJC,AXIAhR,AQLA,AdAA,CIIC,AaHA,AHDA,AdAA,CIICN,AaHA,EXIE,AQLArE,AdAAA,CMKC,MqBDM,EvBAE,EQDL,CAAC4I,AEHO,AdAA,IYGH,CAAC,IAAI,CAAC,CAAC,EGDZ,CAAC,CAAC;AbGxD,AwBDCrJ,A3BFD,E+BAE,AHGA,AhBAAmK,AVFA,AsBGA,ACCA,AlBDA,AgBDA,EbDE,AGAAlI,AFDA,AQAA,ACAA,AEEAtD,AhBHA,AeEA,AHFA,AFCA,APGA,AMLA,AdAA,CmBEC,ALFA,AdAA,C6BEC,AJEAwJ,ANFA,ALFA,AdAA,C0BGL,ChBDO,AMDAvK,AZGA,AsBDPqY,ANAO,ALDA,CeDCqD,ApBCApQ,AUCAyK,ALDAvG,CcAC,AZDA,ATIA,CqBHCjE,AREA,CSHCmQ,A1BGA,AiBAAla,CSHA,A1BGC2E,AUJAxD,AdAAA,CcAC,AdAA,C8BCC,AtBIA,CIFN,AIFO,ALGA4J,AHCAxE,AMLA,AdAA,C6BEC,AjBCPzD,AIFOrE,ALGA0C,AeDhB,ALCgB,CQFC,AlBEA,AUAC,ANFD,CcAC,ATCA,CTCC,AeDnB0V,ANAmB,CJFC,AIEA,ALDArY,APGA,CQJC2R,ARIA,CIFN,ARCO,AICA,CIFN,ARCOvK,GMFG,CAAC,AWEAgE,CXFC,AgBC5B,AXD4B,CAACjL,CXEC,CAAC6G,CYHC,CSGd,ATHewK,AZGA,CqBAd1G,CrBAgB5D,AiBAC,ETDN,ASCO,CAAC,CTDN,EIFS,CAAC,CJEN,AGDO,CHCNiG,AGDO,EXEE,EqBAb,ArBAe3M,CqBAd,CAAC,CAACwM,ErBAiB,CAAC3F,CqBAd,CAAE8C,AVFc,CAAC,GUEX,EbDS,CAACsB,CaCL,ArBAa,CAAC,EQDL,CAAC,IAAI,CAAC,CAAC;AVCnErJ,ADDD,ESAE,AiBGAgO,ARHA,ACCA,AGGAmG,ACCAjL,AlBDA,AEDA,AcAA,EQJE/L,ArBEA,AoBDA,AjBCA8E,ADCA1B,AUAA,AhBHA0F,AUCA,CcAC,AlBEA,CkBFC,AzBEA,ASCA,AFDAqE,AMJM6F,AHANxR,AdAAA,C2BKCqP,AvBDA,AFDN,COAO,AgBCA,AECD,AzBFNpL,AmBCO,ANFA,ATIAmE,CGHCxE,AYCAyG,ANFAqE,AOGA3H,CKAC,CzBFT,AGFU,CoBGC,ApBHAG,CIEC,AgBCAoF,AFEAkJ,ATNA,AdAA,CSGC5S,APAbqB,AqBGY,AjBACmE,AQNAnI,AdAAA,CMMA,AgBDC8G,CVFN,AWGO,ADDD,CVFLxD,AVAT,AmBCgB,AfEA,CgBDC,CbFC,AKHA,AdAA,CWIC,AUAA8G,AhBHA,AmBMAE,ATLA,ADFA,AdAA,CSGC,AECA,ANHAhD,AmBMD,CbHE,CCDN,AYIO,ATLAtI,CHCN,ISCW,GIAG,AVFA,CUECmK,AVFAhK,EeDd,CAACU,CLGiB,CbDN,AaCO,CpBHC,COEN,APFO,IOEH,CAACuM,CkBFR,CAAC,AzBAgB,AUCA,CeDf,AfCgB,CVDC,KSDK,AdAA,EcAEzK,AdAAA,CcAC,AdAA,CcAC,AdAA,IYGH,AGDO,CHCN8I,AGDO,IHCH,CAAC,IAAI,CAAC,CAAC;AXDjErJ,AFAM,EWELmJ,ACCA,AQDAoK,ACCAjV,AZEA,EsBLE,ADCA,AjBCA2D,AeEA,ATHA,AGEA,AEEA,ANPe,AOQf,ATLA,ATIA,AgBDA,CLNgB,CRIdM,ALCA+B,ASCA,ARJA6B,AeGA7H,ArBHOnB,AeDP,AdAA,CCCL,AmBGK,CSFE,AnBCAgM,AeCA,ATHA,AfAPlH,AoBGO,AJLe,AOQf,ATLA,CcACiH,AnBCD,AWCCC,ADAA,AIGAoM,CMNCgE,ArBEA,AkBEAlD,AdAAvK,APCAzN,CGHCkD,ACAA,AaGA,ADDAgT,CZFC,AeCA,ANDAhB,AFJe,AFGf,CeDC,ALGAI,ArBAA,AeDAH,AlBFZ,AIAY,AYFe9D,AFGf5C,ATIA,AQNArM,AdAAA,CIICyE,CiBAC,AhBHA,AkBKA,AfAA1E,CsBLC,ArBEA,AGAP,AXFRyB,AoBGe,AEEA+S,AjBAA,CMHN9S,AOAO,AECA,AGGA,AFFA,CKAC,AdAA,AWEA/D,AhBDAqC,AcDAiS,CbFCxS,AUAA,AdFA,AGKA1C,CsBLC8b,A/BAO,C4BINzb,AdAAJ,AZJpB,AcCoB,AhBDO,ASKP,COJCgD,ATIA,CwBLC,AlBEP,AaCO,ArBAA,AIEA,CsBLC,AlBEP,AaCO,AHCA,CQJC,ALGA,AZCA,AUCA,ARJA,ADFA,AdAA,CIIEpC,ASCDX,AUCAuL,ARJA,ATIA,CuBJC,AvBIA5L,CuBJC,AZHe,CYGd,AFGA,CAACkZ,CvBDE,GmBEE,ACCA,CpBHG,ASCF,AWEA,CXFC/T,CJFT,CAAClB,AGAG,ANGO,CAACuD,CMHN,ACEO,CWEC,AlBDA,CODC,APCAjF,CqBDC,AdAA,AWEA,CZJN,ACEO,CDFNsL,AGDO,ATIA,CGHT,AMDU,ATIA,CGHT,CAAC,AkBEU,CHEC,ClBDC,CSJC,ATIA7N,CqBDC,CAAC0F,EZHE,EAAE,GYGG,ErBCE,CMHN,ANGOqC,CMHNkE,IAAI,CAAC,GNGU,CMHN,CAAC,ANGO,CMHN,GNGU,CAAC;EuBH7E,AjBCA,AFCAH,ACCAkB,AUDA,AEEA,AxBLAhN,AuBIA,EQJE,ArBEA,AkBEA,ATHA,ACCAoW,ACCA,AHLA,AXOA,AEAA,AMNA,AdAA,EyBIE,ApBHApN,AmBMA,ATLA,CUEC,CAAC,AECA,AXJAoJ,AZGA,AeDA,ACCA,AdEA,CqBDC6G,ARFA3W,ACCAkU,AdEA,CYJC5V,ADHA+R,AFGA,APIAhI,CsBLCwR,AfCAzW,CXEC,AOCAsH,AaEAjK,CRNC,AZGA6D,AOCAiG,AZJA7M,AOKA,CwBLC,AdAA,AjBAAC,AOKAE,AEAA,EFAE,CqBDC,ATHA,APGA,AaEA,AhBDA,CWHC,AFJA,AFGA,ATIA,CqBDC,AhBAA,AQFAmQ,AdFA,AeGA,ALFAhO,CLECwJ,AQFApG,AEEA,AIGA,CdHA,ALHC,AeGA,AHLA,AlBEA,EWGE,AXHAxF,ASKA,CgBCC,CpBHC,AeDA,AKIAiY,CLJC,CDDC,ADHAnF,AlBEA,CKGChS,AcFA+Q,AHAA,APIA,COJCxP,AhBDA,ASKAa,GSPG,AFGA,APIA,CJFC,AaLAY,AOQA,ATLA,APIA7D,CJFCmH,AeDA,AKIAvE,CLJC,AXGA,CSPC,ATOA,CUJC,CDHC,COQC,CRNC,AZGA,AoBGAkO,CRNC,AZGAxJ,GoBGG,ATLA,CSKC,ATLA,CSKC,CpBHC;AmBG/C,EOLE,ADEAsE,AjBCA,ASCAgL,ADDA,ANJA,AQMA,AtBNA,ESGE,ACCA,AeAA,AdCA,AQFAX,AdFA,AUCA,AhBDA,C0BGC,ApBHA,CoBGC,AECA,AXJA,AHIA,ARJA,AYFArD,AOQAlQ,AlBDA,EuBHEkJ,AjBCAK,AFAA,ANAApF,AOCA6F,AQFA,CUAA,AnBCCnH,ASDApD,AGGA+U,CbHC1M,AkBEA,A5BJAxK,AOKA,CuBHC,AFEAuF,ArBCAvF,CKDC,AMNA,AlBEA,CsBIC4W,AfCA,CGHC,AYED,CjBDE,ALHAvX,CWGC,ANAA,AiBCA,AfCAyB,CGHC,ACCAF,ACCA,AWCAsW,CVFCjL,AeCA,ARFA,AGGD,CVFExH,AeCAgM,ARFAN,AbGA,CFFC,AkBEA,ClBFC1J,AOCA,CAAC8F,CFFC,CkBEC,AHEV,CZHW,AeCA,ARFA,AKIV3I,AzBNU,C4BIC,ARFA,ApBFA3D,CUECoK,AGCA,GbHG,CyBMT,AzBNUnK,CyBMT0C,CdHW,ANAA,AOCA,CDDC,ANAA,COCC,AQFA,CAAC,CVAL,AeIJ,CfJKoC,AeIJ,EzBNY,CAAClF,CUEL,CAAC,CAAC0J,CCCO,EAAE,CXHC,CAAC,CUEL,AVFM,CUEL,ACCM,CDDL,ACCMqC,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;AaE1ErJ,EOHC5C,ALEA,ANDA,ACEAuW,EXFE1T,AoBAA,AjBCA,AFAA,AiBCA,AXJA,AECA,AGGA,AhBJA,AmBMA,ATLA,AhBDA,AOKA,AEAA,AcAA,CNLC,AQMA,CRNC,AZGA,ASCA,AFAA,AMNAoQ,AOQA,CpBHC,AmBCN,CbDO,AaCPyE,ARHO,AhBDA,CWGChS,AKFAoG,AhBDA5L,CaGC6K,ACCA4D,AFAAxB,CUAC,ACCAgK,CFDCZ,AHNA,CaGCvW,AVGD,ArBJC,C+BCA,AjBGC,AINA,CIMC,ADAA,CUHC,ApBEA,AWCA4L,AtBJA1L,CWGCa,AGCA,ASCA,CCDhB,ADCiBsU,ELPE,AlBEA,CcICzG,AFAA,AYApB8I,CdFW,CAAC/S,CEEWkI,AUAA,ACCA,CTDC,ASCA/C,CTDC,CAAC4E,AEHA,CJGC,AIHA,AOIA,CXDCtB,AIHA,AOICjJ,ECD7B,EbDgC,CAAC,AYEC,CTDA,CAAC,EDDb,ACCe,AFAA,AWCEA,CbHX,AGCLQ,CHDMgG,GaGe,CbHX,ACCU,AYEEjB,CbHXvJ,CCCW,CDDT,CAAC,AaGY,CAAC,CZFD,CAAC+L,IEAX,CAACtH,KFAoB,CEAd,AFAeqH,CEAd,GFAkB,CAAC,IAAI,CAAC,CAAC;ASAzE,AXGA,EIFE,AaCA4B,AEAA,AXJA,AKIA,ANHA,ADFA,AQMA,AtBNA,E8BEE,ArBCAhJ,AoBAA,AnBCA,ANAA,AcFA,AbDA,AeIA,AIEA,AzBNA,AOKA,CFFC,CAAC,AOCAgI,AMNAqG,EaGE,ADCA,AnBCA,AGAgChT,AOChC,AIEA,AzBNA,C+BCCkc,ADCA9C,AnBCA5T,AUCA4Q,AIEA+B,AzBNA/X,CmBCCqO,APGA,ANJA1F,CMICmE,ALCA,COFiC,CIL/B,CCGC,ALEgC,AOChC,ArBJA,CqBIC9K,AHNA,AXOA,CwBJC,ArBCP,ACCO,CDDN4C,ACCOnE,AQFA,AnBDC,E+BCC,CDCC,AJEA8M,AdAA,CFFN,AoBAOkE,AJEApH,APHAiE,CTCN,AJFO,CyBCCa,AnBGA,CSAC,CKAC,APHA,AbDA5G,AeIAtG,CFHC,AMKA,CCFC,APHA3B,APGA,AaEAG,CbFC2L,ASAA,CAAC,CSFC,ExBFE,CwBEC,AnBCA,ALHAjE,ANAAtI,CWGC,AQFA,CTCN,AoBAO,AXDA,AEGA,ArBJC,CqBIA,CXFNwK,ASDO,AnBDA,E+BCP,AnBGS,CmBHR,AnBGSyC,CmBHR,ArBCE,ACCO,ALHA,CIEN,AJFOtE,CKGC,AcGA,CAAC,GdHG,CAACqD,CCCC,CaEC,EAAE,GdHG,CAACF,EcGE,CnBNC,CKGC,ALHA,CKGC,IAAI,CAAC,CAAC,QLHQ,EAAE;AWC7E,AGCCrJ,AXID,EIDE6K,AeCA3B,AvBFA,AiBEAC,ADDA,ALFAA,ATGA,AQNApJ,AQOA,AtBPA,E8BEE,ArBCAkC,AoBAA,AnBCA,AeCA,A1BJA,EmBAmC3E,ALE0B,AFE3D,ANJA6I,AmBMAlG,CXJ4D,AMDjE,CWAO,ApBEA,AeCA,AZF2D,AMDlE+S,AEIO7J,AJRS,AFKTA,AhBFA,AeDApJ,CgBEC0Z,ApBEA3W,AeCAkS,AJCD,ANHA,AhBFCrX,AeDAU,AQOAqW,AtBPA3U,CkBCkC,APIjC,CAAC+J,AUCA,ANHA,CGFkC,AJDjC,CTCC,CSDC,CTCC,ALDA/J,CSGN,ACCO,AVJA1B,C8BEC,ArBCPiE,ACEH9C,CeAW,A1BJA,CaICqL,APJA,ALDA,C8BEC,AlBGA9C,AeCAmB,ARJnB,CVCa,AgBEO,AECD,A5BLCtL,ACDA,CSGN,AEEO,AMPS,CUQR,AhBDA4M,AQHtBwI,CWAuBiE,AlBGA,AKPS,AOSnB,AFAUvC,CGFCI,ADEVrT,AFAUqF,CVFC,GbJG,AuBMA,CZFT,AXJUjJ,CWIT,AYEU,CXFC,EZJE,CYIC0M,AQHlC,CVC4B,EAAExC,EeID,CAAC,CMLC,ArBCG,CqBDF,ArBCG,CqBDF,CNKC,CbFW,AaEV0N,CCFD,CAAC,EfAI,CAAC,CAClCtX,WcC8C,CAACgC,CCFD,EAAE4H,CfChC,CAAC,AcCmC,CAACsG,CCFD,CAAC9M,EDEI,CAAC,CdDlC,AcCmC,CCFD,ADEE,CdDlC,AeDiC,IfC7B,CAACkH,UAAU,CAACY,IAAI,CAAC,IAAI,CAAC,CAAC;AML3DrJ,ARMD,EEAE,ANDA,AgBCA4T,AdCA,EwBLE,ArBCA,AoBAA,AjBEA,AaAA,AECA3R,ATNqD,AGMrD,AGCA,ATJA,AhBFA,AeDA,AQOA,AtBPA,CkBAsD,AMOrD,CNPsD,ALGrD,AFEAtD,ANJAyH,AYJ8C,AOU9C,CRPL,ACHoD,CaK7C,ADCA,AjBEA,AaAA,ATLP2I,AZKOjK,AiBCA,ANHA,AhBFA,AOMAkC,AQPA,AdAA,C8BEC0S,ADCA3R,AjBEAmD,AaAA8J,AJCArX,ANHAoL,AhBFAjL,CcECsD,CJAC2G,AaIAwM,CFDCX,AdCA5M,CuBJC,AhBAA,AFEA,ASCD,AdCA,CKFE5H,CFFC,AoBAA0I,ATGA,AdCA,CqBDN,AdHO7G,CcGNiB,AZHO,AhBFA,AuBMA,CQLC,ALGA,ATLjB,AKMiB,ANHAiH,AOIAsJ,CVFC,AaAAlJ,ArBAAzE,ASFA,AFEA,AUCA0F,AhBLA,COICzC,ARAA5C,ASFA8G,AFEA,AZJArO,C+BCC,AdFpBmR,AXCoB,EsBKL,CfDQ,AeCP,AZHO,AOIA,CQLCU,AfCA,AOIAkF,COJC,AjBEA,AaAA,AVFA,CcAC,AJEA,CIFC,ARGA,AtBLA,CKIC,ALJA5W,AuBMA,COJC6M,AjBEA,ADAA,AWECrJ,CVFA,AIL9B,AZK8B6D,AOAA,AUCA,EIDG7D,AJCD,CQHC,ARGA,CQHE+F,AzBED,ASFA,AQGA,ACCC,CTJAyE,CcGN,AvBDO,CqBAE,CECP,ALCSxK,CTJD,CAAC,CYEG,CIFA,AFGR,A5BLO,C4BKNuJ,A5BLO,AuBME,CQLZ,ARKahE,CQLZ,CAAC,ADCa,EPIE,KAAKA,IAAI,CAAC,EKDP,CAACuC,IAAI,CAAC,A5BLO,CAAC,CAACrL,E4BKL,CAAC,CAAC,G5BLU;ASM5E,ECHE,AGEA,AFEAoL,AKJA,AOIA,EQLE,AHIAnH,AvBDA,AOAA,AUCA,AhBLA,AeKA,AICA,AzBNA,AOMA,CDNC,CwBECqF,AJEAS,AZDA,ARHA,AYJAlK,AHGAwC,AdAAA,E8BEE,AVIA,AICA,AzBNA,C+BCCsZ,AVIAjG,AICAgC,AzBNAzX,C0BIC,AZDAiO,AQEAkI,AJTA,CQQC7S,ArBAA,ASDA,APGA,CeDC,AJTA/D,CPUC4L,CmBJC,AnBID,AGHCxL,AOEA,CSHCoM,AzBEA,AiBCApM,ADAA8B,CVCC,AeFA,AECP,AvBDOsE,AaRA,CUSN9B,AVTOzE,AXUA,CQPC,AdAA,CyBKC8D,AXLAV,AdAAA,EMOE,CuBJC,AhBCA,APGAzD,CwBLC,ADCCC,AFGR,AdFO8O,AQEA,CIDC,AECP,ANAOA,ADAA,CAACpM,CUJC,AbLA,CAACwC,CbQC,ALJA,CKKrBuC,AoBCsB,AzBNA,AeDA,AdAA,C8BECuQ,ADCC,ALIDlX,AzBNA,AeDAE,AdAAA,CoBMC,AHTA,CGSC,CdCC,AQPA,AdAA,C6BGG,AvBIFuG,AQPA,AdAA,EaIE,APGA,COHC,AQEA,AfCAY,CqBDN,ANAO,ADAA,CAAC,COAN,AvBAf,ASFsB,APGA,CFDrB,ASFsB,APGA,CFDrBL,AiBAsB,CAAC,CMAN,CAAC8F,ArBCO,CkBAC,AlBAA7N,CkBAC,IpBDlB,CAAC,CoBCuB,CpBDrBgI,CoBCuB,ElBAE,CFDrB,AECsBD,CFDrB,C0BJO,A1BKrCE,C0BLsC,ANKgB,CMLf,CHIU,CAACgE,GrBCU,CqBDN,CAAC,ArBCO,EFAnD,CAAClE,CuBD+C,ArBCO,CqBDN,ArBCO,CqBDN,MvBCxC,CAAC;AIA7B,AcCA,EbHE,AGEA2F,ARCA,AOFA,ASCA,ALFA5B,AhBHA,AOMA,EwBLE,ApBKA,AiBDA,ATNA,AGMAkL,AhBLA/N,AYJA,AHGA,AdAA,CiBHC,AHGA,AdAA,CyBKC,AZDA6F,AQEA,AJTA,AOUA,AVPA,AdAA,CaIC,AQEAxM,CSJC,ADCA,AnBIA,AiBDA,AdFAwB,CiBFC0Y,ApBKA9W,AiBDAA,GEHG,AJEAiF,AZDA,AWGA5H,CKJCoX,AfHAhX,AdAAA,CcAC,AdAA,CSICgI,AIAAnH,CHGC,AeFA,AECA,ANAA,AhBLA,ASDA,AdAA,CUOC1B,AeFAsH,AECA7I,ANAAwB,AhBLA2G,AmBMA,CXHC,CDECwE,CAAC/C,ASAA,AGCA,ATHAmB,CUCC,AJCA,ANFD,CUCE,CAAC,AVDA,CHEC,AYCA,CAACwM,CZDC,AFCA,CoBLC,ApBKA/V,AWDA,CAAC,AhBLA,CwBEC,AxBFA,CyBCC,ADCAtC,AnBIA,CAAC,CDHCkL,CAACC,AkBEA,CGJCwN,AHIA,GEHG,CAAC,AnBIA,ALNA,CKMC,CiBDC,AtBLA,EIGE,AkBEA,ElBFE,CeGC,CGDC,AHCA7V,CGDCoW,CtBLC,EAAE,CmBMC,CAAClI,IAAI,CGDC,AHCA,CGDChF,AHCA,IGDI,CAAC,IAAI,CAAC,CAAC,GGJjB,CAAC,CAAC;AVKtD,AZAA,AcACrJ,EZCC,ANCA,AOFAqK,AZJApM,AOMA,EwBNE,ArBEA,AGEA,AaDA,AECA,ATNA,AGMA,AJRA,AFMAgE,CUCC,CIFC,AJEA,AZDAiK,ARJ8C3F,AmBO9C,AVPA5H,AdAAA,C6BGC,AhBCA,ASEN,CQJO,ADCA,AjBGA,AeAA,AvBEAgB,ASJAyM,AQEA,AJRA,AXUA3G,AgBFP8O,CQJQsF,AHIA/W,ANAAiR,AJRAhE,CRMC1S,ASJA6O,AMOA/L,CpBCCR,AcRA,CNMC,AREAwF,ACR8C,COM7C4C,AENA,AdAA,CkBACnK,AGMA,AhBN8C,ACQ9C6H,AQRA7G,AQMb,AtBNaA,CWMCyL,AUAAL,AGCA,AlBCD,CqBFE,AdFA,AFED,AIFN,CNAQ,AGEA,AeAA7L,AVRA,AFMP+D,ATIO,AgBFhBqS,CXAiB,AMRAhE,CLQChT,ACFA,ACJA,AdAA,CSIC,AQNA,AOSA,AVPA,AdAA,CYMC,AREA,ALNAU,CmBFC,AGMA,AJRA,AOSA,AzBLD,C+BAE,A1BMAsE,AcRA4J,AGMClC,ANFR,AOEf,CECuB,ATHP,AhBFO,E+BAE,ArBEAxC,AGEAM,CREC,AiBFC,EjBEC,C0BNC4K,AlBIA,CAACpV,ACFA,AQEE,ETAA,AeAA,CAAC,CfAC,CMNC,CAAC,CHIN,EGJS,AHIP,CGJQ,GSMG,AZFP,CAAC0N,CYES1K,CAAC,GlBFX,CAACC,AkBEe,GlBFZ,AKJa,AdAA,CSIZgI,CKJcjI,AdAAA,CcAC,AdAA,CcAC,AdAA,E8BEd,CAAC,CAAC,CfEU,CNAL,AMAM,CNAL;AWEnDP,EVGCsJ,AeHA,EKHE,ArBEAjM,AoBDA,AzBKA,AcRA6O,APMA,ANP8D,AUK9D,AhBFAhO,AOMA,AQRA,AdAA,C6BGC,AXHA,AbD8D,CwBI7D,AjBGA,AeAA,ATNAgD,ALIAgL,AQEA,AhBP8D,AYD9D,CJMC,AOCN,CUHO,AjBEAG,AFEA,ASDPoH,AIEO,ATHA,CeFCqG,AnBIAhQ,AIFAoD,CHEC,AeAA3M,AvBEA+E,AcRA,AnBEA,CUEC,AGEAyC,AeAA,A5BJA5J,AOMA,CGJCsH,ACIA6D,AiBFAjL,ANAAgW,AJRA,CPUA,AQRCpT,ALIA,AOCZ,CPDa,AQEA,CTAC,AFEA,AiBFA,AvBEA,ASJA,CKJC,AEKfwS,AHPevP,CCEC+H,AGMArO,AfEA,CGJC,AGEA,AREA,C0BNC,ArBEA,CAAC,AkBEA,AhBAA,CSDnB,AHPoB,AFMA,ATIA,CwBNC,AlBIA,AKRC,AFMDO,ATIAf,CKFC,CPEC,CiBFC,AJRAgE,CaIC2N,ATIA5C,CMAC,AhBAA,AZJA,CKMC,AaVC,AlBID,C4BIC,AvBEArH,GcRG,CAACiH,AZQA,CAACnH,EAAE,CYRC,AnBEA,AOMAa,CYRC,AHIA,CMEC,ANFA,AhBFCrH,CKMA,AiBFA,CjBEC+G,EEAE,CeFC,AtBJC,AOOvC,CeHuC,CNFC,EeFV,AfEY,AhBFE,AOOxC,CwBP2B,AxBO1B/H,CwBP2B,A1BMY,CaVC2S,CbUC,AWJA,CAACzC,MENM,CAACkD,AXWtC,CAACrL,EFDwC,CAAC,CWJC,CENE,AFMDkE,EENE,CAAC,CFMC,ATKtC,CSLuC,CTMjE,GSNqE,CAAC,ATMlE,CSNmE,ATMlE9L,EACP,CAAC;AmBLL,EhBDE,AEEA,ANPA,ACYA,AQXA,AdAA,E8BEE,ADCA,AjBGA,AFEA,ANAA,AcRA2O,ADFA,AFMA,APEA,CUNC,CAACE,ALIAnL,AQEAoT,AGCA,AzBLA,E+BAE,ADCA,AnBKA,AiBFA9T,ANAA,ANFA,CeFC+S,ADCAkE,AnBKA1U,AiBFA,AdFA,AQEApD,ANFA2N,CYEC/C,AdFAgC,AdFAlO,CKMC,AIFA2J,GUNG,CdQC,ALNA,ASIA,CEEC,ANAAxC,ALNAlH,CWMCqB,AQRAqT,CGMC,CAACpT,AtBJA,C8BCC,AdCA,CeFC,ADCA,AdCAxB,CcDC,ARGA,CAAC,CSJC,AHIA,A5BJA,C4BIC,ATNA,ALIA,CHIC,AiBFA,AdFAiD,CHICrB,CoBNCiT,C1BMC,ASJA,CTIC,ASJA,EdFE,CWMC,CAAC,AWFA,AtBJA,CKMC,AiBFA,EjBEE1N,AWJA,CAC/B,GLGmC,CAAC,ANAA,CAAC3F,GAAG,CAAC4C,CWH/B,EACV,CXE6C,CAAC,CAAC,C0BNb,AfIlCa,CeJmC,CAAC,gBfI5B,EAAC,IAAI,CAACmK,aAAa,CAAClE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAC5C,CAAC;AUFJrJ,AdED,ANPA,ASCA,ELKE,ACGA,ANAA,AEIA,AENA,ARLA,E8BCE,ADCA,AjBGA,ACFA,AILA,AFQA,CFHC,CQEC,AGCA,CCHL,CKFO,ADCA,AjBGA,AaFPgW,AEEO,AZCA,AhBLA,C+BAC+D,ADCApD,AjBGA7T,AGCAuK,AfNAvM,CqBKCmJ,AGCA,CPRC8F,CUOC,A5BJA,C4BICjN,A5BJAxE,CsBIC,CZDCmK,AHOAjI,ANXAM,CYKC,AZLAC,CYKCvB,AbJA,CAAC,AOUAgB,CeNC,AJPA,AlBGA,AOUAjD,ANXA,C2BKC,AZCA,CcJC,AFGAiZ,AZCArY,ATKA,ANXA,C6BEC6P,CRGC,AfMA,CeNChF,CZDCP,AkBCA,ClBDCV,AgBDzB,AEEyB,CGJC,ADCA,AFGA,CGJC,ADCA,CCDC,ADCA,AJC5BiO,ChBC6B,AGCA,CAAE,CHDA,AYCA,EAAE,GNCG,CAC/B,CHFiCjO,IAAI,CAACxK,CGE/B,CHFkC,CaF9C,AVKK,CHH0C,CAAC,EAAEwC,AGG7CqD,MHHmD,CAAC,CAAC,UGG7C,EAAC,IAAI,CAACmK,aAAa,CAAClE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAC5C,CAAC;AJJJrJ,ANPAA,ASCAA,EeIC,AjBGA,AFGAuJ,ANAA,AaVA,ATQA,EsBLE,ArBGA,ASLA,ALKAjF,AEKA,ATEA,ANXA,E2BKE,A5BJA,CYGL,ANPA,ASCA,CgBGO,A1BOA9D,AOJPkJ,AUCO2K,AhBRPzO,AmBSO,ATGA,ADXP4G,AdEO,C8BCCtD,ApBOAK,AKCAwD,CNLChF,ACID,AWHC,AfMAxF,CFHC/B,ASJA,AQCAd,CXGC,ANAAyF,ASJAV,EJAE,AeEAoR,AlBKA,CGPCpQ,ADEAA,EFKE,CDdhB,CQOkB,AFAlB,CUCmB,APPnB,CLMoB,ALIA,AiBHA9F,AhBRpBiG,AGSoBH,CCFC,AIAA,AFArBiE,AIKqB,APHAnM,CCFC,ALIAA,AWCAY,ATEA,AQbtBqO,COOuB,AbCA,CJEC,AiBHA,AGCA,ChBAC,CsBLC,A1BOA,AEGA,CwBVC,ANKAhP,AlBKAoH,CwBVC,CxBUC,CDd7B,ACc8BpE,COPCpC,AWEA,CbF/B,AaEgCwC,ClBKC,CeNC,AfMA,AQblC,COOmC,CRDC,CWEC,CXFC,AWEAT,ATGA,ATEA,CSFC,ATEAgF,IkBLI,CAAC,ETGE,EAAE,ATEA,EAAE5H,ESFE,ATEA,CSFCiQ,ATEA,aSFa,CAACnE,IAAI,CAAC,IAAI,CAAC,CAAC;EcL7EH,AjBGA6B,AKPA,EaEE,ArBGA,ACIA,AiBHA,AvBGA,AcTAnN,AHUA,AhBRA,AOUA,AELA,CmBDC,A5BJA,C4BIC,AdDAe,AQCA,AtBJA,ACDA,E8BCE,ArBGAsB,ACIA,AOTAgQ,AOOA,ATGA,CeRC+J,ApBOAjR,AKCAiE,CXDC1H,CEGC,CYZC,AlBCAtE,CkBDCnD,ALKA,CAACe,AWEAkX,CpBEC,AEGA,EIHE,AQTA,CRSCtM,ANAA,AcTA1J,CLKC,APOA,ANXA,C6BGCoJ,AjBGA6B,ACFA,AEKA,ATEAxI,CuBRA,AjBGA,AGGCpE,CEVC8R,AjBCAhQ,C6BGC,AjBGA,AKPAqE,CbSC,AoBFA,AlBKA,CAAC,CwBVC,ArBGV,CqBHW,ArBGVxC,AeEUtE,CMLC,ApBOA,ANAA,CMAC,ANAAsH,AcTA,CAACoH,ADAA,AjBCA,CkBDC,AMOA,AxBNA1L,CkBDC,ADAAuP,AOOAtS,CdEC,CAACsK,AVRA,CAAC,EeSE,CLDC,AKCA,CLDCxK,CNAC,AaTA,AjBCA,CUQC,ANAA4H,AoBFA,AxBNA,CUQC,AGJA,AILAyK,AOOAiG,CfFT,CAAC,AIAUzX,CJAT,AMKU,EAAE,EFLE,CJAT2J,ALIU,ASJArD,CEKC,CXDC,AaTA,AFUA+I,CSHC,CfFT,AQLUqC,CRKTvS,AeEU,CXFC,AWEA,CfFT,AIAUgP,AWEA,EfFR,CQLW,EbSE,AaTA,CbSC,AWCA,CAAClD,EFLE,CAAC,CEKC,CAAC,IAAI,CAAC,CAAC;ELAzE,AiBHA,A5BJA,AOUA,EwBVE,ADEApH,AjBGA,AREA,AcTAiK,ALKA,AILA,AFUA,APHA,CUPC,ALKA,CJACjM,ASLAoM,AGMAgI,ArBLA,E8BCE,ATIA,AGCApU,ATGA,CeRCkJ,ATIA1J,ANIAwN,CHHC9B,AKPAsF,ATOA,ARNA1P,CIQC,AcTA,CAAC,CAAC,AlBCA,E8BCE,A1BOA,AIFA,ARNA,C8BCC,ADEP,AzBKOwE,AaTA,ATOAE,CsBLC,ADEPvD,CjBGQ,CKPC6N,CIMC,CTCC,CJAC,CqBHN,AREO9F,AbCA1M,CCFT,AoBDG,AdMO,CNLTwE,AGEU,AGGA5D,APHA,CIAC2E,AYAV,AhBAU,CaDC,AJNA,AOOVlB,CPPW/D,CbSC,CAAC,EaTE,CLOC,AKPA6S,CLOC7G,CREC,EAAEvE,CyBLN,EAAE,CpBCF,AMKU,CNLT,ALIU,AaTA,AFUA,CXDC9E,AaTA,CYIN,AZJO,CYINyK,ALGH,CfFC,ALIU,AoBFV4K,CfFC,ALIUtY,EAAE,AWCA,CHHC,AREA,CQFC,AREA,AWCA,IAAI,CAACmQ,CSHT,CAAC,ITGc,CcNN,AdMOrE,CcNNA,GdMU,CcNN,AjBGO,AGGA,CcNN,AjBGO,GGGG,CcNN,AdMO,CcNN,AdMO,CcNN;ECDlE,ApBQAJ,AiBHAgC,AvBEA,ASJA,AEKA,AhBPA,AOUA,EGRE,AoBDAhJ,AjBGAkJ,AMPAvN,ADAA,EIMEyW,EAAE,AJNA1D,AOOA,AxBNA,CqBKC1G,AtBHA1L,CWOC0K,CAAA,CEHE,AMPA,AMOA,CZACe,AFGA,AQVAnM,AGMA,AGCA6X,AzBJAnX,CAAClB,COUCsI,ANZA,C6BGN,AREOsE,CQFN/H,AXJO,CAACqN,CDAC,AjBCAtO,CYMC,AeAAgK,ANDA,AfOAtF,CMNE7C,AeADiF,A5BJA,AOUD,CWbE,AjBCA,C6BGN,A9BDOzK,AOUA,ANZAyD,C6BGN,AZJO,CUOC,C3BNC,C2BMC,A5BJA,CaIE,AZNDC,CkBDC,AnBGA,CmBHCkL,CAAC,CNOGpJ,AMPF,CMOC,CAAC3C,CxBNC,CAAC,C6BGN,A7BHOe,E6BGL,AjBGS,AYAF,CZAGnB,CZND,CwBMC+V,CKHN,CAAChL,EjBGW,CAAC,CAAC,CAAC,GYAC,SKHE,CAACzB,IAAI,CAAC,IAAI,CAAC,CAAC;ECAhE0Q,AlBIA,ARGA,ASJA,EJDE9X,AoBDA,AnBMA,AiBHA,AVPA,AlBGA,AOUA,AENA,EaDEoS,ArBLA,CAAC,C6BGC,AFGA,AvBGA7O,ASJAqG,AQAA,AJNA+E,AOOA,CKHCwG,AFGArP,ANDA5J,CXICsL,AXPAjL,CKOCgH,AEGA,CFHCL,AoBHA,CGAC,AHAAuQ,AxBNA,GSIJ,AkBEO3N,ClBFNzF,AHQO,EIHE,CoBPCyX,AHIA,CGJA,ArBEN,ALKO,AaVA,AXaA,CGRN,ACKO,AXPA,AOUAnV,CwBVC,A1BOArC,CaVC,AXaA,CePC,AtBHA,AOUAoD,CuBTC,AnBMA,AGJAkG,AQAA,CQFC1N,AnBMAH,ANAA,ASJD,ETIG,ASJA,AINA,AlBGAb,COUC,CAAC,EePE,AGCA,CdGC,AcHAuC,CfFN,ACKOF,AWJA,AfOA,CAAC2F,CGRN4C,IAAI,AYCO,CZDN,CoBDQ,ALGA,AzBJA,C8BErC,ALEsChI,AzBJA1C,COUC,CAAC,EIHE,CAAC,CcHC,CKFrC,ALEsC,AzBJA,E8BG7C,A9BH+CC,I8BG3C,A9BH+C,C8BG9Cma,ALC+C,AzBJA,CyBIC,GdGG,CAAC,MmBJzC,CAACpO,IAAI,CAAC,IAAI,CAC5B,CAAC;EpBDH,AGGA2B,AGEA,ATGA,EwBVE,ADIA,AnBGAvB,AiBHA,AvBGA,AcVA,ALMA,AILA,AlBEAjL,ASIA,EgBAE,CAAC,CKAC,AFAA,ANDA,AGCA,AxBNA,C6BMC6Y,AFAApO,CvBGC3D,ASJAhB,ALCAgD,CSNC,CIKC,AJLAsJ,CPSC,AWJAsD,CXICzU,CNAC,AoBHAb,AxBNAoC,CDEC,C4BIC,AdDA,AdHAzC,C4BICwJ,AvBGA,AIHA,CICCiD,CAACjD,ACFA,AWCA,CzBJC,ASIA,CmBAC,AHAA,AzBJA1K,ACFA,C2BMCiL,CfCC,AREA,AiBJA,CXIC,AWJA2B,AJLA,CYMC,AjBCA,ACFAxC,CgBCCtJ,AZNA,ATMAsJ,CEGC,AiBHA,AvBGA,CuBHC,AvBGA3C,AiBJA,AtBHA,CsBGC,AtBHA,EWOE,CAACiD,IAAI,CAACO,ENAE,CAACnD,EyBHE,AnBGA,CmBFrC,MzBE4C,ASJb,CgBExB,AhBFyBoC,ALCA,CJGc,AIHbG,CqBEjC,IAAI,AhBHkC,CgBGjC8P,AhBHkC,CAAC,ITIiB,CAAC,EIHX,CAACja,EqBEhC,ArBFkC,CqBEjC8L,ArBFkC,IqBE9B,CAAC,IAAI,CAC5B,CAAC;EpBHH,ACIA,AiBHA,AZGA4B,AhBPA,E+BAE,ADOA,AjBFA,AREA,AcVAhK,ALOAqD,ALAA,ESNE,AjBAA,CkBDC,CYGC,ADOA,AXVAgI,AGMA,AGCA,CMJCuK,ADOAM,ArBHA,CICC/L,CREC,ASHA,CAAClG,AQDA,AJLA,AOMAtG,GfDG8J,ALIA,AIHArL,CJGCkI,AiBJA,CAACyO,AGCA,CAAClN,EMJE,AfOA,CHFC,ACDA,CWAC,AhBAA,CsBJClJ,ADOA,AXVA,AHUCmK,CcAA5J,AjBFA,AMRA+N,ALOA,CKPC,CAAChL,AVOAoG,CgBAC,ATGC,CHFA,CHFCoB,AGEA5F,AREA,AiBJA,CZAA,ALIC,AcVA,CYGC,AZHA,AGMA,ANIE,CePD/E,ArBGA,EDCE,CJGC,CQFC,ACDA,ALAA,CICCyB,AREA8F,GyBAG,ALHA,CKIlC,CzBDoC,AoBHA,CpBGCE,G0BPG,A1BOA,C0BPC,A1BOAjD,CyBClC,EACP,AjBJ4C,CAC3C,ARC4C,CAAC,CAAC,CyBE3C,CAACmV,IjBHG3P,EkBN+C,CAAC,ClBM5C,CAACxK,EAAG,GiBGG,CAAC8L,IAAI,CAAC,IAAI,CAC/B,AjBHA,CiBGC,AjBHA;EFEHZ,AiBHAqC,AvBEA,AcVA,AnBIA,AOSA,EwBVE,ArBGA,AoBOA,AjBHA,AGAA,AfTA,CAAC,CaMC,ALAA,ARNA,E8BEE,ADUA,AjBHAM,AKVMyF,CaGL8F,ADUAW,A9BTA7Y,CUECuD,AICAO,AQDA,AGCA,ATGAoL,ELCElF,AOXM,ATONpL,CEIA,AVVCuB,CaMC,AQDA,AGCA,CdIC,AWLAoV,AGCA0B,CfDC,CICCpR,CEGC,AfTA,CSKC,AGIA,AeFAwG,A5BJArM,ASGA,CmBCCsJ,A5BJD,ASGCtC,ARNA,C8BEC,AlBOA,AGAA,ChBNC,CUEC,CqBHC7H,ArBGAkE,AkBEA,AdDA,CgBMC,AhBNA+C,AEGA,CcGC1G,AFLA,AZEA2E,APHA,CaDC,AbCA,CaDCmH,AbCA,GKAG,CiBJC,ATGA,CSHClM,ATGA,ANIA,CAACyB,CSHC,CAACE,IfDI,CAAC,CAAC,AoBOA,CACpC,ELPuC,CAACC,CMJC,AfOA,CePC,AfOC,CSHA,CKOpC,ALPqC,EKQ5C,GdLiDoI,CcK7C,CAAC4P,ALR8C,CAAC,CTGC,CAACpa,EAAG,CePA,CAAC,AfOA,CAAC,QcKtC,CAAC8L,IAAI,CAAC,IAAI,CACjC,CAAC;AXfL,EdWE,AEEA,EwBVE,ArBGA,AoBUA,AnBLAlB,AiBHA,AZEA,AhBNA,ASGA,EIGEiD,AZTA,E8BEE,ArBGApJ,AoBUA,AFRA+F,AvBGAtC,AiBLA,AJPYtF,AOQZ,ATGAwN,CePC+I,ADaAkB,ALTA,GGCG,CAACra,A3BPA,CSKC,ALKAkI,CuBHC,AvBGAN,AoBJA,AlBMAO,CGPC,AMIA,CHAC,AZTA,CYSCjG,AGAA,EePE,AHKA,CrBKCiG,CAAA,CwBVE9H,ADaA,CFRC,AvBGA,AEEA,CqBLCmK,CEQC,AzBLAxK,EAAE,CQDC,AeFA,CEQC,AFRAA,AvBGA,C0BRC,ADaAmZ,CCbC3Y,AlBOAgK,AFCf,AiBHe,CjBGdU,CiBHgB,EfEE,CAACH,KiBMK,AjBNA,CiBMC9I,AnBLf,CAAC,EoBRiB,CAAC,CpBQd,CAACuI,IAAI,CAAC,EmBKiB,CAAC,ICbI,CAAC,MDaM,CAAC;AXhBpE/H,EYIC,AtBIA,EqBSE,AjBNA,AFCA,ANAA,ALPA,AOSA,ANZA,ESKE,AkBEA,AdDA,AQDA,AJRoB,AFYpB2N,CGXL,AGOM,AJRoB,CPanB,AQZPgF,AGOO,CXKC7P,CiBHC,AvBGAwC,AaboB,AOSpB3G,AzBHAD,AOSAuI,CqBLCgC,ElBFE,CMIC,CXCC,AWDA2E,CLCC,AOboB6C,CPanB1Q,AcJA,AlBMA,CFFC,AoBJAnB,CfDCgJ,AkBEA,CAAC,ArBKA,EYdnB,ADDyC,CPanB,AOboBkJ,AOSpB,CdIC,AiBHA,AvBGA,AoBJAlS,CdIC,AiBHAwX,ATTxBzD,CZcyB,CWfqB,CbanB,AaboB,CRQzB,ALKM7N,AaboB,AOSpB,ATGA,CNJLtE,AeCM,ATGA,AhBNA,AOSA,CAACoE,EGPJ,AVFMjG,AOSA,CGPLqD,AHOM0D,GqBLG,CAAC,CTTrC,CTOiC,ALKM,ALPA,AOSA,CGPL,ALKMP,ALPAvG,AOSA,IAAI,CPTC,AOSAuG,IFFI,EAAE,GEEG,CAAC,OFFO,CAAC;AIHhE,EsBHE6U,AlBMA,AFCA,AVVA,ESKE,AoBUApc,AFRA,AvBGA,AEEA,EONE,AQDAwW,AJRA,EIQE,AGCA,ATGAvG,CMJC/N,CRCCgM,AITA+E,CbaC,AEEA5J,CuBGC,CAAC9I,CZlBC,CbaC,CAACoH,AabA,AFYA,EFHE,AEGA,ATGA,CwBTCyU,AxBSA9S,CwBTA,ATEC,CRCC1J,AQDA6W,CSFC,AxBSA,CePC,AfOC9R,CePA,CRCC,CAAC9E,AEGA,CTGE,EuBGC,AzBLA,CyBKC,AzBLA,CEEG,IONE,APME,COND8E,ETIE,CyBKC,AvBHE,CFFD+C,ASJA,APME/C,CuBGAnE,ChBTA,CAAC,CAAC,APME,CFFD,AEEE,CuBGA,AzBLDqH,AEEE,IuBGI,EzBLA,CAAClI,EAAE,CAAC,CAAC;AMCzD,AFLCyC,EIKCiL,AeHA,AvBGA,AEEA,ANXA,E8BEE,ArBEA,AYAA,AtBFA,CsBEC,CQUC,ARVA,AGCA,ChBDL,CSRO6E,AFYAhC,APJPlG,CRJQzG,C8BEC8Y,ADYApC,CpBVC,CDAV,CsBFY,AfMA,CcMC,AZlBA,CRQC,AQRAvT,AFYA,APJdsD,ARJczG,C8BEE,ADYD2W,A7BdA1W,GQIf,ARJkB,CYSC6J,CAAClD,AZTA,CiBJC,AFYA,EcME,AZlBAgI,CLaC,EAAE,KKbK,CAAC;AaOjC,ApBMC/P,EDJC,AkBGA,AvBGA,EQDE,ASLA,AGCA,AzBHArB,ACFAsB,CwBKC,CKUC,AhBVA,AWAA,CdGL,CECO,AFDP6I,AiBDOyN,AvBGA7Q,AiBNA,AJRAkL,AFWgB,CMHfjT,CQWCS,C9BbC,CaOC,AbPAQ,ACFA,CYSCmJ,AZTA7H,CIUCwF,C0BRCzF,ADaA,AzBLAkF,CyBKC9G,A7BfA,CYSC,AbPA,ACFA,C2BOCkY,ANHA,CQWC,AjBNA,AeFD,ANHCzW,CXIlB,AXNmB,C4BKC,AVXA,CjBIC,CUQrBgJ,CmBOuB,AzBLA,AadA,AjBIA1H,EIUE,CJVC,CiBJC,AjBIA,EqBIE,CAACgT,CtBFQ,C+BAhB,ATEU,CSFT/S,ATEU,CQWC,AnBPlC,EmBOoC,KCbL,CAAC,CAAE;AACnC,ErBGE,AYDA,AfOA,ANXA,E2BOE,AvBGA,AoBLA,EZIE,ACJA,AdJiC,E8Bc/BwW,AFRAvP,AVXA,AOSA,ATEAyF,CNFCjM,AeAAkT,CpBKC1P,ASLAyG,EgBUE,AjBNAV,CeFC,CdFC,AEEA,CeLCpL,ADaA,AzBLA,ALTwBpB,C4BMvB,AZAA,CFFC,CTKC,AoBLA,CKUC,ALVA0K,AzBJoB,C8BcnBqO,AFRA,CAAC9U,AdFAkJ,CdJkBlN,EKSf,CKLCgD,AIAA,AEEA,CNFA,AIAC,AWAA,ATEC,CFFAgK,AWAA,CfAC,AkBEA,AvBGA,CuBHCrM,AvBGAqF,EQDE,AbRQ,CAAA9H,C+BChB,ANGU,CMHT8D,ADaU,AjBNA,CCJC,CAAC,CgBWxB,CjBP0B,ACJA,AdJC,CaQAgC,CkBPT,AHKU,AvBGA,ALTP/D,C+BCF,ADcf,AFTyBsP,AvBGAlJ,C0BRR,ADchByS,E9BfoB,C4BMQ,CfEC,AeFA,CfECpY,AeFA,GvBGG,CLTbR,CKSe,IyBMrB,A9BfM,C8BeL+Y,A9BfKlZ,GaQuB,CACnD,AbT4B,EKS0B,CAAC,ALT3BI,IAAA,CaSrB,IAAI,CAAC8I,AbTgB9I,C8Bea,GACtC,AjBPa,AbTY,CaSX1B,EAAG,AbTQsB,C8BgBrB,CAAC6X,AjBNX,CAAC,CbV8B,EAAAzX,IAAA,G8BgBT,CAAC+Y,iBAAiB;ACd9C,ATEA,AfOA,ENVE,ESIE,AkBEA,AvBGA,EQCE,AKfA,AOSA/X,ATEA,CAAC,CcUC,AFVAqI,AdHgChL,AEGhC,AhBPyByB,CCCxBsC,CYUCgK,CHNCpL,ALKA,CyBOC4X,AhBbgC,AdJP,C4BOxB,A5BPwB5Y,C4BOvBjC,AdHgC,CiBF/BiD,A1BQA,CyBOC,AzBPAsF,CLVqB,ACCpBlE,C6BgBC,A7BhBD,E2BMG,A3BNA,CDDiBvC,GyBKvB,CGEW,AHFVwC,CGEW,EAAE,ClBFT,AGMU,ARDA,CKLTd,ALKU,ALVO,CaWN,AbXMvB,E+BEd,ArBGA,AeAA,CMHC6C,ArBGA,AeAA,CzBLa,GKUC,AoBLV,CAACkT,CpBKW1P,KAAK,CAACI,EoBLR,CfAC,AeAAyO,CMHC,ArBGA,CqBHC,CAAE,A1BQS,CAAC,CAAC,CAAC,KoBLL,CAAC,CAAC,CAAC;AMFrD,ATCCnU,AfQD,EGNE,ALKA,EoBLE,ATEA,AfNA,CwBIC,CGECsI,AdJ2D,AIN3D,AOQA,AzBN+B,CcI6B,AQAjE,CTQO+C,ACR2D,AQAlEwI,EQcS,CFVC,A3BNA5T,CqBEV,AJNW8Q,EYoBE,AFVA,CGLCvT,ATCdqW,GQciB,AFVA,CGLC,ADeA+D,AFVAxB,ANJlB,ArBFkB,C8BCC3Y,A9BDA+C,CiBJC,EjBIE,CiBJC,AjBIA,GYUG,CAACd,AKdAsR,CaKC,CAAC/Q,CHKC,A3BNA,CAAC,C6BgBC,EACrB,EjBPyB,CAACF,CiBOtB,AZrBuB,CYqBtB6X,AZrBuB,CAAC,CAAC3G,ELcE,CAAC,GkBTP,AbLU,CaKTtP,AbLUxB,KYqBlB,AZrBuB,CYqBtBT,AjBPuB,AKdA,CLcC,QiBOf,CAACK,EChBe,CAAC,CAAC,CAAE,CDgBb,CAAC,OAAO,CAAC;ACfzD,AxBSA,CwBTC,CrBIC,ALKA,AWJA,AfNA,CeMC,CSFC,EZME,AeJA,AdJA,AINA,AlBEA5C,EKYEwI,AoBNA,CAAC2P,CKaCuC,AFXA,AdJAzW,CcIC0B,CVVCoO,CbcCvL,ASRA,CgBeC,AzBPAR,CKLCwD,AoBYAjJ,ChBfCuB,CINC,CUUC,CAACvB,AdJA,AWEA,CXFCuM,AINA,AOQA9N,AzBNA,CkBFCwS,AlBEApS,EKYE,CyBOC,CAACoB,AzBPA,ALZA,CAACZ,E8BmBE,AFXA,ClBDC4J,AoBYA,AFXAhJ,ClBDCoI,AVPA,CAAC,C4BQC,AVVA,CUUC,ClBDC,CIHC,AINAgJ,CRSC,AoBYA,AhBfAhF,AWEA,CKaC,ALbA,GGEG,AdJA,CcIC,AdJA,GING,AOQA,EPREoF,AOQA,IAAI,CPRC,AOQA5S,CPRC,GOQG,CPRC,AOQA8K,CPRC,GOQG,CAAC,IAAI,CAAC,CAAC;AlBOnE,ESHEiE,AfNA,E8BAE3O,ArBIAsB,AGKA,AeJA,AvBIA,AoBNA,CGEC,CdHC,AIPA0Q,AlBEA,EyBME,CAACgF,AxBHArU,C6BgBC,AzBPAgE,ASPA4G,CiBFC,AHKA,AdHA,CiBFC1J,EDgBE,AhBdA5E,AEIA0P,CeNC,ADgBAsK,AzBPA,AWHD,CeNEqC,CbLC,AFWA,AfNA3Y,CISC,AJTAC,C8BAC,CAAC,AbLA2P,ERSR,AIFU,CJETnP,AIFUoK,AbFA,CISC,CadC,AjBKA,CiBLCiF,EbcE,AoBNA,CKaC,AzBPAtM,AadA,AOQAjF,CPRC,CAAC,CYqBCgY,IAAI,AhBdA,AWCA,CKaC,AhBdA,CgBcC,CpBZT,AeDU,CfCT9P,ALKU,ASPA,CTOC5C,ASPA,GJEP,CAAC5H,AeDU,EfCR,CAAC,CeDW,CpBMC,AoBNAwY,EpBME,WAAW,AoBNA,CpBMC,AoBNA,CAAC;AlBOjE,EwBTE,ErBIE9T,AGKA,ARAA,AoBNA,ATGA,AfNAhC,E2BKE,AdHAiM,AINAgF,AlBCAxS,CcKC,CAACwC,AWCA,CAACtB,CKaC,AjBPA0L,AeJA,AZCA8B,CYDCtK,AvBIA,AabA,CJMC,AINAkH,AjBIA,CAAC9J,C6BgBC,CAAC0X,AzBPA,ASPAxW,CJEN,ALKOmE,AJTA,CSINjD,ATJO,C2BKC,AdHA,CcGC5C,AVTA,AFUA,CEVE2R,AOOD,CfCN,AeDOxR,CfCN,AMEOjC,EHGE,AKbC,AjBID,EDHE,ACGA2D,CYSC,AbZArC,C4BQC,AVTE,AOOF,CKaC,AFXAa,AvBIA,CyBOC6N,AzBPA,AWHA,CHGC,AYNA,ATGA7P,AfNA,CYSC+E,AbZA,ACGA,CDHCnE,E4BQE,ClBDN,AkBCO,CHFC,CfCNoJ,CGKQ,CAACvI,AbZA,CKYC,AoBNA,CfCN,AeDOlB,AzBNAS,CUON,AkBCO,AvBIAuG,CyBOC,AFXA,CEWC,AdVA,CSHC,ATGA,AhBTA,CyBMC,AzBNA,CKYC,AoBNA,CpBMCK,IQAI,CAAE,ARAD,CAAC,CAAC,CAAC,CWHC,CAAC,GHGGoC,IAAI,CAACxK,EAAG,EAAC,CAAC;EkBPtE4L,ArBGA,ALKA,AoBNA,AlBMA,ANTA,EYSE,AeJA,AZCAiE,AhBTA,CAAC,CcKClB,CAAC,CiBDC/C,AlBQAmC,ACPAc,AINA,CaKA,EAAG,CDeCyB,CdVC,CEVCyD,AFUA5R,CTGCyH,COPC,GAAG,CgBcC,EAAE,AjBPA,CGHC,CHGC,AGHAuG,EEVE,GAAGlQ,CYoBC,AdVA,CAAC,EEVE,AXaA2J,CWbCvG,AXaAwG,KOPK,AINA,AFUA,CEVCiK,AFUA,GTGG,CWbC,CAAC,AXaA9T,EAAE,EAAE;EGH/C,ALKAgI,AoBNAhH,AzBPA,ACIA,E8BAE,AHIA,AZCA,ATGA,EMAE+M,ACPAY,AWEA3N,CXFC,AWED,CMHE,AjBCA8N,AINA,AFUA,CeLCmN,ANGA,ATEAnM,AfLA7L,C2BICuG,EEWE+F,AZpBAuD,CJMC,CcGC,AdHA,CJGCtP,ALKAwD,ASRA,CiBDC,A1BSAjI,AadA,CaKC6L,ADeA,AFXA,AVTAkF,EYoBE,CjBPC,ARCA,AWJA,CHGC3O,AKbA,AFUAsO,CXIC1J,AadA,CaKC,AHIA6D,AVTA,CaKC,A9BAA3G,C8BAC,AbLA,AjBKD,CeKE,CAAC,AfLA,CeKC,CXIC,CQDC,CHJCO,AGIApC,ARCA,CKLCqC,EGIE,CAAC,GHJG,EAAE,KGIK,CAAC,KeJV,CAAC0G,cAAc,CAAC,CAAC;EZEnD,AhBRA,E+BGE,ArBIA,AGIA,AeJA,AvBKA,AoBNA6L,AlBKA,ANRA,EaCEtT,EiBDE,AHIA8G,CGJC0R,AjBCA,AdJAta,CUOC4I,AoBWA,AhBdAuE,AINA,AXaAxH,CuBOC,AzBNA,AJTA7E,C6BeC,AFXA,CEWC,CpBXC,AoBWA,AFXA,CvBKCkE,E0BTE,ArBIA,CqBJCgF,ANGR,CAACqL,AxBHQ,CAAChU,CMQC,CFCC,CKLCoH,ALKA,AoBNR,AxBHQ,C8BAC,A1BSAxD,AoBNR,AlBKQ,ANRA,C8BAC,AjBCA,AWER,CMHS,AjBCAhD,GAAG,CAAC,APOA,CFCC,ALZAjC,CAACP,CUOL,ALKMyF,CKLL7D,AHIM,CAACsE,EGJJ,AVPM,CUOL9C,CLKO,ALZA,ACGA,CAAC,ISIF,ALKM,CKLL,CHIO,CAAC,UAAU,CAAC;EwBPxD,AfMAuL,AfNA,ESIE,AGIA,ACPA,AWEA,AzBNA5O,CcIC,CcGC,AvBKA2F,EKLEyD,AoBWA,ALZA,CAAC4L,CPRC,ClBEC,CUOC,AkBAAxL,A5BPA/I,CKYC,CKLC,ALKA8F,AadA,CAACqM,AFWAhE,CAAA,ChBTE,CgBSC,AhBTA,CyBMC,CAAC,CAAC,EpBME,GAAG,MAAMnJ,ALZA,CkBFC,AlBEA,CkBFCkN,KbcK,CuBLd,AvBKehN,CuBLd8D,KVToB,CbcC,AadA,CbcCvD,GuBLZ,CAACkD,EvBKiB,CAAC,CuBLd,EAAE;EGFzCmB,ANEA,AxBFA,EYOE,ACNA5E,AEIA,AhBTA3F,AOWA,EGJE,AoBWA,AzBLA2F,CyBKC,CjBPC,AeLqCgE,CfKpCP,AZPAtG,CiBNCmO,CJOC,AdLA,CUOC,AIFAnL,AdLA7F,C8BkBC,AjBPA,AREA,AWJAqP,CXICxJ,EKNE,AGIAsD,CHJCY,AoBWAvK,A9BlBA,CAACQ,CcKC,CiBDCsK,AlBOA,AKbA,CaMA,A1BSC,AafA5E,CYoBC,AhBbA,CiBDC,ADcAjG,A9BlBA,CKaED,ALbD,ACIAqD,CeKCwM,AfLAvM,C6BcC,AdTAwM,EEXE,CbeE,CafAoD,CRSC,AoBWA,CpBXCvJ,AIFA3J,AEIA,CXIG,CWJD,ENFE,CAAC,AIFA,AbDA,EaCE,AbDA,C6BcC,EAAE,AZpBA,CAACf,OAAO,CAACW,OAAO,CAAC;ELczD,AYJA+X,EMHE9T,ArBGA,AVPA9E,AOWA,ANPA,E2BC+C,AdA7CwB,AEIA,CYJ8C,CEa5CmZ,AFb6C,AvBQ7C,AafA,AjBMApW,EMOE2F,GONG,AEIA6G,CXICtP,ASRAA,CWECmX,AlBIA,CwBPN,ADcO,ALXD,CMHL7T,CNGQ,AzBPA,AOWA4C,CuBOC,AzBLA,ASRA,AEIA,AhBTAvG,CcKC,AEIA4P,AfLA,EISG,C0BTP,ADcO,A9BlBA,C+BIN,ADcOyJ,A9BlBAhZ,CCIC,EeKE,AfLA,CeKC,ChBTC,AOWA,ANPA,CDJC,AOWAyI,IFEI/J,CEFC,CAAC8J,EwBPL,ADcO,AzBLC,E0BTN,CDerB,ChBd8B,EiBDL,AjBCOhJ,CiBDN6M,ADetB,AvBR6B,CuBQ5B2M,AvBR6B,GONG,AEIA,CFJClT,CEIC,KFJK,CAAC6H,AEIA,CAAC,CAAC,CcU5B,AzBN6BnO,AWJA,CcU5B6Z,ECfwB,CAAC,C1BSQ,CAACvT,ASRA,CAAC,KTQK,CAAC9F,KAAK,CAACvB,IyBMzB,GAC1C,AzBP2E,EAAC,EyBOxE,CAACqZ,WAAW,CAACwB,gBAAgB;EpBZ3C,AGKA/O,AbZA,E+BIE,AHCA,AdAA,AWEA,ATEA,ATEA,CqBNC,AdAA,CIPC,AjBMAzH,CiBNC,CYsBC,AjBRAyH,ARCA9E,AafA,AOSA,CZKA,AYLCkQ,ClBICjQ,CMCC,AePA,CEeCwT,EzBPE,CAAC,EEFE,CNPC,CISC5T,CyBOC,AvBTAmD,CNPC,C6BgBC,CLbP,CpBMS,AoBNRvG,CpBMStD,AEFA,ANPA,CMOCkI,GFEG,CAACjI,AoBNR,CAAC,CAAC,AlBIQ,CAACF,CkBJP,ClBIS,CAAC,GFEG,CAACqB,KAAK,CAAC,CAAC,CAAC;EKJ9C,AIHA,AdJAL,E+BGE,AlBQA,AKdA,AFWA,ATGA,ANRA,E2BCE,AvBQA,AoBNApB,AzBNAoB,CKYC,ALZAlB,C+BGC,CAACwZ,CDgBC,AjBRAtL,AGHA6C,CTGC,CqBPCjG,EEeE,A9BnBA,CUOCS,AMCA,ATGAzE,CPXC,E8BmBE,AdXA8J,CcWC2J,CChBC,CAACzZ,CxBQC,CMAC,ANAA,CAACiG,CGJCwE,CAAA,AGICT,EHJE,EMCE,CAAC,ATGA,EuBQE,AvBRA9D,EuBSrB,AdZuB,CSFf,ATEgBgJ,CeLC,ANGhB9O,CMHiB,CDiBtB,AvBTuB,CuBStBqZ,AFhBQ,CAACvP,AHED,CAAC,ElBKkB,CwBRC,EAAE,AfKA,CAAClI,GeLG,AHCf,CGDgB+Z,AHCf,CZIgB,CcYtB,AjBTQ,AGHe7L,CcYtB3O,AjBTQoC,GGHkB,CAAC,CAAC,CAAC,CAACqM,CeLC,CAAC9E,ADiBvB,CAACtJ,GCjB0B,CAAC,AfKA,CAC/D,CcW0C,AjBTQ,CiBSP,AjBTQ,CkBRgB,AlBQf,CkBRgB,CAAC,CfM/D,EACN,CcUkD,CAAC,EdTrD,CAAC,WSLyE,CAAC;AXD/E,IiBDI,ArBIAE,AGIA,ARCA,AadA,AOQA,ATKA,AhBXA,ACGAA,CISC,AoBNA,CpBMC,AEDAqE,EwBRE,AlBQA,AeR+BgE,AVL/BqI,CaKCgG,AlBQA7T,CiBSCgV,AdTAxJ,CSLC,CxBHC,CMQC,ANRApO,CMQCgF,EMAE,AZRA,CYQCsF,AZRA,C6BiBC,CAAC9K,AZtBA,CAAC2O,CaKC,CAAClQ,ArBIV,AMIU,CNJT4D,AHIU,CWbC,CAAC,AFaAqM,CHAC,AKbA,AXaA,EuBSE,AZtBA,CYsBCzO,AjBTA,CGAC,CHAC,AGAA3C,CcSC,AvBTA,ANRA,C6BiBC,C7BjBC0E,GeQG,CeRC,CAChC,ArBGuB,CAAC,AoBaU,AdTA,CcSC,AdTA,CAAC,CAAC,CNJT,CAAC,CTJW,CAAC,E8BC/B,EACV,IAAI,CAACyY,cAAc,CAAC9Q,IAAI,CAAC,IAAI,CAC/B,CAAC;AjBFJrJ,EiBGC,A1BMA,AJTA,ESIE,AGIA4H,AGAA,AhBXA,E4BEyC,AVJvCgI,AOQA2E,CGJwC,AdC7C,CgBiBO,AFlBuC,AdC9C7I,APQO,EGJE9D,AMIA2G,AhBXAlP,IaWF,CAACqG,AGAM,AhBXA,CkBFC,CAACpB,CFaC,AhBXA,EUOJ,AeDF,CfCGqB,AGIA,AYLF6O,CZKG,AGAMhG,AhBXA,CaWL,AbXM1Q,CaWL8M,AKbM,COQP,CfCG,AQTM+F,AOQR,CfCG,AIJpB,AWGkB,CfCG,AGIA,AGAM,CHAJnF,AGAK4C,CFR5B1C,CdH8B,CAACpM,EaWH,AGAK,EAAE,CEbC,CLaH,AKbI,CFaC,CAAC,CAAC,AhBXA,CgBWC,AhBXA,IAAI,CAAC,EcG9C;ATUD,E0BLE2L,A9BHA,ESGEhJ,AkBLA,AVJA,AOQA,ATKAtD,EHAE6M,EiBSE,AvBTA,CNPC7J,EYOE,AGAA,CcSC,AjBTAqI,AGAAxH,CcSCoV,CvBTCtQ,CSAC,CNJN,AMIQ,CNJPhF,EGIS,CkBJC,AlBICyF,CHJP,CAAC,AHIO,CwBJEA,ClBIC,CNAAzD,CSAC8J,CeJE,ADaD,A7BhBAzM,CYOG,AZPH,E6BgBGmW,A7BhBA,C8BGG,AfID,CTAA,CSAC,ATAAjT,CSAC,ENJL,CAAC,CoBaQ,CAAC,AvBTA,CuBSC,AvBTAqC,GAAG,CAAE3E,IAAI,IAAK,IAAI,IAAI,CAACA,IAAI,CAAC,CAAC;AFCpEvC,EKJC,AkBLA,AVJA,AOQA,EMCE9B,AfIA0J,AhBXA,ACIA,GIOH,CyBSO,AjBTA,ARAPhE,AEAOQ,EwBJE,CAACgW,A9BHAna,C6BgBC,CAAC2X,CjBTC5O,AGAN,CAACtD,ATAM,CFAd,AEAe4B,EwBJE,CAAC+S,A1BIlBzW,AJPkB,CAACpD,CeOL,CHAO,AGAN,CAAC,AfPM,CeOLoK,ATAM,ANPA,CYOC7C,ANAA,EuBSE,AzBT1B,C0BJ2B,ADaA6F,AdTN,CeJO,AlBIA,AGALpC,CeJM,AlBIAjO,CkBJC,ClBIC,CkBJC,CfIJ,CeJM,EAAG,AlBIDgO,CGAH,IcSQ,A7BhBA,C6BgBC,A7BhBA,I8BGIxD,GlBIG,CkBJC,CAACxK,EAAG,EAAC,CAAC;ArBCzD,AkBLA,EGKE,AbRAiU,AOQAoE,AxBHA,C8BGC,C/BPC,EgBWE,ATAA,CWZCpE,AXYA,CMAC,AKZD,EYqBG3D,AZrBA,AlBCAtO,EaWE,AGAAkP,CHACvD,CYJC0K,CAAA,EAAG,CKaC,CdTC,CcSC,EdTEpK,CHAC,CAACzD,GGAG,CcSC,AjBTA,AGCnB2G,ChBZoB,CaWC1F,EbXE3J,EgBYjB,CAAE0I,EhBZoB,CaWC,AbXAvI,CaWC,AGClB,IAAK,QhBZyB,CAAC,eAAe,CAAC;AUOnEQ,AkBLAA,EGOCka,A9BHA,EiBNE,AOQA,AzBPA,EaWE,ANAA5V,CGLL,AGKM,AeVN,ClBKA6D,AGKO,AeVPgO,AVFO,AOQA,ATKE,AhBZF,CyBOCZ,AzBPAhW,ACKAqC,C6BeCkM,EZrBE,AFaEa,CeJD,AbTAe,AXYA,CAACjL,CuBSC,CCZCyV,CAAA,ADYC,AFnBhB,AHMgB,ATKE,CSLD/Z,EGNjBgW,AZWqB5H,CNNrB,AHKoB,CwBHC,CNDC,CfDtBpG,AHKuB,CSCG,CSLDlI,ATKE2O,CfPDhN,CiBNC,AlBCA,ACKAC,C2BJ3B,CVF6B,AFaE,AhBZF,AOWA,CSCGkG,IAAI,CAACO,CNNrC,IMM0C,CAAC,CfPD,CwBET,CAACxH,AxBFU,MwBEJ,CAAC,CAAC;IMEvC,ANDA,AxBFA,EYME,AKZA,AlBCAnC,E+BQE,ADYA,AdRE,ATDF0F,ANNAxC,C8BGC6X,ADYA,CAAC,AjBTAhQ,AKZA,AOQA7H,CKaC,AZrBA6N,CYqBC,AdREpB,ChBZD,CAAC1P,AOWA,CAAC0F,GwBHG,CAACkN,A/BRA,CAAC,EOWE,CAAC5S,ANNA,C8BGC,AfIE,CeJD,ANDA,CMCC,AbTA,AFaE,CEbD4S,COQCvR,AlBIA,ANNA,CMMC,CNNC,EiBNE,AjBMA,CiBNC,CLYZ,AKZa,CLYZ,WYJc,CAAC0B,KZIE,CAAC,YYJe,CAAC,CAAC,EzBPY,CAAC;I+BSlE,AlBGA,AKZA,AOQA,CZIC,CiBSC,AjBTA,AbXA,AOWA,ANNAE,CMMC,CwBHC,ANDAA,CMCCyY,CfIG3L,KAAK,IeJE,CAAC,AfIEJ,CeJD,A9BHA,EwBEE,CxBFC,CwBEC,ATKE,CAACK,EfPA,EeOI,CAAC7G,IAAI,CAAC/J,OAAO,CAAC;EHA5C,AKZA,EaSEW,ADYA,A9BpBA,AOWA,ANNA,C6BeC,AvBTA,CuBSC,ALbA,AlBIA,ESCI,ESLA,CMCC,ANDA+W,CMCClT,GAAG,CAAC,eNDe,CAACrC,CMCC,CAAC,GNDG,GAAG3C,IAAI,CAACC,SAAS,CAACoE,eAAe,EAAE,CAAC,CAAC;EMExE,ADYA,AjBRAqJ,AKZAqG,AXWA,CwBHC,CNDC,AxBFAtR,IeOM,IHAEiL,AZPA,CYOCnD,AZPA7H,EeOIyO,CfPD,CYOC,AZPA,EYOE3F,CKZCuI,AFYE,CEZDhP,IAAI,ELYE,AKZA,ELYE,MZPM,EAAEV,eAAe,CAAC;E8BKnDsY,ADYA5C,ALdA,AxBFA,EYOE,AKZA,AlBAA,EgBYI,CAAC,CEZD,AFYE,CEZDhV,AFaA2E,CHDCuE,EGCE,CEbC,AFaC1D,CEbA0J,EaSE,CfIE,CcQA8F,CCZEnZ,ADYDf,EdRI0K,CHDD,EkBHG,ClBGA,AGCE,CcQD,AdRExK,EeJE,ADYF,AZrBA,AFaE,CHDDuL,AGCE,CEbD,yBLYW,CAACf,IAAI,EAAE,IAAI,EAAEiB,QAAQ,CAAC;AYJ/D,ElBIE,ANLA,E8BGE,ADYA,AjBTA,AbZA3J,EkBAE,AFaA,EeJEjB,AlBGA,CAAC0E,AbZA,ACMAhB,C6BeCqW,AdRA,AhBbA3Y,CgBaCsD,EeJE,CAACzE,ADYA,EjBTE,CkBHC,ADYAhB,AjBTAyC,CGCC,CAAC+J,GeJG,C/BTC,C8BqBC,A9BrBA,C8BqBCsO,A7BfArW,CAAA,EYMG,AZNA,C8BGC,ADYA,AjBTA2J,IkBHI,CAACrN,CfIC,CAAC,GeJG,CAACmc,ClBGC,CAACzX,KbZK,C+BSC,A/BTA,CaYC,AbZArD,C+BSC,AlBGA,GGCG,CAAC,CAACuK,KhBbK,EgBaE,CAAEC,AhBbD5M,IgBaK,GhBbE,CgBaG;ASNxE2C,ElBKC,EuBUE,AjBTA,AKZA,AlBCAT,ACKA,E8BGE,CNHL,CAAA8V,ATOO,EeJE,ADYArX,CCZCwc,AlBGA/O,AZNAxL,CeOCwO,GTFGlH,EuBUE,EdRE,AfPA,C6BeClK,AdRAwR,AfPArO,CMKC+G,CwBFC,ANHrB,AlBKoB,CwBFE,AlBGA,AbXA,ACKA,C8BGC,A/BRAhK,AOUA,ANLA,CwBAvB8X,CzBLyB,C8BoBC,CAACrX,AdRA,CAACiM,AhBZA,IgBYI,AhBZA,CgBYC1H,AhBZA7E,C8BoBC,GdRG,CSPrC,ATOsCH,AhBZA,ACKA,CDLC,ACKA,CeOC,AhBZA,CgBYC,EAAE;EHA1C,AZNA,E8BGE,ADYA,AZrBA,AlBCA,AOUA,IAAIuH,ESEE,STFS,GAAG,MAAM,IAAI,CAACF,EAAE,CAACE,WAAW,CAAC,IAAI,CAACK,SAAS,EAAE,UAAU,CAAC;AME3E,EkBHE,A9BFA,C8BEC,CDYC,AZrBA,AlBCA,AOUA,IPVI,AOUAG,CNJCvD,C6BcCjE,AZrBA4T,AFaAzH,EhBZE,CAAC3M,AOUA,CSEC,CAACoC,CTFC,CPVC,C8BoBC,C9BpBC,E8BoBE9B,CvBVCkH,ESEE,CAAC/E,AfNAgC,CAACC,G6BcG,CAACjE,CdRC,CEbC,AFaA,AfNA,CMIC,CAAC+G,ANJA,CiBPCvC,IAAI,CAACkP,AFaA,CAAC,GcQG,CAAC,AvBVA,CAACpM,QWXQ,GAAG,AXWA,CAAC,EWXE,EXWE,CAACF,KuBUK,CAAC,GvBVG,CAAC;AMCxEnF,EkBDCsa,EDWE,AZrBA,AXWA,ANJA,EDNE/a,CaUL,CAAAoL,AGEO,AfNA3I,CeMC,CcQCoW,AZrBAzG,CXWCrM,CwBDCgV,CAAA,C9BHE,C8BGC,AfGA,CHFd,ANAe,CAAC5U,EMAhBiF,AZJkBjK,G6BcG,CvBVC,CAAC,CuBUC5C,A9BpBA,AOUA,CPVC4B,CaUzB,CZJ2B,EAAE,CiBPC,EYqBE,CAAC1B,AZrBAuE,ClBCC,CAAC5C,EkBDE,CAACiS,AlBCA,CAAE,C8BoBA,CAACtS,SAAS,CAAC,AZrBA,GAAG,CYqBC,A9BpBA,C8BoBC,CZrBC,ElBCE,CAAChC,IAAK,EAAC,CAAC;EOWlE,EwBDEsF,ADWA,AZrBA,AlBCA,ECMEZ,IiBPI6P,AFaA5H,EeHH,A9BHK,C8BGJlH,CfGM,CAACrD,AfNA,IAAI,K8BGA,AfGK,CeHJ,AfGKC,GAAG,CeHJ,AfGK,CeHJkX,ObVY,AFaA,CAAC,EEbEtU,CaUJ,CAAC,CAACS,CbVM,CAAC8O,SaUI,CAAC,IAAI,CAAC6E,KbVU,GAAG,GAAG,CaUJ,CAAC;AxBEpE,IwBDI,ADWA,AZrBA,AjBOA,I8BGI,AfGA,CeHCA,CDWC0B,AZrBAtG,UYqBU,CCXC,CAAC/D,CDWCoK,ICXI,CAAC,CAAC,MDWM,CAAC5Y,GZrBG,GAAG+C,IAAI,CAACyP,EYqBE,CAAC,UZrBU,GAAG,EYqBE,CAAC,AZrBA;AXWjEhS,EwBAC,EDWE,A9BpBA,ACMAC,EeME,CAAC,ATHN,CSGO,ATHP0G,EuBWS2R,E7BdE,CAACpY,GAAG,CMGf,ANHgB,C6BcC,EvBXjByG,CuBWoByR,QvBXpB,GNH+B,C6BcC,CAAC5Y,A7BdAwC,MAAM,CAAC,M6BcM,CAAC,oBAAoB,CAAC;ECTnEyY,A9BJA,E6BcE,AZrBA,AFaA,AhBZA,CgBYC,CAAC,IcQIlC,A9BpBA3Y,G+BUG6a,CAAA,EAAG,K/BVK,C8BoBC,E9BpBEpb,C8BoBC+Y,I9BpBI,CAAC5Y,O8BoBO,CAACA,K9BpBK,CAAC,O8BoBO,CAC7C,oB9BrBkE,CAAC,Q8BsBrE,CAAC;A7BfL,EeME,EeFEoD,AbXA,AlBCAhD,MkBDMqS,EaWH,CAACpP,E/BVO,CAAChD,OAAO,C+BUJ,CAAC,AbXK,ClBCC,EkBDE0C,CaWJ,CAACsU,EbXO,AlBCA,CkBDC3E,GlBCG,CAAC5T,I+BUD,A/BVK,C+BUJ,A/BVK,C+BUJ4E,AbXK,AlBCA,GkBDG6O,SaWI,CAAC,IAAI,CAAC4E,YAAY,CAAC,CbXM;AjBO1E3W,E8BKC,AfGA0N,EcSE,AZvBA,GjBMH,CeQOA,AfRPzN,CeQO,CEdEkS,CFcC,KEdK,AjBMf,GiBNmB,AjBMnBlS,QAAA;AiBLD,IYuBIoY,AdTA,AhBbA,IgBaI,CEdC9V,AFcAO,IEdI,CYuBC,AZvBAvB,CYuBC7B,CdTC,CAACA,EEdG,KYuBI,CAACC,CdTC,CAAC+N,CcSC,CAAE,GAAEyK,CdTC,CAAC,EcSG,SdTQ,CAAC,KcSK,CAAC;AZtBpD,EaWE,EDYEG,AdTA,AhBbA,IgBaI,AhBbA,CgBaCrL,AhBbArP,G8BsBG,CAAC6B,CZvBC8C,GlBCG,CkBDC,AlBCAxE,CkBDCqU,KYuBK,AdTA,CAAC1S,EcSE1B,EZvBG,GlBCE,CAAC,C8BsBC,AdTA,CAAC0P,EhBbE,CAAChQ,GgBaG,CAAC,ChBbC,CAAC,EAAE,OgBaO,CAAC;AEbtD,EaWE,EDYE2a,AdTA,EhBbE,E+BUEmC,AfGA,IAAI,CAAC1X,CcSC,CAAC0V,ICZIgC,CAAA,AfGC,CAAC9a,CeHC,AbXAgS,GYuBG,GAAG,EdTE,CAAC5C,EcSE,MdTM,CAAC,IEdI,CAACuD,MFcM,CEdC,AFcA,CEdC,CAAC,AFcA,CEdE;AACxD,IaWI,EfGE,AhBbA,I+BUIqI,AfGA,AhBbA,CgBaC5N,AhBbAnP,QgBaQ,CAACuC,AhBbA,C+BUC,AbXAyR,AlBCA7R,EgBaE,CeHC,AfGA,IeHI,CAAC6W,G/BVG,CAACtX,KAAK,CAAC,E+BUE,CAACc,AbXA,CAACkS,AFcA,EAAE,EeHE,CAAChE,CfGC,CEdC,AFcA,CEdC,CaWC,AbXA,CaWC,AbXC,CaWA;AbVtD,IaWI,ADYA,AdTA,AhBbA,CgBaC,MAAM,gBEdgB9L,IAAI,CAAC+P,iBAAkB;AAClD,ElBCE,E+BUE,ADYA,EdTE,EeHEvK,ADYA,CAAC2O,CdTC,CAAC5J,CeHC,GAAG,IfGI,CcSC,AdTA5M,CeHCiI,ADYArI,EdTE,CAAC,QcSQ,CAACuY,CZvBCxG,SYuBS,AdTA,CcSC,CdTC,IeHX,CAACnJ,AfGe,CAAC,UEdU,CAAC2J,EaWb,CAAC,CAAC,GbXkB,CAAC,CAAC,CAAE;AACzE,ElBEE/T,E+BSE,ADYA+Z,AdTA,EhBZE/Z,CAAA,EAAG,C+BSC8C,GAAG,CDYC,CAACqX,CCZCxY,MDYM,CAAC,IAAI,CAAC,CZvBCsC,EYuBElF,EZvBE,CaWT,AbXU6U,CaWTpR,GDYa,CAACvD,ECZR,ADYU,CCZT,EbXa,SaWF,CAAC;AbV5C,EFcE,EeHE,ADYA,A9BrBAK,I+BSI,ADYAqY,CCZC7U,GAAG,A/BTA,CAACrD,C+BSC,a/BTa,C8BqBV,A9BrBW,C8BqBVsa,G9BrBc,CAAC3a,GkBFGqU,ElBEE,C8BqBV,A9BrBW,C8BqBV,C9BrBYhS,MAAM,CAAC,CAAC,gBkBFgB,CAACsS,OAAO,CAAC,CAAC,CAAE;AAC7E,EFeE,AhBbA,E8BqBEkG,ECZEpb,EfIEqQ,QcQQ,CAACrP,IZvBI8T,AFeAzE,CAAA,EAAG,ScQS,CAAC,ECZd,AbXgB,CaWfjP,AbXgB8T,IaWZ,ADYgB,CCXjC,CDWmC,CZvBC,CAAC,CAAC,CAAE,QYuBO,wCCVjD,CAAC;AbZP,AlBEA,IgBaI,CEfC,CaaC,ADUA,IdRIlK,EcQEA,CCVC,IAAI,qBfEM,CAACE,CcQC,CAACE,QdRQ,CAAC,CAAC,OcQO,CAAClL,OAAO,CAACE,EAAE,CAAC;A9BrBtDyC,EgBcC,EeFE,AbbArB,EYuBE0Z,C9BtBL,CAAAlb,GkBDU,CAACqF,GAAG,CYuBC,AZvBA2P,CYuBCpS,KZvBK,AlBCrB,C8BsBsB,AZvBA,CYuBC,CAAC,A9BtBxB5C,cAAA;EkBAC,AFgBA,EeHE,ADUA,CAAC,CAAC,ECVEud,AfGAjN,WeHW,AfGAA,CAAA,CeHE,CfGC;EEdpB,EYsBE,AdPA,EeHE,GbZG8E,CFeCpK,CcOCkQ,OZtBO9F,CAACnR,EYsBE,CZtBC,EAAEwO,UAAU,EAAE,EFeb,CAAChH,UAAU,CAAC,CAAC;EcQlC,AdPA,EEfE,EaYE,EbZE,CAACxH,CaYC,CAACuV,CbZC,EAAE,SaYS,CAACxW,KAAK,GAAG,EAAE;AfIlC,EcQE2K,ICXI,AbZA,OAAO,IAAI,EYuBEA,CAAC/C,IAAI,EAAE;AdRzB/H,IcSG,AZvBA,EaYE,CfEL,CcSO+H,AdTP8E,EeFS,CAAC9E,CDWC,CAACxK,ECXE,ADWA,AdTd,EeFgB,CfEhBsP,EcSmB,IAAI,CAAC9E,AdTxB,IcS4B,EAAExK,EAAE,EAAE;IZrB/B,EYsBE,ECXEwK,EDWE,CAACA,AZtBAqI,CaWC,GAAG,ADWA,CZtBC,CAAChP,CYsBC,EZtBE,CaWC+G,AbXA,CYsBC,AZrBfyC,IAAI,CAAEmF,QAAQ,IAAK,UaUQ,CAAC1H,UAAU,CAAC;IDY1C,CAAC,CZrBG,IaUEC,AbVE,CYqBD,AZrBEyH,IaUE,EAAE,EbVI,CAACQ,EAAE,EAAE,GaUC;MDYrB,EZrBI,EaUAhP,ADWA,CAACwG,GZrBK,CaUD,ADWA,ECXE9H,CDWC8H,AZrBE7D,IYqBE,CZrBG,CAAE,WaUF,CAAC7C,QAAQ,CAAC,UbVsBD,GAAI,EAAC,CAAC;IYsB3D,EZrBI,EaUA,CAAC,CAAC;IDYN,ECXE,AbVE,EYqBA,CAAC+H,IZrBM4G,EYqBA,CAAC,CAAC,IZrBM,CAACyC,IAAI,CAAC,CAAC;EYsB5B,EZrBI,CAAC,CaUD,AbVE,CACD5H,IAAI,CAAErI,IAAI,IAAK;EYsBpB0I,ICZI,AbTE2E,MaSI7H,IAAI,AbTE,CaSDF,AbTEtF,GYqBC0I,CAAClD,AZrBE,CAAC0K,GYqBC,ECZE,ADYA,CCZC,AbTE,CAAC;IYsB3B,AZrBE,CAAC,CAAC,CACDC,CaQCyF,ADYA,CAACpQ,GCZG,AbRA,CYoBC,AZpBCnJ,CaQA,EDYEmJ,EZpBG,EaQC,ADYA,EZpBI;IYqBpB,EZpBIpJ,EaQAX,ADYA,CAACmL,IZpBM,CAAC/J,CaQD,ADYA,CAAC,CCZCsb,ADYA,EZpBI,CAAC9b,KAAK,CAAC;EYqB1B,ICZI,AbRED,CaQD,CAAC,KbRO,CAACC,KAAK,CACV,2CAA0CwC,GAAI,qBACjD,CAAC;EYoBPsW,ICbI,AbNE9H,MaMIlO,IDaIgW,AZnBE,CYmBF,AZnBG,EYmBA,AZnBE,CAAC,IaME,GAAGzX,kBAAQ,CAACuB,eAAe,CAAC,CAAC;IDcjD,AZnBE,CAAC,CaMD,AbNE,EYmBA,CAACiI,GCbG5H,MDaM,CAACmM,KAAK,CAAC,CAAC,CCbC,GAAG/N,kBAAQ,CAAC0B,kBAAkB,CAAC,CAAC;EbLzD,EYmBEvD,ECbE,GDaG,CAACsa,eAAe,CAAC,CAAC;AZlB3B,EYmBE,ICbI,IAAI,CAAC+B,WAAW,CAAC,CAAC;AbNvBza,EYqBC,ICdI,CbPL,CYqBO2X,AZrBPlI,SAAA,GAAAA,IYqBuBkI,CAAA,EAAG,EZrB1B;IYsBG,ECdE,IAAI,ADcA5P,CCdC4S,GDcG,GAAG,MAAMxS,KCdK,CAAC,sBDcO,CAACO,cAAc,CAAC,CAAC;IACjD,ICf2B1K,ADevB+J,IAAI,EAAE,CCfwB,EAAE2S,WAAW;MDgB7C,EChB+CvC,IAAI,ADgB7ChQ,EChB+C,0BDgBlC,CAACM,UAAU,CAACV,IAAI,CAAC;IACtC,ECjB8D,CAAC,CAAC;EDkBlE,ICjBI;EDmBJ0P,IClBI,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","file":"script.d573be0b.js","sourceRoot":"..","sourcesContent":["function simpleHash(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return hash;\n}\n\n// Show all uncaught errors as UI notifications\n/*\nwindow.onerror = function (message, source, lineno, colno, error) {\n const errorDetails = `${message} at ${source}:${lineno}:${colno}`;\n UINotification.show(errorDetails, 'error');\n return true;\n};\n*/\n\nexport class UINotification {\n constructor(message, type) {\n const id = simpleHash(JSON.stringify(message));\n this.type = type;\n this.domId = `notification-${id}`;\n this.container = document.body;\n this.template = document.getElementById('notification-template').content;\n this._bindEventListeners();\n }\n\n _bindEventListeners() {\n window.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n });\n }\n\n static show(message, type) {\n const notification = new UINotification(message, type);\n notification.show(message);\n }\n\n static initialize() {\n // Store the original console.error function\n const originalConsoleError = console.error;\n\n // Override console.error\n console.error = function (...args) {\n UINotification.show(args);\n // Call the original console.error with all arguments\n originalConsoleError.apply(console, args);\n };\n }\n\n static handleApplicationError(error) {\n console.debug('caught error');\n console.error(error);\n UINotification.show(error);\n }\n\n show(message) {\n // Clone the template\n const clone = this.template.cloneNode(true);\n\n // Find the root element of the notification in the clone\n const notificationElement = clone.querySelector('.notification');\n if (!notificationElement) {\n console.error('Notification root element not found in template');\n return;\n }\n\n // Set the message\n clone.querySelector('.notification-message').textContent = message;\n\n notificationElement.id = this.domId; // Set ID on the actual element, not the fragment\n // Add type, for example, error\n if (this.type) {\n notificationElement.classList.add(`notification-${this.type}`);\n }\n\n // Add close functionality\n const closeButton = clone.querySelector('.close-notification-button');\n closeButton.onclick = () => this.hide();\n\n // Don't show the same notification twice\n if (!document.getElementById(this.domId)) {\n // Append to the container and display\n this.container.appendChild(clone);\n }\n }\n\n hide() {\n document.getElementById(this.domId)?.remove();\n }\n}\n","export class Settings {\n // Static method to set a value in localStorage\n static set(key, value) {\n try {\n const stringValue = JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n } catch (e) {\n console.error('Error saving to localStorage', e);\n }\n }\n\n // Static method to get a value from localStorage\n static get(key, defaultValue = null) {\n try {\n const value = localStorage.getItem(key);\n return value !== null ? JSON.parse(value) : defaultValue;\n } catch (e) {\n console.error('Error reading from localStorage', e);\n return defaultValue;\n }\n }\n\n // Static method to remove a value from localStorage\n static remove(key) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n console.error('Error removing from localStorage', e);\n }\n }\n\n static getUrl(uri) {\n try {\n const baseUrl = Settings.get('url');\n if (uri) {\n return new URL(uri, baseUrl).href;\n } else {\n return baseUrl;\n }\n } catch (error) {\n return null;\n }\n }\n\n static setUrl(url) {\n Settings.set('url', url);\n }\n\n static getModel() {\n return Settings.get('model');\n }\n\n static setModel(model) {\n Settings.set('model', model);\n }\n\n static getSystemPrompt() {\n return Settings.get('system-prompt');\n }\n\n static setSystemPrompt(systemPrompt) {\n if (systemPrompt === '') {\n systemPrompt = null;\n }\n Settings.set('system-prompt', systemPrompt);\n }\n\n static getModelParameters() {\n return Settings.get('model-parameters');\n }\n\n static setModelParameters(modelParameters) {\n if (modelParameters === '') {\n modelParameters = null;\n }\n Settings.set('model-parameters', modelParameters);\n }\n\n static getCurrentChatId() {\n return Settings.get('currentChatId');\n }\n\n static setCurrentChatId(chatId) {\n if (chatId === undefined) {\n chatId = null;\n }\n Settings.set('currentChatId', chatId);\n }\n}\n","export class Event {\n static listen(eventName, handler) {\n window.addEventListener(eventName, (event) => {\n handler(event.detail);\n });\n }\n\n static emit(eventName, data) {\n let log = `${eventName}`;\n if (data?.id) {\n log += ` id: ${data.id}`;\n }\n console.log(log);\n const event = new CustomEvent(eventName, {\n detail: data || {},\n bubbles: true, // This makes the event bubble up through the DOM\n });\n window.dispatchEvent(event);\n }\n}\n","export class DOM {\n static showElement(element) {\n element.classList.remove('hidden');\n return this;\n }\n\n static hideElement(element) {\n element.classList.add('hidden');\n return this;\n }\n\n static enableInput(element) {\n element.removeAttribute('disabled');\n return this;\n }\n\n static disableInput(element) {\n element.setAttribute('disabled', 'disabled');\n return this;\n }\n}\n","export function debounce(func, wait) {\n let timeout;\n\n return function funcWrapper(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n","export class Database {\n constructor(dbName, objectStores, migrations) {\n this.dbName = dbName;\n this.objectStores = objectStores;\n this.dbConnection = null; // Initialized in open\n this.migrations = migrations;\n }\n\n async open() {\n if (this.dbConnection) {\n throw new Error('Connection already open');\n }\n\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(this.dbName, this.migrations.version);\n\n request.onerror = (event) => reject(event.target.error);\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n const transaction = event.currentTarget.transaction;\n this.migrations.upgrade(db, transaction, event.oldVersion);\n };\n request.onsuccess = (event) => {\n this.dbConnection = event.target.result;\n resolve(this.dbConnection);\n };\n });\n }\n\n async transaction(storeName, mode) {\n return this.dbConnection\n .transaction([storeName], mode)\n .objectStore(storeName);\n }\n\n async add(storeName, data) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('add', store.add(data));\n }\n\n async get(storeName, id) {\n const store = await this.transaction(storeName, 'readonly');\n return this.handleRequest('get', store.get(id));\n }\n\n async put(storeName, data) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('put', store.put(data));\n }\n\n async delete(storeName, id) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('delete', store.delete(id));\n }\n\n async getAll(storeName) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('getAll', store.getAll());\n }\n\n async clear(storeName) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('deleteAll', store.clear());\n }\n\n handleRequest(type, request) {\n return new Promise((resolve, reject) => {\n request.onsuccess = () => resolve(request.result);\n\n request.onerror = (event) => {\n const error = `Database ${type} operation failed: ${event.target.error.message}`;\n reject(new Error(JSON.stringify(error)));\n };\n });\n }\n}\n","export class Migrations {\n static version = 2;\n static upgrade(database, transaction, oldVersion) {\n console.debug(\n `Migration needed. Old version ${oldVersion}. New version ${this.version}.`,\n );\n const funcName = `upgradeToVersion${this.version}`;\n const upgradeFunc = this[funcName];\n if (!upgradeFunc) {\n throw new Error(`Upgrade function missing for ${funcName}`);\n }\n if (this.version >= oldVersion) {\n upgradeFunc({ database, transaction });\n }\n }\n\n static upgradeToVersion2(context) {\n // Create chats\n context.database.createObjectStore('chats', {\n keyPath: 'id',\n autoIncrement: true,\n });\n // Create chat_messages\n const chatMessages = context.database.createObjectStore('chat_messages', {\n keyPath: 'id',\n autoIncrement: true,\n });\n chatMessages.createIndex('by_chat', 'chatId', { unique: false });\n }\n}\n","import { Database } from '../Database.js';\nimport { Migrations } from '../Migrations.js';\n\nexport class BaseModel {\n constructor(data) {\n Object.assign(this, data);\n }\n\n static async database(name, store) {\n this.dbName = name;\n this.storeName = store;\n this.db = new Database(name, [store], Migrations);\n await this.db.open();\n }\n\n static async transaction(mode) {\n return await this.db.transaction(this.storeName, mode);\n }\n\n async transaction(mode) {\n return await this.constructor.transaction(mode);\n }\n\n async create() {\n const key = await this.constructor.db.add(this.constructor.storeName, this);\n if (!this.id) {\n this.id = key;\n }\n return this;\n }\n\n async save() {\n return await this.constructor.db.put(this.constructor.storeName, this);\n }\n\n async delete() {\n return await this.constructor.db.delete(\n this.constructor.storeName,\n this.id,\n );\n }\n\n static async get(id) {\n const data = await this.db.get(this.storeName, id);\n return new this(data);\n }\n\n static async clear() {\n return await this.db.clear(this.storeName);\n }\n\n // TODO: sorting and selecting only certain attributes\n static async getAll() {\n const records = await this.db.getAll(this.storeName);\n return records.map((data) => new this(data));\n }\n\n /**\n * Retrieves all objects associated with a given ID and index.\n *\n * @param {number|string} chatId - The ID of the chat.\n * @returns {Promise} A promise that resolves to an array.\n */\n static async getAllByIndexAndId(indexName, id) {\n // Open a transaction and access the messages store\n const transaction = await this.transaction('readonly');\n\n // Use an index to find objects with the specified id\n const index = transaction.index(indexName);\n const request = index.getAll(id);\n\n return new Promise((resolve, reject) => {\n request.onsuccess = () => {\n // Convert the result into instances\n const messages = request.result.map((data) => new this(data));\n resolve(messages);\n };\n request.onerror = () => {\n reject(request.error);\n };\n });\n }\n\n // Exports the whole store\n static async export() {\n let transaction = await this.db.transaction(this.storeName, 'readonly');\n let store = await transaction.transaction.objectStore(this.storeName);\n return store.getAll();\n }\n}\n","import { BaseModel } from './BaseModel.js';\n\nexport class ChatMessage extends BaseModel {\n static async initialize() {\n await this.database('ChatApp', 'chat_messages');\n }\n\n static async getAllByChatId(chatId) {\n return this.getAllByIndexAndId('by_chat', chatId);\n }\n}\n","import { BaseModel } from './BaseModel.js';\nimport { ChatMessage } from './ChatMessage.js';\n\nexport class Chat extends BaseModel {\n async addMessage(data) {\n data.chatId = this.id;\n await new ChatMessage(data).create();\n }\n\n async getMessages() {\n const messages = await ChatMessage.getAllByChatId(this.id);\n this.messages = messages;\n return this.messages;\n }\n\n static async initialize() {\n await this.database('ChatApp', ['chats']);\n }\n\n static async clear() {\n await ChatMessage.clear();\n await super.clear();\n }\n\n static async get(id) {\n const chat = await super.get(id);\n\n /*\n if (chat) {\n // Fetch all messages for this chat\n const messages = await ChatMessage.getAllByChatId(id);\n chat.messages = messages;\n }\n */\n\n return chat;\n }\n\n static async delete(id) {\n // Delete the chat instance\n await super.delete(id);\n\n // Delete all associated messages\n const messages = await ChatMessage.getAllByChatId(id);\n for (const message of messages) {\n await message.delete();\n }\n }\n}\n","import { Event } from './Event.js';\nimport { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\nimport { Settings } from './models/Settings.js';\n\nexport class AppController {\n static async updateChat(chat, data) {\n Object.assign(chat, data);\n await chat.save();\n // TODO: Move to BaseModel\n Event.emit('chatUpdated', chat);\n }\n\n static async createChat(data) {\n if (!data) {\n data = {};\n }\n if (!data.title) {\n data.title = 'Untitled';\n }\n if (!data.model) {\n data.model = Settings.getModel();\n }\n const chat = await new Chat(data).create();\n Settings.setCurrentChatId(chat.id);\n Event.emit('chatCreated', chat);\n Event.emit('chatSelected', chat);\n return chat;\n }\n\n static async deleteChatMessage(messageId) {\n const message = await ChatMessage.get(messageId);\n message.delete();\n }\n\n static async deleteChat(chat) {\n await chat.delete();\n if (Settings.getCurrentChatId() === chat.id) {\n Settings.setCurrentChatId(null);\n }\n Event.emit('chatDeleted', chat);\n }\n\n static async getCurrentChat() {\n const chatId = this.getCurrentChatId();\n if (chatId) {\n return await Chat.get(chatId);\n }\n return null;\n }\n\n static getCurrentChatId() {\n return Settings.get('currentChatId');\n }\n\n static async setCurrentChat(chat) {\n Settings.setCurrentChatId(chat.id);\n Event.emit('chatSelected', chat);\n }\n\n static async setCurrentChatId(chatId) {\n const chat = await Chat.get(chatId);\n if (chat) {\n await this.setCurrentChat(chat);\n }\n }\n\n static async clearChats() {\n Settings.setCurrentChatId(null);\n await Chat.clear();\n Event.emit('chatsCleared');\n }\n}\n","import { AppController } from './AppController.js';\n\nexport class ChatListItem {\n constructor(chat, chatList, selected) {\n this.chat = chat;\n this.chatList = chatList;\n this.content = document\n .getElementById('chat-list-item-template')\n .content.cloneNode(true);\n this.element = this.content.querySelector('.chat-list-item');\n this.element.title = this.chat.title;\n this.element.data = { id: this.chat.id };\n this.element.classList.add(`chat${this.chat.id}`);\n if (selected === true) {\n this.element.classList.add('selected');\n // this.content.querySelector('.icon-selected').classList.remove('hidden')\n }\n this.setTitle();\n this.bindEventListeners();\n }\n\n render() {}\n\n bindEventListeners() {\n this.element.addEventListener('mouseover', this.onMouseover.bind(this));\n this.element.addEventListener('mouseout', this.onMouseout.bind(this));\n this.element.addEventListener('click', this.onClick.bind(this));\n this.element\n .querySelector('.list-item-delete')\n .addEventListener('click', this.deleteChat.bind(this));\n }\n\n onMouseover() {\n this.element.classList.add('hover');\n }\n\n onMouseout() {\n this.element.classList.remove('hover');\n }\n\n onClick() {\n this.chatList.selectChat(this.chat.id);\n }\n\n setTitle() {\n const chatTitle = this.content.querySelector('.chat-title');\n chatTitle.textContent = this.chat.title;\n }\n\n deleteChat() {\n AppController.deleteChat(this.chat);\n this.element.remove();\n }\n}\n","export class DragAndDrop {\n constructor(selector) {\n this.listItems = document.querySelectorAll(selector);\n this.draggedItem = null;\n this.initializeDragAndDrop();\n }\n\n initializeDragAndDrop() {\n this.listItems.forEach((item) => {\n item.addEventListener('dragstart', this.handleDragStart.bind(this, item));\n item.addEventListener('dragover', this.handleDragOver.bind(this));\n item.addEventListener('drop', this.handleDrop.bind(this, item));\n item.addEventListener('dragend', this.handleDragEnd.bind(this));\n });\n }\n\n handleDragStart(item) {\n this.draggedItem = item;\n }\n\n handleDragOver(e) {\n e.preventDefault();\n }\n\n handleDrop(item) {\n if (item !== this.draggedItem) {\n let currentHTML = item.innerHTML;\n item.innerHTML = this.draggedItem.innerHTML;\n this.draggedItem.innerHTML = currentHTML;\n console.debug('dnd drop');\n }\n }\n\n handleDragEnd() {\n this.draggedItem = null;\n }\n}\n","import { Event } from './Event.js';\nimport { ChatListItem } from './ChatListItem.js';\nimport { DragAndDrop } from './DragAndDrop.js';\nimport { Chat } from './models/Chat.js';\nimport { AppController } from './AppController.js';\n\nexport class ChatList {\n constructor() {\n this.element = document.getElementById('chat-list');\n this.template = document.getElementById('chat-list-item-template').content;\n this.bindEventListeners();\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n });\n }\n\n bindEventListeners() {\n Event.listen('chatCreated', this.handleChatCreated.bind(this));\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n Event.listen('chatsCleared', this.handleChatsCleared.bind(this));\n Event.listen('chatUpdated', this.handleChatUpdated.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n }\n\n async selectChat(chatId) {\n await AppController.setCurrentChatId(chatId);\n }\n\n handleChatCreated(chat) {\n this.appendChat(chat, true);\n }\n\n handleChatDeleted(chat) {\n if (this.chat?.id === chat.id) {\n this.chat = null;\n }\n this.element.querySelector(`.chat${chat.id}`)?.remove();\n }\n\n handleChatsCleared() {\n const elements = this.element.querySelectorAll('.chat-list-item');\n elements.forEach((element) => element.remove());\n }\n\n handleChatUpdated(chat) {\n const listElement = this.element.querySelector(\n `.chat${chat.id} .chat-title`,\n );\n if (listElement) {\n listElement.textContent = chat.title;\n }\n }\n\n handleChatSelected(chat) {\n if (this.chat) {\n const previousListElement = this.element.querySelector(\n `.chat${this.chat.id}`,\n );\n if (previousListElement) {\n previousListElement.classList.remove('selected');\n }\n }\n const newListElement = this.element.querySelector(`.chat${chat.id}`);\n if (newListElement) {\n newListElement.classList.add('selected');\n }\n // Remember selected chat\n this.chat = chat;\n }\n\n render() {\n const currentChatId = AppController.getCurrentChatId();\n this.element.innerHTML = '';\n Chat.getAll().then((chats) => {\n chats.forEach((chat) => {\n const selected = chat.id === currentChatId;\n this.appendChat(chat, selected);\n });\n new DragAndDrop('.chat-list-item');\n });\n }\n\n appendChat(chat, selected) {\n const chatListItem = new ChatListItem(chat, this, selected);\n this.element.appendChild(chatListItem.element);\n return chatListItem;\n }\n}\n","import { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\n\nexport class DownloadChatsButton {\n constructor() {\n this.button = document.querySelector('#export-button');\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.button.addEventListener('click', () => {\n this.exportChat();\n this.exportChatMessages();\n });\n }\n\n async exportChat() {\n const request = await Chat.export();\n\n request.onsuccess = function () {\n let data = request.result;\n\n // Convert the data to JSON format\n let jsonData = JSON.stringify(data, 2);\n\n // Export the JSON data by creating a file to download\n let blob = new Blob([jsonData], { type: 'application/json' });\n let url = URL.createObjectURL(blob);\n\n let a = document.createElement('a');\n a.href = url;\n a.download = 'chats.json';\n a.click();\n URL.revokeObjectURL(url);\n };\n\n request.onerror = function (event) {\n console.error('Error reading data: ', event.target.errorCode);\n };\n }\n\n async exportChatMessages() {\n const request = await ChatMessage.export();\n\n request.onsuccess = function () {\n let data = request.result;\n\n // Convert the data to JSON format\n let jsonData = JSON.stringify(data, 2);\n\n // Export the JSON data by creating a file to download\n let blob = new Blob([jsonData], { type: 'application/json' });\n let url = URL.createObjectURL(blob);\n\n let a = document.createElement('a');\n a.href = url;\n a.download = 'chat_messages.json';\n a.click();\n URL.revokeObjectURL(url);\n };\n\n request.onerror = function (event) {\n console.error('Error reading data: ', event.target.errorCode);\n };\n }\n}\n","export class LocalStorage {\n // Set a value in localStorage\n set(key, value) {\n try {\n const stringValue = JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n } catch (e) {\n console.error('Error saving to localStorage', e);\n }\n }\n\n // Get a value from localStorage, return defaultValue if key doesn't exist\n get(key, defaultValue = null) {\n try {\n const value = localStorage.getItem(key);\n return value !== null ? JSON.parse(value) : defaultValue;\n } catch (e) {\n console.error('Error reading from localStorage', e);\n return defaultValue;\n }\n }\n\n // Remove a value from localStorage\n remove(key) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n console.error('Error removing from localStorage', e);\n }\n }\n}\n","import { debounce } from './debounce.js';\nimport { Event } from './Event.js';\nimport { Chat } from './models/Chat.js';\nimport { AppController } from './AppController.js';\nimport { ChatList } from './ChatList.js';\nimport { DownloadChatsButton } from './DownloadChatsButton.js';\nimport { LocalStorage } from './models/LocalStorage.js';\n\nexport class Sidebar {\n constructor() {\n this.settings = new LocalStorage();\n this.chatList = new ChatList();\n this.element = document.getElementById('sidebar');\n this.newChatButton = this.element.querySelector('#new-chat-button');\n this.clearButton = this.element.querySelector('#clear-button');\n this.hamburgerButton = document.getElementById('hamburger-menu');\n this.searchButton = document.getElementById('search-button');\n this.downloadChatsButton = new DownloadChatsButton();\n this.searchRow = document.getElementById('search-row');\n this.searchInput = document.getElementById('search-input');\n if (this.settings.get('sidebar-collapsed') === true) {\n this.element.classList.add('collapsed');\n }\n this.bindEventListeners();\n }\n\n render() {\n this.chatList.render();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected);\n this.searchButton.addEventListener('click', this.toggleSearch.bind(this));\n this.searchInput.addEventListener(\n 'keypress',\n debounce(this.performSearch.bind(this), 50),\n );\n this.searchInput.addEventListener(\n 'keyup',\n debounce(this.performSearch.bind(this), 50),\n );\n this.newChatButton.addEventListener('click', this.handleNewChat.bind(this));\n this.clearButton.addEventListener('click', this.handleClear.bind(this));\n this.hamburgerButton.addEventListener('click', this.toggle.bind(this));\n }\n\n // TODO: Fix\n handleChatSelected = (chat) => {\n const listItem = this.element.querySelector(`chat${chat.id}`);\n if (listItem) {\n listItem.scrollIntoView({\n behavior: 'smooth',\n block: 'start', // \"start\" will bring the top of the element into view\n inline: 'nearest', // \"nearest\" will scroll to the nearest edge if partially visible\n });\n }\n };\n\n toggleSearch() {\n const searchRow = document.getElementById('search-row');\n searchRow.classList.toggle('hidden');\n this.searchInput.focus();\n }\n\n performSearch() {\n function escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // Escapes special characters\n }\n const query = escapeRegExp(this.searchInput.value.trim()).replace(\n /\\s+/g,\n '.*',\n );\n const queryContent = query.length > 2; // Nobody wants to query content based on one character?\n const regex = new RegExp(query, 'i'); // 'i' for case-insensitive matching\n console.log(`Search ${query}`);\n Chat.getAll().then((chats) => {\n const matches = chats\n .filter((chat) => {\n let match = regex.test(chat.title);\n if (queryContent) {\n match ||= regex.test(chat.content);\n }\n return match;\n })\n .map((chat) => chat.id);\n this.element.querySelectorAll('.chat-list-item').forEach((item) => {\n if (matches.includes(item.data.id)) {\n // Now matches the type\n item.classList.remove('hidden');\n } else {\n item.classList.add('hidden');\n }\n });\n });\n }\n\n toggle() {\n this.element.classList.toggle('collapsed');\n this.hamburgerButton.classList.toggle('collapsed');\n if (this.element.classList.contains('collapsed')) {\n this.settings.set('sidebar-collapsed', true);\n } else {\n this.settings.set('sidebar-collapsed', false);\n }\n }\n\n async handleNewChat() {\n await AppController.createChat();\n }\n\n async handleClear() {\n await AppController.clearChats();\n }\n}\n","export class CopyButton {\n constructor() {\n document.addEventListener('click', function (event) {\n // Check if the clicked element has the class 'copy-button'\n if (event.target.classList.contains('copy-button')) {\n const targetSelector = event.target.getAttribute('data-target');\n const textToCopy = document.getElementById(targetSelector).innerText;\n // Create a temporary textarea element\n const textarea = document.createElement('textarea');\n textarea.value = textToCopy;\n document.body.appendChild(textarea);\n\n // Select the text and copy it\n textarea.select();\n document.execCommand('copy');\n\n // Remove the temporary textarea\n document.body.removeChild(textarea);\n\n // Optional: Display a message or change the button text/content\n alert('Text copied to clipboard');\n }\n });\n }\n}\n","export class OllamaApi {\n constructor() {\n this.abortController = null;\n }\n\n async send(url, data, onResponse, onError, onDone) {\n const request = { data };\n try {\n const response = await this.postChatMessage(url, data);\n await this.handleResponse(request, response, onResponse, onDone);\n } catch (error) {\n onError(request, error);\n }\n }\n\n async postChatMessage(url, data) {\n this.abortController = new AbortController();\n const { signal } = this.abortController;\n const response = await fetch(url, {\n signal,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(data),\n });\n\n if (!response.ok) {\n throw new Error(`${url} failed with status ${response.status}`);\n }\n\n return response;\n }\n\n async handleResponse(request, response, onResponse, onDone) {\n const reader = response.body.getReader();\n let partialLine = '';\n var isRequestDone = false;\n\n while (!isRequestDone) {\n const { done, value } = await reader.read();\n if (done) {\n onDone(request, response);\n isRequestDone = true;\n continue;\n }\n\n const textChunk = new TextDecoder().decode(value);\n const lines = (partialLine + textChunk).split('\\n');\n partialLine = lines.pop();\n\n lines.forEach((line) => {\n const responseData = JSON.parse(line);\n if (line.trim()) {\n // TODO: Move this line:\n this.printResponseStats(responseData);\n onResponse(request, responseData.message.content);\n }\n });\n }\n\n if (partialLine.trim()) {\n onResponse(request, partialLine);\n }\n }\n\n abort() {\n if (this.abortController) {\n this.abortController.abort();\n }\n }\n\n printResponseStats(data) {\n if (!data.total_duration) {\n return;\n }\n // Convert nanoseconds to seconds for durations\n const totalDurationInSeconds = data.total_duration / 1e9;\n const loadDurationInSeconds = data.load_duration / 1e9;\n const promptEvalDurationInSeconds = data.prompt_eval_duration / 1e9;\n const responseEvalDurationInSeconds = data.eval_duration / 1e9;\n\n // Calculate tokens per second (token/s)\n const tokensPerSecond = data.eval_count / responseEvalDurationInSeconds;\n const output = `\nModel: ${data.model}\nCreated At: ${data.created_at}\nTotal Duration (s): ${totalDurationInSeconds.toFixed(2)}\nLoad Duration (s): ${loadDurationInSeconds.toFixed(2)}\nPrompt Evaluation Count: ${data.prompt_eval_count}\nPrompt Evaluation Duration (s): ${promptEvalDurationInSeconds.toFixed(2)}\nResponse Evaluation Count: ${data.eval_count}\nResponse Evaluation Duration (s): ${responseEvalDurationInSeconds.toFixed(2)}\nTokens Per Second: ${tokensPerSecond.toFixed(2)} token/s\n `;\n console.log(output);\n }\n\n static getModels(url, onResponse) {\n if (!url) {\n return null;\n }\n\n return fetch(url)\n .then((response) => {\n if (!response.ok) {\n throw new Error(`Unable to fetch models from ${url}`);\n }\n return response.json();\n })\n .then((data) => {\n onResponse(data.models);\n })\n .catch((error) => {\n console.debug(error);\n console.error(\n `Please ensure the server is running at: ${url}. Error code: 39847`,\n );\n onResponse([]);\n });\n }\n}\n","export class DownloadButton {\n constructor() {\n document.addEventListener('click', (event) => {\n // Check if the clicked element has the class 'copy-button'\n if (event.target.classList.contains('download-button')) {\n // Get the index from the data-target attribute\n const targetId = event.target.getAttribute('data-target');\n this.downloadElementContent(targetId, 'chat.html');\n }\n });\n }\n\n downloadElementContent(elementId, filename) {\n // Get the element\n const element = document.getElementById(elementId);\n if (!element) {\n console.error('Element not found');\n return;\n }\n\n // Get the contents of the element\n const content = element.innerText;\n\n // Create a Blob with the content\n const blob = new Blob([content], { type: 'text/html' });\n\n // Create an anchor element and set the href to the blob\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = filename;\n\n // Append the anchor to the document, trigger a click, and then remove it\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Revoke the blob URL\n URL.revokeObjectURL(a.href);\n }\n}\n","export class DropDownMenu {\n constructor() {\n this.buttonSelector = '.drop-down-menu';\n this.dropDownMenus = document.querySelectorAll(this.buttonSelector);\n this.init();\n }\n\n init() {\n // Add a click listener to the whole document\n document.addEventListener('click', (event) => {\n // Check if the clicked element or any of its parents has the 'drop-down-menu' class\n const menuElement = event.target.closest(this.buttonSelector);\n if (menuElement) {\n const dropDownMenu = menuElement.querySelector('.drop-down-menu-items');\n if (dropDownMenu) {\n this.toggleMenu(dropDownMenu);\n }\n }\n });\n }\n\n toggleMenu(menu) {\n menu.classList.toggle('hidden');\n menu.classList.toggle('visible');\n }\n}\n","// Modal base class\nexport class Modal {\n constructor(domId) {\n this.domId = domId;\n this.modal = document.getElementById(this.domId);\n this.closeButton = this.modal.querySelector('.button-close');\n this.closeButton.onclick = () => this.hide();\n this._bindEventListeners();\n }\n\n _bindEventListeners() {\n window.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n });\n }\n\n show() {\n this.handleShow();\n }\n\n hide() {\n this.handleHide();\n }\n\n handleShow() {\n this.modal.classList.add('show');\n }\n\n handleHide() {\n this.modal.classList.remove('show');\n }\n}\n","export class List {\n constructor(containerId, items, selected) {\n this.container = document.getElementById(containerId);\n this.items = items;\n this.selected = selected;\n this.render();\n this.clickHandler = null;\n }\n\n onClick(handler) {\n this.clickHandler = handler;\n return this; // Allow chaining\n }\n\n setItems(items) {\n this.items = items;\n this.render();\n }\n\n setSelected(selected) {\n console.debug(`Select ${selected}`);\n this.selected = selected;\n this.render();\n }\n\n getSelected() {\n return this.selected;\n }\n\n render() {\n this.container.innerHTML = ''; // Clear existing content\n const ul = document.createElement('ul');\n ul.classList.add('list');\n this.items.forEach((item) => {\n const li = document.createElement('li');\n li.classList.add('list-item');\n if (item === this.selected) {\n li.classList.add('selected');\n }\n li.textContent = item;\n li.item = item;\n li.addEventListener('click', () => {\n this.setSelected(item);\n if (this.clickHandler) {\n this.clickHandler(item);\n }\n });\n ul.appendChild(li);\n });\n this.container.appendChild(ul);\n }\n}\n","import { Event } from '../Event.js';\nimport { Settings } from './Settings.js';\nimport { OllamaApi } from '../OllamaApi.js';\n\nexport class Models {\n static models = [];\n\n static getUrl() {\n return Settings.getUrl('/api/tags');\n }\n\n static load() {\n if (!this.getUrl()) {\n return null;\n }\n return OllamaApi.getModels(this.getUrl(), (models) => {\n Models.models = models;\n Settings.set('models', Models.models);\n Event.emit('modelsLoaded', Models.models);\n });\n }\n\n static getAll() {\n return Models.models;\n }\n\n static getNames() {\n return Models.models.map((model) => model.name);\n }\n\n static findModelByName(name) {\n return Models.models.find((model) => model.name === name);\n }\n}\n","import { List } from './List.js';\nimport { Event } from './Event.js';\nimport { Models } from './models/Models.js';\n\nexport class ModelsList {\n constructor(selector, selectedModel) {\n this.modelList = new List(selector, Models.getNames(), selectedModel);\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n Event.listen('modelsLoaded', this.handleModelsLoaded.bind(this));\n }\n\n handleModelsLoaded() {\n this.modelList.setItems(Models.getNames());\n }\n\n onClick(handler) {\n this.modelList.clickHandler = handler;\n return this.modelList; // Allow chaining\n }\n\n getSelected() {\n return this.modelList.selected;\n }\n}\n","import { Modal } from './Modal.js';\nimport { UINotification } from './UINotification.js';\nimport { ModelsList } from './ModelsList.js';\nimport { Models } from './models/Models.js';\nimport { Settings } from './models/Settings.js';\n\nexport class SettingsDialog extends Modal {\n constructor() {\n super('settings-dialog');\n this.showButton = document.getElementById('settings-button');\n this.urlInput = document.getElementById('input-url');\n this.modelInput = document.getElementById('input-model');\n this.systemPromptInput = this.modal.querySelector('#input-system-prompt');\n this.modelParametersInput = this.modal.querySelector(\n '#input-model-parameters',\n );\n this.refreshModelsButton = this.modal.querySelector(\n '.refresh-models-button',\n );\n this.modelList = new ModelsList('model-list', Settings.getModel());\n this.bindEventListeners();\n this.loadSettings();\n }\n\n bindEventListeners() {\n this.urlInput.addEventListener('blur', () => {\n const value = this.urlInput.value.trim();\n Settings.setUrl(value);\n });\n this.systemPromptInput.addEventListener('blur', () => {\n Settings.setSystemPrompt(this.systemPromptInput.value.trim());\n });\n this.modelParametersInput.addEventListener('blur', () => {\n const value = this.modelParametersInput.value.trim();\n if (value === '') {\n return;\n }\n try {\n const parsedValue = JSON.parse(value);\n const prettyJSON = JSON.stringify(parsedValue, 2);\n Settings.setModelParameters(parsedValue);\n this.modelParametersInput.value = prettyJSON;\n this.modelParametersInput.classList.remove('error');\n } catch (error) {\n if (error.name === 'SyntaxError') {\n this.modelParametersInput.classList.add('error');\n } else {\n console.error(error);\n }\n }\n });\n this.modelList.onClick(() => {\n Settings.setModel(this.modelList.getSelected());\n });\n this.showButton.addEventListener('click', this.show.bind(this));\n this.refreshModelsButton.onclick = () => this.refreshModels();\n this.closeButton.onclick = () => this.hide();\n }\n\n show() {\n Models.load();\n this.handleShow();\n }\n\n refreshModels() {\n if (!Models.getUrl()) {\n UINotification.show('Please update the URL in the settings to continue.');\n } else {\n Models.load();\n }\n }\n\n loadSettings() {\n this.urlInput.value = Settings.getUrl();\n const modelParameters = Settings.getModelParameters();\n if (modelParameters) {\n this.modelParametersInput.value = JSON.stringify(modelParameters, 2);\n }\n }\n}\n","import { AppController } from './AppController.js';\nimport { Event } from './Event.js';\nimport { Modal } from './Modal.js';\nimport { Models } from './models/Models.js';\nimport { ModelsList } from './ModelsList.js';\n\nexport class ChatSettingsDialog extends Modal {\n constructor() {\n super('chat-settings-dialog');\n this.showButton = document.getElementById('chat-settings-button');\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.showButton.addEventListener('click', this.show.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n }\n\n show() {\n Models.load().then(() => {\n AppController.getCurrentChat().then((chat) => {\n this.handleChatSelected(chat);\n this.handleShow();\n });\n });\n }\n\n handleChatSelected(chat) {\n this.modelList = new ModelsList('chat-model-list', chat.model);\n this.modelList.onClick(async (model) => {\n chat.model = model;\n await chat.save();\n });\n }\n}\n","export class Hoverable {\n constructor(element) {\n this.element = element;\n element.hoverable = this;\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.element.addEventListener('mouseover', () => this.onMouseover());\n this.element.addEventListener('mouseout', () => this.onMouseout());\n }\n\n onMouseover() {\n this.element.classList.add('hover');\n }\n\n onMouseout() {\n this.element.classList.remove('hover');\n }\n}\n","import { Event } from './Event.js';\nimport { AppController } from './AppController.js';\n\nexport class ChatTitle {\n constructor() {\n this.defaultTitle = 'Untitled';\n this.element = document.getElementById('chat-title');\n this.bindEventListeners();\n this.render();\n }\n\n render() {\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n this.setTitle(chat?.title);\n });\n }\n\n setTitle(title) {\n this.element.textContent = title || this.defaultTitle;\n }\n\n focus() {\n const hasFocus = document.activeElement === this.element;\n if (!hasFocus) {\n this.element.focus();\n }\n }\n\n bindEventListeners() {\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n this.element.addEventListener('blur', this.handleSave.bind(this));\n this.element.addEventListener('keypress', (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.element.blur();\n }\n });\n }\n\n handleChatSelected(chat) {\n this.chat = chat;\n this.setTitle(chat.title);\n }\n\n handleChatDeleted(chat) {\n if (chat.id === this.chat.id) {\n this.setTitle(this.defaultTitle);\n }\n }\n\n async handleSave() {\n let title = this.element.textContent.trim();\n if (title.length === 0) {\n title = this.defaultTitle;\n this.element.classList.add('error');\n } else {\n this.element.classList.remove('error');\n }\n const chat = await AppController.getCurrentChat();\n if (chat) {\n await AppController.updateChat(chat, { title });\n } else {\n await AppController.createChat({ title });\n }\n }\n}\n","// TODO: Move code here from App.js\nexport class ChatForm {\n constructor() {\n this.chatHistory = document.getElementById('chat-history');\n this.messageInput = document.getElementById('message-input');\n this.sendButton = document.getElementById('send-button');\n this.abortButton = document.getElementById('abort-button');\n }\n}\n","import { AppController } from './AppController.js';\nimport { Event } from './Event.js';\nimport { Hoverable } from './Hoverable.js';\nimport { ChatTitle } from './ChatTitle.js';\nimport { ChatForm } from './ChatForm.js';\n\nexport class ChatArea {\n constructor() {\n this.chatTitle = new ChatTitle();\n this.chatForm = new ChatForm();\n this.chatHistory = document.getElementById('chat-history');\n this.messageInput = document.getElementById('message-input');\n this.editChatButton = document.getElementById('edit-chat-button');\n this.scrollToTopButton = document.getElementById('scroll-to-top-button');\n this.scrollToEndButton = document.getElementById('scroll-to-end-button');\n this.deleteChatButton = document.getElementById('delete-chat-button');\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n this.render();\n });\n this.bindEventListeners();\n }\n\n render() {\n // Clear history view\n this.chatHistory.innerText = '';\n // Render chat history\n this.chat?.getMessages()?.then((messages) => {\n messages.forEach((message) => {\n this.createMessageDiv(message);\n });\n });\n this.scrollToEnd();\n this.messageInput.focus();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n this.scrollToTopButton.addEventListener(\n 'click',\n this.scrollToTop.bind(this),\n );\n this.scrollToEndButton.addEventListener(\n 'click',\n this.scrollToEnd.bind(this),\n );\n this.editChatButton.addEventListener(\n 'click',\n this.handleEditChat.bind(this),\n );\n this.deleteChatButton.addEventListener(\n 'click',\n this.handleDeleteChat.bind(this),\n );\n this.currentMessage = this.chatHistory.querySelector('.selected');\n // Select chat message with arrow up and arrow down keys\n document.addEventListener('keydown', (event) => {\n let next, previous;\n\n if (event.key === 'ArrowDown') {\n next = this.currentMessage\n ? this.currentMessage.nextElementSibling\n : this.chatHistory.firstElementChild;\n if (next) {\n if (this.currentMessage)\n this.currentMessage.classList.remove('hover');\n next.classList.add('hover');\n this.currentMessage = next; // Update currentMessage\n this.currentMessage.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n }); // Scroll into view\n }\n } else if (event.key === 'ArrowUp') {\n previous = this.currentMessage\n ? this.currentMessage.previousElementSibling\n : this.chatHistory.lastElementChild;\n if (previous) {\n if (this.currentMessage)\n this.currentMessage.classList.remove('hover');\n previous.classList.add('hover');\n }\n this.currentMessage = previous; // Update currentMessage\n this.currentMessage.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n }); // Scroll into view\n }\n });\n }\n\n createMessageDiv(message) {\n const role = message.role;\n const content = message.content;\n // Get the template and its content\n const template = document.getElementById('chat-message-template');\n const messageClone = template.content.cloneNode(true);\n // Find the div and span elements within the cloned template\n const messageDiv = messageClone.querySelector('.chat-message');\n const textSpan = messageClone.querySelector('.chat-message-text');\n const deleteButton = messageClone.querySelector(\n '.delete-chat-message-button',\n );\n\n // Set the class for role and text content\n messageDiv.classList.add(`${role}-chat-message`);\n textSpan.textContent = content;\n messageDiv.spellcheck = false;\n\n // Append to chatHistory and adjust scroll\n this.chatHistory.appendChild(messageDiv);\n messageDiv.dataset['id'] = message.id;\n new Hoverable(messageDiv);\n deleteButton.addEventListener('click', async () => {\n await AppController.deleteChatMessage(message.id);\n messageDiv.remove();\n });\n return messageDiv;\n }\n\n handleChatDeleted(chat) {\n if (chat.id === this.chat?.id) {\n this.chat = null;\n } else {\n this.chat = chat;\n }\n this.render();\n }\n\n handleChatSelected(chat) {\n this.chat = chat;\n this.render();\n }\n\n handleEditChat() {\n this.chatTitle.focus();\n event.stopPropagation();\n }\n\n async handleDeleteChat() {\n const chat = await AppController.getCurrentChat();\n if (chat) {\n await AppController.deleteChat(chat);\n }\n }\n\n scrollToTop() {\n this.chatHistory.scrollTop = 0;\n }\n\n scrollToEnd() {\n this.chatHistory.scrollTop = this.chatHistory.scrollHeight;\n }\n}\n","import { UINotification } from './UINotification.js';\nimport { Settings } from './models/Settings.js';\nimport { Event } from './Event.js';\nimport { DOM } from './Dom.js';\nimport { Sidebar } from './Sidebar.js';\nimport { AppController } from './AppController.js';\nimport { CopyButton } from './CopyButton.js';\nimport { OllamaApi } from './OllamaApi.js';\nimport { DownloadButton } from './DownloadButton.js';\nimport { DropDownMenu } from './DropDownMenu.js';\nimport { SettingsDialog } from './SettingsDialog.js';\nimport { ChatSettingsDialog } from './ChatSettingsDialog.js';\n// import { MarkdownFormatter } from './MarkdownFormatter.js'\nimport { ChatArea } from './ChatArea.js';\n\n// TODO: Review and refactor\nexport class App {\n static run() {\n UINotification.initialize();\n const app = new App();\n return app;\n }\n\n constructor() {\n this.sidebar = new Sidebar();\n this.chatArea = new ChatArea();\n this.ollamaApi = new OllamaApi();\n this.settingsDialog = new SettingsDialog();\n this.chatSettingsDialog = new ChatSettingsDialog();\n this.downloadButton = new DownloadButton();\n this.copyButton = new CopyButton();\n this.dropDownMenu = new DropDownMenu();\n this.initializeElements();\n this.bindEventListeners();\n this.logInitialization();\n this.render();\n }\n\n initializeElements() {\n // this.sendButton = document.getElementById('send-button');\n this.abortButton = document.getElementById('abort-button');\n this.messageInput = document.getElementById('message-input');\n this.chatHistory = document.getElementById('chat-history');\n }\n\n logInitialization() {\n const msg = `~~~~\\nChat\\n~~~~\nModel: ${Settings.getModel()}\nURL: ${Settings.getUrl()}\nChat: ${Settings.getCurrentChatId()}\nParameters: ${JSON.stringify(Settings.getModelParameters())}\n`;\n console.log(msg);\n }\n\n render() {\n this.sidebar.render();\n this.chatArea.render();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected);\n // this.sendButton.addEventListener('click', this.sendMessage.bind(this));\n this.abortButton.addEventListener('click', this.handleAbort.bind(this));\n this.messageInput.addEventListener(\n 'keypress',\n this.handleKeyPress.bind(this),\n );\n }\n\n handleChatSelected = (chat) => {\n window.history.pushState({}, '', `/chats/${chat.id}`);\n };\n\n handleAbort = () => {\n this.ollamaApi.abort();\n this.enableForm();\n console.log('Request aborted');\n };\n\n handleKeyPress = (event) => {\n if (event.key === 'Enter' && !event.shiftKey) {\n this.sendMessage();\n }\n };\n\n enableForm() {\n DOM.hideElement(this.abortButton).enableInput(this.messageInput);\n this.messageInput.focus();\n }\n\n disableForm() {\n DOM.showElement(this.abortButton).disableInput(this.messageInput);\n }\n\n // https://github.com/jmorganca/ollama/blob/main/docs/api.md#generate-a-completion\n async sendMessage() {\n const userMessage = this.messageInput.value.trim();\n // Get the current chat\n let chat = await AppController.getCurrentChat();\n const url = Settings.getUrl('/api/chat');\n if (!url) {\n UINotification.show(\n 'Please update the URL in the settings to continue. ',\n );\n return null;\n }\n if (userMessage) {\n // Reset input\n this.messageInput.value = '';\n // Create new chat\n if (!chat) {\n chat = await AppController.createChat({\n title: 'Untitled',\n model: Settings.getModel(),\n });\n }\n // Store user message\n await chat.addMessage({\n role: 'user',\n content: userMessage,\n });\n const systemPrompt = Settings.getSystemPrompt();\n const modelParameters = Settings.getModelParameters();\n // Disable form\n this.disableForm();\n // Create user message\n this.createChatMessage({ content: userMessage, role: 'user' });\n // Create system message container\n const responseElement = this.createChatMessage({\n content: '',\n role: 'system',\n });\n const requestContext = {\n chat,\n content: '', // TODO: Move this to the response?\n responseElement,\n };\n const requestData = {\n prompt: userMessage,\n model: chat.model,\n messages: (await chat.getMessages()).map((message) => ({\n role: message.role,\n content: message.content,\n })),\n };\n // Add system prompt\n if (systemPrompt) {\n requestData.system = systemPrompt;\n }\n // Add model parameters\n if (modelParameters) {\n requestData.options = modelParameters;\n }\n // Show spinner\n responseElement.innerHTML = '
';\n // Make request\n this.ollamaApi.send(\n url,\n requestData,\n (request, response) =>\n this.handleResponse(request, response, requestContext),\n (request, error) => this.handleResponseError(request, error),\n (request, response) =>\n this.handleDone(request, response, requestContext),\n );\n }\n }\n\n createChatMessage(message) {\n return this.chatArea.createMessageDiv(message);\n }\n\n handleResponse(request, response, context) {\n const responseElement = context.responseElement;\n const sanitizedContent = this.sanitizeContent(response);\n // Remember original response\n context.content += sanitizedContent;\n responseElement.textContent += sanitizedContent;\n this.chatArea.scrollToEnd();\n }\n\n handleResponseError(request, error) {\n // Ignore \"Abort\" button\n if (error.name !== 'AbortError') {\n console.error(`Error: ${error.message}`);\n }\n this.chatArea.scrollToEnd();\n this.enableForm();\n }\n\n async handleDone(request, response, context) {\n const chat = context.chat;\n console.log(`Chat ${chat.id} done`);\n await chat.addMessage({\n role: 'assistant',\n content: context.content,\n });\n this.enableForm();\n }\n\n sanitizeContent = (content) => {\n // TODO: Sanitization logic here\n return content;\n };\n\n getIdParam = () => {\n return new URL(window.location.href).pathname.split('/').pop();\n };\n}\n","import { App } from './App.js';\nimport { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\n\n// TODO: refactor\nasync function initialize() {\n await Chat.initialize();\n await ChatMessage.initialize();\n}\n\ninitialize().then(() => {\n App.run();\n});\n"]} \ No newline at end of file diff --git a/dist/theme.7fcc2895.css b/dist/theme.7fcc2895.css index 3a1ecad..39f86fc 100644 --- a/dist/theme.7fcc2895.css +++ b/dist/theme.7fcc2895.css @@ -129,11 +129,18 @@ table { border-spacing: 0; } +input, button, textarea, select { + font: inherit; +} + html * { margin: 0; padding: 0; box-sizing: border-box; - font-size: 16px; /* Standard font size for body */ +} + +html { + font-size: 16px; /* Standard font size for body, use rem to modify font-size */ } :root { @@ -144,6 +151,7 @@ html * { --tertiary-color: #eee; --error-color: #ef4040; --bg-color: #fafafa; + --secondary-bg-color: #f0f0f0; --text-color: #333; --text-color-lighten-20: white; --icon-color: var(--primary-color); @@ -155,7 +163,7 @@ html * { --border-color: #d5d8dc; --border-hover-color: #9ca3af; --border-focus-color: #808998; - --box-shadow-color: rgb(196 204 213 / 74.9%); + --box-shadow-color: rgb(196 204 213 / 37%); --box-shadow-modal-color: #444; --modal-header-bg-color: var(--primary-color); } @@ -169,6 +177,7 @@ html * { --tertiary-color: #d1d1d1; --error-color: #ff6b6b; --bg-color: #121212; + --secondary-bg-color: #222; --text-color: #fafafa; --text-color-lighten-20: white; --icon-color: var(--text-color); @@ -180,7 +189,7 @@ html * { --border-color: #9ca7b2; --border-hover-color: #d5dadf; --border-focus-color: #f2f4f5; - --box-shadow-color: rgb(40 48 57 / 74.9%); + --box-shadow-color: rgb(40 48 57 / 30%); --box-shadow-modal-color: #444; --modal-header-bg-color: var(--bg-color); } @@ -267,13 +276,13 @@ h3 { i[class^=icon-] { color: var(--icon-color); - font-size: 12px; + font-size: 0.75rem; vertical-align: middle; } svg { - width: 24px; - height: 24px; + width: 1.5rem; + height: 1.5rem; vertical-align: middle; } @@ -299,7 +308,7 @@ svg { .icon-new::before { content: "+"; - font-size: 14px; + font-size: 0.875rem; } .icon-search::before { @@ -429,9 +438,15 @@ svg { border-bottom: 1px solid var(--border-color); } .modal-header .button { + background-color: var(--light-text-color); border-radius: var(--border-radius); - padding: 0.5rem; + padding: 0.35rem; line-height: 0.5rem; + border-radius: 1rem; +} +.modal-header .button:hover { + position: relative; + top: -1px; } .modal-header h2 { color: var(--light-text-color); @@ -676,6 +691,16 @@ a { text-align: right; } +@media (max-width: 1024px) { + html { + font-size: 0.875rem; + } +} +@media (max-width: 768px) { + html { + font-size: 0.75rem; + } +} .hoverable { visibility: collapse; } @@ -709,7 +734,7 @@ a { } #chat-header { - border-bottom: 1px solid #ccc; + border-bottom: 1px solid #ddd; z-index: 4; } #chat-header .button { @@ -785,7 +810,7 @@ a { border: 0; } #chat-form .icon-send { - font-size: 18px; + font-size: 1.2rem; } #message-input { @@ -816,6 +841,10 @@ a { overflow: auto; } +#chat-menu-button { + background-color: var(--secondary-bg-color); +} + #chat-title { padding: 0.5rem 0.25rem; font-size: 1.2rem; @@ -830,6 +859,7 @@ aside { /* Sidebar styling */ #sidebar { + background-color: var(--secondary-bg-color); border-right: 1px solid rgba(204, 204, 204, 0.368627451); min-width: 200px; max-width: 480px; diff --git a/dist/theme.7fcc2895.css.map b/dist/theme.7fcc2895.css.map index f390a9f..2952ef5 100644 --- a/dist/theme.7fcc2895.css.map +++ b/dist/theme.7fcc2895.css.map @@ -1 +1 @@ -{"version":3,"sources":["css/reset.scss","css/colors.scss","css/placeholders.scss","css/grid.scss","css/typography.scss","css/icons.scss","css/modal.scss","css/form.scss","css/list.scss","css/button.scss","css/utils.scss","css/spinner.scss","css/style.scss","css/Hoverable.scss","css/Tabs.scss","css/ChatApp.scss","css/ChatHeader.scss","css/ChatHistory.scss","css/ChatForm.scss","css/ChatList.scss","css/ChatArea.scss","css/ChatTitle.scss","css/Sidebar.scss","css/DropDownMenu.scss","css/UINotification.scss"],"names":[],"mappings":"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E;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAcJ;EACE;IAEE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;ACjFJ;AACA;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC1BF;EACE;;;AAIA;EACE;;;ACNJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAOF;EACE;;;AClBF;AACA;EACE;EACA;EACA;;;ACJF;EAEE;EAIA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAOF;EACE;EACA;EACA;EACA;EACA;;;AC7BF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;AAKA;AACA;EACE;;;ACjCF;EACE;EACA;EACA;EAGA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AClCF;EACE;;AAEA;EAEE;;;AAQJ;EACE;EAIA;;;AAGF;EAGE;;;ACxBF;EACE;EACA;EACA;EACA;;;ACJF;EAGE;EACA;EACA;EACA;EACA;;;ACPF;EACE;;;AAGF;AACA;EAIE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;;AC5BF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EAIA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAIA;EACE;EACA;;;AC3BJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE","file":"theme.7fcc2895.css","sourceRoot":"..","sourcesContent":["html,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\nsection {\n display: block;\n}\n\nbody {\n line-height: 1;\n}\n\nol,\nul {\n list-style: none;\n}\n\nblockquote,\nq {\n quotes: none;\n}\n\nblockquote::before,\nblockquote::after,\nq::before,\nq::after {\n content: '';\n content: none;\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\nhtml * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-size: 16px; /* Standard font size for body */\n}\n","@use 'sass:color';\n\n// Light theme as default\n:root {\n --primary-color: #393e46;\n --secondary-color: #222831;\n --secondary-color-lighten-20: #{color.adjust(#222831, $lightness:20%)};\n --secondary-color-lighten-40: #{color.adjust(#222831, $lightness:40%)};\n --tertiary-color: #eee;\n --error-color: #ef4040;\n --bg-color: #fafafa;\n --text-color: #333;\n --text-color-lighten-20: #{color.adjust(#eee, $lightness:20%)};\n --icon-color: var(--primary-color);\n --light-text-color: #fff;\n --button-primary-color: var(--primary-color);\n --button-primary-bgcolor: #fff;\n --button-secondary-color: var(--text-color);\n --button-secondary-bgcolor: $bg-color;\n --border-color: #{color.adjust(#393e46, $lightness:60%)};\n --border-hover-color: #{color.adjust(#393e46, $lightness:40%)};\n --border-focus-color: #{color.adjust(#393e46, $lightness:30%)};\n --box-shadow-color: rgb(196 204 213 / 74.9%);\n --box-shadow-modal-color: #444;\n --modal-header-bg-color: var(--primary-color);\n}\n\n// Dark theme for users who prefer dark mode\n@media (prefers-color-scheme: dark) {\n :root {\n --primary-color: #4f5b66;\n --secondary-color: #1c2025;\n --secondary-color-lighten-20: #{color.adjust(#1c2025, $lightness:20%)};\n --secondary-color-lighten-40: #{color.adjust(#1c2025, $lightness:40%)};\n --tertiary-color: #d1d1d1;\n --error-color: #ff6b6b;\n --bg-color: #121212;\n --text-color: #fafafa;\n --text-color-lighten-20: #{color.adjust(#fafafa, $lightness:20%)};\n --icon-color: var(--text-color);\n --light-text-color: #fff;\n --button-primary-color: #fff;\n --button-primary-bgcolor: var(--primary-color);\n --button-secondary-color: var(--text-color);\n --button-secondary-bgcolor: var(--bg-color);\n --border-color: #{color.adjust(#4f5b66, $lightness:30%)};\n --border-hover-color: #{color.adjust(#4f5b66, $lightness:50%)};\n --border-focus-color: #{color.adjust(#4f5b66, $lightness:60%)};\n --box-shadow-color: rgb(40 48 57 / 74.9%);\n --box-shadow-modal-color: #444;\n --modal-header-bg-color: var(--bg-color);\n }\n}\n","%font-weight-light {\n font-variation-settings: 'wght' 300;\n}\n\n%font-weight-bold {\n font-variation-settings: 'wght' 400;\n}\n\n%font-weight-bolder {\n font-variation-settings: 'wght' 600;\n}\n\n%font-weight-boldest {\n font-variation-settings: 'wght' 900;\n}\n\n%box-shadow {\n box-shadow: 0 2px 5px var(--box-shadow-color);\n}\n\n%box-shadow-hover {\n box-shadow: 2px 0 6px var(--box-shadow-color) inset;\n}\n\n%box-shadow-small {\n box-shadow: 0 5px 10px var(--box-shadow-color);\n}\n\n%box-shadow-modal {\n box-shadow: 0 0 15px var(--box-shadow-modal-color);\n}\n\n%text-title {\n @extend %font-weight-boldest;\n\n font-size: 2rem;\n}\n",".row {\n display: flex; /* Use flexbox layout */\n justify-content: space-between; /* Distribute space evenly between the buttons */\n align-items: center; /* Align items vertically */\n width: 100%; /* Container takes full width */\n}\n\n.grw {\n flex-grow: 1;\n}\n\n.grw-6 {\n flex-grow: 6;\n}\n\n.flex-align-end {\n align-self: flex-end;\n}\n\n.justify-left {\n justify-content: left;\n}\n","/* Basic Typography */\nhtml * {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ubuntu, Roboto,\n 'Helvetica Neue', Arial, sans-serif;\n line-height: 1.6;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n font-weight: 600;\n}\n\n/* Heading styles */\nh1 {\n font-size: 2rem;\n}\n\nh2 {\n font-size: 1.5rem;\n}\n\nh3 {\n font-size: 1.25rem;\n}\n",".icon {\n margin-right: 0.25rem;\n}\n\ni[class^='icon-'] {\n color: var(--icon-color);\n font-size: 12px;\n vertical-align: middle;\n}\n\nsvg {\n width: 24px;\n height: 24px;\n vertical-align: middle;\n}\n\n.icon-close::before {\n content: '\\00D7';\n}\n\n.icon-download::before {\n content: '\\1F4BE';\n}\n\n.icon-copy::before {\n content: '\\1F4CB';\n}\n\n.icon-selected::before {\n content: '\\203A';\n}\n\n.icon-edit::before {\n content: '\\1F58B';\n}\n\n.icon-new::before {\n content: '\\002B';\n font-size: 14px;\n}\n\n.icon-search::before {\n content: '\\1F50D'; /* Unicode character for 🔍 */\n}\n\n.icon-clear::before {\n content: '\\1F5D1'; /* Unicode for wastebasket */\n}\n\n.icon-settings::before {\n content: '\\1F6E0'; /* Unicode for wrench */\n}\n\n.icon-refresh::before {\n content: '\\21BB';\n}\n\n.icon-send::before {\n content: '\\1F4E9';\n}\n\n.icon-delete::before {\n content: '\\274C';\n}\n\n.icon-abort::before {\n content: '\\00D7';\n color: var(--red);\n}\n\n.icon-save::before {\n content: '\\1F4BE'; /* Unicode for floppy */\n}\n\n.icon-menu::before {\n content: '\\22EF'; /* Unicode character for three dots */\n}\n\n.icon-user::before {\n content: '\\1F464'; /* Unicode for 👤 */\n}\n\n.icon-robot::before {\n content: '\\1F916'; /* Unicode for 🤖 */\n}\n\n.icon-speech::before {\n content: '\\1F4AC';\n}\n\n.icon-speech2::before {\n content: '\\1F5E8'; /* Unicode for 🗨️ */\n}\n\n.icon-scroll-to-top::before {\n content: '\\21A5';\n}\n\n.icon-scroll-to-end::before {\n content: '\\21A7';\n}\n\n// Light theme\n:root {\n svg rect {\n fill: var(--text-color);\n stroke: var(--bg-color);\n }\n\n .icon-settings rect {\n stroke: var(--text-color);\n fill: var(--bg-color);\n }\n}\n\n// Dark theme\n@media (prefers-color-scheme: dark) {\n :root {\n svg rect {\n fill: var(--text-color);\n stroke: var(--bg-color);\n }\n }\n}\n\n/*\n.icon-gpt {\n display: inline-block;\n width: 24px;\n height: 24px;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaWNvbi1tZCI+PGNpcmNsZSBjeD0iNi43NSIgY3k9IjYuNzUiIHI9IjMuMjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjE3LjI1IiBjeT0iNi43NSIgcj0iMy4yNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PC9jaXJjbGU+PGNpcmNsZSBjeD0iNi43NSIgY3k9IjE3LjI1IiByPSIzLjI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNy4yNSIgY3k9IjE3LjI1IiByPSIzLjI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48L2NpcmNsZT48L3N2Zz4=');\n}\n\n.icon-models {\n display: inline-block;\n width: 24px;\n height: 24px;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaWNvbi1tZCI+CiAgPHJlY3QgeD0iNC4yNSIgeT0iNC4yNSIgd2lkdGg9IjUiIGhlaWdodD0iNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PC9yZWN0PgogIDxyZWN0IHg9IjE0Ljc1IiB5PSI0LjI1IiB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48L3JlY3Q+CiAgPHJlY3QgeD0iNC4yNSIgeT0iMTQuNzUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjwvcmVjdD4KICA8cmVjdCB4PSIxNC43NSIgeT0iMTQuNzUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjwvcmVjdD4KPC9zdmc+Cg==');\n}\n\n.icon-chats {\n display: inline-block;\n\n //background-image: url('data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjUwIiBoZWlnaHQ9IjMwIiB2aWV3Qm94PSIwIDAgNTAgMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPCEtLSBSb3VuZGVkIFJlY3RhbmdsZSBmb3IgdGhlIEJ1YmJsZSAtLT4KICA8cmVjdCB4PSIxIiB5PSIxIiB3aWR0aD0iNDgiIGhlaWdodD0iMjAiIHJ4PSIxMCIgcnk9IjEwIiBzdHJva2U9ImJsYWNrIiBmaWxsPSJ0cmFuc3BhcmVudCIgc3Ryb2tlLXdpZHRoPSIyIi8+CgogIDwhLS0gVGFpbCBvZiB0aGUgU3BlZWNoIEJ1YmJsZSAtLT4KICA8cGF0aCBkPSJNIDIwLDIxIEwgMjUsMjUgTCAzMCwyMSBaIiBmaWxsPSJ0cmFuc3BhcmVudCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIi8+Cjwvc3ZnPgo=');\n background-image: url('data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9Imljb24tbWQiPgogIDxwb2x5Z29uIHBvaW50cz0iNC4yNSw0LjI1IDkuMjUsNC4yNSA2Ljc1LDkuMjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiPjwvcG9seWdvbj4KICA8cG9seWdvbiBwb2ludHM9IjE0Ljc1LDQuMjUgMTkuNzUsNC4yNSAxNy4yNSw5LjI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIj48L3BvbHlnb24+CiAgPHBvbHlnb24gcG9pbnRzPSI0LjI1LDE0Ljc1IDkuMjUsMTQuNzUgNi43NSwxOS43NSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSI+PC9wb2x5Z29uPgogIDxwb2x5Z29uIHBvaW50cz0iMTQuNzUsMTQuNzUgMTkuNzUsMTQuNzUgMTcuMjUsMTkuNzUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiPjwvcG9seWdvbj4KPC9zdmc+Cg==');\n width: 24px;\n height: 24px;\n}\n\n.icon-hamburger {\n background-image: url('data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDwhLS0gVG9wIFN0cmlwZSAtLT4KICA8cmVjdCB4PSI0IiB5PSI2IiB3aWR0aD0iMTYiIGhlaWdodD0iMiIgZmlsbD0iYmxhY2siPjwvcmVjdD4KCiAgPCEtLSBNaWRkbGUgU3RyaXBlIC0tPgogIDxyZWN0IHg9IjQiIHk9IjExIiB3aWR0aD0iMTYiIGhlaWdodD0iMiIgZmlsbD0iYmxhY2siPjwvcmVjdD4KCiAgPCEtLSBCb3R0b20gU3RyaXBlIC0tPgogIDxyZWN0IHg9IjQiIHk9IjE2IiB3aWR0aD0iMTYiIGhlaWdodD0iMiIgZmlsbD0iYmxhY2siPjwvcmVjdD4KPC9zdmc+Cg==');\n width: 24px;\n height: 24px;\n background-size: contain;\n background-repeat: no-repeat;\n}\n*/\n",".modal {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgb(0 0 0 / 50%); /* semi-transparent background */\n z-index: 1000; /* ensures modal is on top */\n overflow: scroll;\n}\n\n.modal-header {\n font-weight: 700;\n background-color: var(--modal-header-bg-color);\n padding: 0 1rem;\n border-bottom: 1px solid var(--border-color);\n\n .button {\n border-radius: var(--border-radius);\n padding: 0.5rem;\n line-height: 0.5rem;\n }\n\n h2 {\n color: var(--light-text-color);\n\n @extend %font-weight-boldest;\n }\n}\n\n.modal-content {\n background: var(--bg-color);\n width: 640px;\n min-width: 320px;\n max-width: 50vw;\n margin: auto; /* Center the modal */\n // border-radius: 2px;\n // overflow: hidden; /* Ensures the border-radius applies to children */\n @extend %box-shadow-modal;\n}\n\n.modal-body {\n padding: 1rem;\n}\n\n.modal.show {\n z-index: 20000;\n display: flex;\n}\n","label {\n @extend %font-weight-boldest;\n\n padding-bottom: 0.5rem;\n display: block;\n}\n\ntextarea {\n padding: 0.5rem;\n resize: none;\n}\n\ninput,\ntextarea {\n width: 100%;\n padding: 0.5rem 0.75rem;\n display: inline-block;\n border: 1px solid var(--border-color);\n}\n\ninput.error,\ntextarea.error {\n border: 1px solid var(--error-color) !important;\n}\n\ninput:focus,\ntextarea:focus,\n[contenteditable]:focus {\n border: 1px solid var(--border-color);\n border-color: var(--secondary-color-lighten-40);\n outline: none !important;\n\n @extend %box-shadow-hover;\n}\n\ninput:hover,\ntextarea:hover {\n border: 1px solid var(--secondary-color-lighten-40);\n}\n\n.input {\n margin-bottom: 0.5rem;\n}\n","/* Styling for lists */\nul {\n display: flex;\n flex-direction: column;\n width: 100%;\n\n li {\n position: relative;\n display: flex; /* Use flexbox layout */\n justify-content: left;\n padding: 0.5rem 0.75rem;\n cursor: pointer;\n width: 100%;\n white-space: nowrap; /* Prevent text from wrapping */\n\n .col {\n overflow: hidden; /* Hide overflowing text */\n text-overflow: ''; /* Display ellipsis (...) for overflowing text */\n }\n\n button {\n padding: 0 0.5rem;\n visibility: hidden;\n }\n\n /*\n .list-item-edit:after {\n content: \"...\"; // \\00a0 is a non-breaking space\n }\n */\n }\n\n li.selected {\n @extend %font-weight-boldest;\n\n // NOTE: Should match #chat-header border-bottom\n border-top: 1px solid #cccccc5e;\n }\n\n li.selected::after {\n position: absolute;\n right: 1rem;\n padding-left: 0.5rem;\n content: '\\203A\\00a0'; // \\00a0 is a non-breaking space\n }\n\n li.hover {\n button {\n visibility: visible;\n }\n }\n\n li.hover::after {\n display: none;\n }\n}\n","button {\n background-color: var(--button-secondary-bgcolor);\n z-index: 1;\n padding: 0.75rem 1rem;\n border: none;\n cursor: pointer;\n\n i {\n width: 1rem; // Center the icon\n display: inline-block;\n }\n}\n\nbutton:hover,\nbutton.selected {\n @extend %box-shadow-hover;\n}\n\n.button-small {\n padding: 0.25rem 1rem;\n}\n\n.button-mini {\n padding: 0;\n}\n\n/* Primary button */\n.button-primary {\n @extend %font-weight-boldest;\n @extend %box-shadow;\n}\n\n.buttons {\n display: flex;\n\n .button {\n border-radius: 0;\n width: 100%;\n }\n}\n\n.button-large {\n padding: 0 2rem;\n}\n","/* Utilities */\n.hidden {\n display: none;\n}\n\n.float-right {\n float: right;\n}\n\n.mt-1 {\n margin-top: 0.5rem;\n}\n\n.d-inline {\n display: inline-block;\n}\n\n.d-block {\n display: block;\n}\n","%spinner {\n border: 2px solid #f3f3f3;\n border-top: 2px solid var(--primary-color);\n border-radius: 50%;\n width: 20px;\n height: 20px;\n animation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n%dot {\n width: 1rem;\n height: 1rem;\n background-color: var(--blue);\n border-radius: 50%;\n animation: pulse 2s infinite;\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n\n 50% {\n transform: scale(1.3);\n opacity: 0.7;\n }\n\n 100% {\n transform: scale(0.9);\n opacity: 0.8;\n }\n}\n\n%dot2 {\n width: 24px;\n height: 24px;\n background-color: blue;\n border-radius: 50%;\n animation:\n pulse 2s infinite,\n change-color 4s infinite;\n}\n\n@keyframes pulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n\n 50% {\n transform: scale(1.2);\n opacity: 0.7;\n }\n}\n\n@keyframes change-color {\n 0% {\n background-color: blue;\n }\n\n 33% {\n background-color: red;\n }\n\n 67% {\n background-color: green;\n }\n\n 100% {\n background-color: blue;\n }\n}\n\n.waiting {\n @extend %spinner;\n}\n","/* General styling */\nbody,\nhtml {\n margin: 0;\n padding: 0;\n height: 100%;\n}\n\nbody {\n color: var(--text-color);\n background-color: var(--bg-color);\n}\n\n.chat-link {\n display: inline-block;\n}\n\na {\n text-decoration: none;\n}\n\n.max-width-80 {\n max-width: 80%;\n}\n\n.text-right {\n text-align: right;\n}\n",".hoverable {\n visibility: collapse;\n}\n\n.hover {\n .hoverable {\n visibility: visible;\n }\n}\n",".tab-container {\n display: flex;\n border: 1px solid #ccc;\n}\n\n.tab-button {\n padding: 10px 20px;\n cursor: pointer;\n background-color: #f0f0f0;\n border: none;\n outline: none;\n}\n\n.active-tab-button {\n @extend %box-shadow;\n}\n\n.tab-content {\n display: none;\n}\n","/* Chat app container */\n#chat-app {\n display: flex;\n height: 100vh;\n flex-direction: column;\n}\n","#chat-header {\n // NOTE: Should match #chat-form border-top\n border-bottom: 1px solid #ccc;\n\n @extend %box-shadow;\n\n z-index: 4;\n\n .button {\n height: 100%;\n }\n}\n\n.hamburger-menu {\n cursor: pointer;\n padding-left: 0.75rem;\n padding-right: 0.5rem;\n display: inline-block;\n}\n\n.hamburger-menu:hover {\n @extend %box-shadow;\n}\n\n.hamburger-menu .bar {\n width: 1.5rem;\n height: 2px;\n background-color: #333;\n margin: 6px 0;\n transition: 0.4s;\n}\n","/* Chat history */\n#chat-history {\n mask-image: linear-gradient(180deg, var(--white) 95%, transparent);\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n padding: 1rem;\n max-width: 1024px;\n width: 100%; /* Full width of its parent */\n overflow-y: auto; /* Enable vertical scrolling */\n}\n\n/* Base styling for all messages */\n.chat-message {\n padding: 0.5rem;\n padding-top: 0;\n position: relative;\n\n .drop-down-menu {\n z-index: 100;\n position: absolute;\n top: 0;\n right: 0;\n }\n}\n\n/* Styling for user messages */\n.user-chat-message {\n @extend %font-weight-bolder;\n}\n\n/* Styling for system messages */\n.assistant-chat-message {\n margin-bottom: 0.5rem;\n}\n","#chat-form {\n flex: 0 0 60px; /* fixed height */\n display: flex;\n align-items: center;\n\n // NOTE: Should match #chat-header border-bottom\n border-top: 1px solid #cccccc5e;\n\n .textarea {\n height: 100%;\n width: 100%;\n display: flex;\n flex-grow: 1;\n }\n\n .buttons {\n display: flex;\n position: relative;\n height: 100%;\n }\n\n textarea {\n padding: 1rem;\n resize: none;\n border: 0;\n }\n\n .icon-send {\n font-size: 18px;\n }\n}\n\n#message-input {\n width: 100%;\n padding: 0.25rem;\n}\n",".chat-list-item {\n z-index: 2;\n\n .chat-title {\n // text-overflow: ellipsis;\n mask-image: linear-gradient(\n 90deg,\n var(--white) 95%,\n transparent\n ); // Fade out title instead of ellipsis\n }\n}\n\n.list-item.selected {\n background: var(--white);\n\n @extend %box-shadow;\n\n z-index: 2;\n}\n\n.list-item.hover {\n @extend %box-shadow-hover;\n\n z-index: 3;\n}\n","#chat-area {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n overflow: auto;\n}\n","#chat-title {\n @extend %font-weight-boldest;\n\n padding: 0.5rem 0.25rem;\n font-size: 1.2rem;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n","aside {\n padding: 1rem;\n}\n\n/* Sidebar styling */\n#sidebar {\n @extend %box-shadow;\n\n // NOTE: This should be the same as chat-header border-bottom\n border-right: 1px solid #cccccc5e;\n min-width: 200px;\n max-width: 480px;\n overflow-y: auto;\n\n .buttons {\n width: 100%;\n display: flex;\n flex-grow: 1;\n }\n}\n\n#search-input {\n padding-left: 0.75rem;\n}\n\n#sidebar.collapsed {\n max-width: 0;\n display: none;\n padding: 0;\n}\n",".drop-down-menu {\n position: relative;\n}\n\n.drop-down-menu-items {\n background: var(--bg-color);\n position: absolute;\n top: 100%; /* Position below the button */\n display: none; /* Hide initially */\n\n @extend %box-shadow;\n\n left: 0;\n\n .text {\n padding: 0.5rem;\n }\n}\n\n.drop-down-menu-items.visible {\n z-index: 10000;\n display: inline-block;\n}\n\n.drop-down-menu-right {\n .drop-down-menu-items {\n right: 0 !important;\n left: auto;\n }\n}\n",".notification {\n position: fixed;\n top: 0;\n left: 0;\n color: var(--bg-color);\n width: calc(100vw - 2rem);\n z-index: 30000;\n background-color: var(--bg-color);\n padding: 1rem;\n margin: 1rem;\n\n @extend %box-shadow-modal;\n\n border-radius: var(--border-radius);\n\n .button {\n border-radius: 2px;\n padding: 0.5rem;\n line-height: 0.5rem;\n }\n}\n\n.notification-error {\n background: var(--error-color);\n}\n"]} \ No newline at end of file +{"version":3,"sources":["css/reset.scss","css/colors.scss","css/placeholders.scss","css/grid.scss","css/typography.scss","css/icons.scss","css/modal.scss","css/form.scss","css/list.scss","css/button.scss","css/utils.scss","css/spinner.scss","css/style.scss","css/responsive.scss","css/Hoverable.scss","css/Tabs.scss","css/ChatApp.scss","css/ChatHeader.scss","css/ChatHistory.scss","css/ChatForm.scss","css/ChatList.scss","css/ChatArea.scss","css/ChatTitle.scss","css/Sidebar.scss","css/DropDownMenu.scss","css/UINotification.scss"],"names":[],"mappings":"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A;EACA;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAYJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;AAcJ;EACE;IAEE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;ACjFJ;AACA;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC1BF;EACE;IACE;;;AAIJ;EACE;IACE;;;ACRJ;EACE;;;AAIA;EACE;;;ACNJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAOF;EACE;;;AClBF;AACA;EACE;EACA;EACA;;;ACJF;EAEE;EAIA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAOF;EACE;EACA;EACA;EACA;EACA;;;AC7BF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;AAKA;AACA;EACE;;;ACjCF;EACE;EACA;EACA;EAGA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AClCF;EACE;;AAEA;EAEE;;;AAQJ;EACE;EAIA;;;AAGF;EAGE;;;ACxBF;EACE;EACA;EACA;EACA;;;AAIF;EACE;;;ACTF;EAGE;EACA;EACA;EACA;EACA;;;ACPF;EACE;;;AAGF;AACA;EAEE;EAGA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;;AC7BF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EAIA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAIA;EACE;EACA;;;AC3BJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE","file":"theme.7fcc2895.css","sourceRoot":"..","sourcesContent":["html,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\nsection {\n display: block;\n}\n\nbody {\n line-height: 1;\n}\n\nol,\nul {\n list-style: none;\n}\n\nblockquote,\nq {\n quotes: none;\n}\n\nblockquote::before,\nblockquote::after,\nq::before,\nq::after {\n content: '';\n content: none;\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ninput, button, textarea, select {\n font: inherit;\n}\n\n// Remove padding of everything and make border-box the default\nhtml * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nhtml {\n font-size: 16px; /* Standard font size for body, use rem to modify font-size */\n}\n","@use 'sass:color';\n\n// Light theme as default\n:root {\n --primary-color: #393e46;\n --secondary-color: #222831;\n --secondary-color-lighten-20: #{color.adjust(#222831, $lightness:20%)};\n --secondary-color-lighten-40: #{color.adjust(#222831, $lightness:40%)};\n --tertiary-color: #eee;\n --error-color: #ef4040;\n --bg-color: #fafafa;\n --secondary-bg-color: #f0f0f0;\n --text-color: #333;\n --text-color-lighten-20: #{color.adjust(#eee, $lightness:20%)};\n --icon-color: var(--primary-color);\n --light-text-color: #fff;\n --button-primary-color: var(--primary-color);\n --button-primary-bgcolor: #fff;\n --button-secondary-color: var(--text-color);\n --button-secondary-bgcolor: $bg-color;\n --border-color: #{color.adjust(#393e46, $lightness:60%)};\n --border-hover-color: #{color.adjust(#393e46, $lightness:40%)};\n --border-focus-color: #{color.adjust(#393e46, $lightness:30%)};\n --box-shadow-color: rgb(196 204 213 / 37%);\n --box-shadow-modal-color: #444;\n --modal-header-bg-color: var(--primary-color);\n}\n\n// Dark theme for users who prefer dark mode\n@media (prefers-color-scheme: dark) {\n :root {\n --primary-color: #4f5b66;\n --secondary-color: #1c2025;\n --secondary-color-lighten-20: #{color.adjust(#1c2025, $lightness:20%)};\n --secondary-color-lighten-40: #{color.adjust(#1c2025, $lightness:40%)};\n --tertiary-color: #d1d1d1;\n --error-color: #ff6b6b;\n --bg-color: #121212;\n --secondary-bg-color: #222;\n --text-color: #fafafa;\n --text-color-lighten-20: #{color.adjust(#fafafa, $lightness:20%)};\n --icon-color: var(--text-color);\n --light-text-color: #fff;\n --button-primary-color: #fff;\n --button-primary-bgcolor: var(--primary-color);\n --button-secondary-color: var(--text-color);\n --button-secondary-bgcolor: var(--bg-color);\n --border-color: #{color.adjust(#4f5b66, $lightness:30%)};\n --border-hover-color: #{color.adjust(#4f5b66, $lightness:50%)};\n --border-focus-color: #{color.adjust(#4f5b66, $lightness:60%)};\n --box-shadow-color: rgb(40 48 57 / 30%);\n --box-shadow-modal-color: #444;\n --modal-header-bg-color: var(--bg-color);\n }\n}\n","%font-weight-light {\n font-variation-settings: 'wght' 300;\n}\n\n%font-weight-bold {\n font-variation-settings: 'wght' 400;\n}\n\n%font-weight-bolder {\n font-variation-settings: 'wght' 600;\n}\n\n%font-weight-boldest {\n font-variation-settings: 'wght' 900;\n}\n\n%box-shadow {\n box-shadow: 0 2px 5px var(--box-shadow-color);\n}\n\n%box-shadow-hover {\n box-shadow: 2px 0 6px var(--box-shadow-color) inset;\n}\n\n%box-shadow-small {\n box-shadow: 0 5px 10px var(--box-shadow-color);\n}\n\n%box-shadow-modal {\n box-shadow: 0 0 15px var(--box-shadow-modal-color);\n}\n\n%text-title {\n @extend %font-weight-boldest;\n\n font-size: 2rem;\n}\n",".row {\n display: flex; /* Use flexbox layout */\n justify-content: space-between; /* Distribute space evenly between the buttons */\n align-items: center; /* Align items vertically */\n width: 100%; /* Container takes full width */\n}\n\n.grw {\n flex-grow: 1;\n}\n\n.grw-6 {\n flex-grow: 6;\n}\n\n.flex-align-end {\n align-self: flex-end;\n}\n\n.justify-left {\n justify-content: left;\n}\n","/* Basic Typography */\nhtml * {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Ubuntu, Roboto,\n 'Helvetica Neue', Arial, sans-serif;\n line-height: 1.6;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n font-weight: 600;\n}\n\n/* Heading styles */\nh1 {\n font-size: 2rem;\n}\n\nh2 {\n font-size: 1.5rem;\n}\n\nh3 {\n font-size: 1.25rem;\n}\n",".icon {\n margin-right: 0.25rem;\n}\n\ni[class^='icon-'] {\n color: var(--icon-color);\n font-size: 0.75rem;\n vertical-align: middle;\n}\n\nsvg {\n width: 1.5rem;\n height: 1.5rem;\n vertical-align: middle;\n}\n\n.icon-close::before {\n content: '\\00D7';\n}\n\n.icon-download::before {\n content: '\\1F4BE';\n}\n\n.icon-copy::before {\n content: '\\1F4CB';\n}\n\n.icon-selected::before {\n content: '\\203A';\n}\n\n.icon-edit::before {\n content: '\\1F58B';\n}\n\n.icon-new::before {\n content: '\\002B';\n font-size: 0.875rem;\n}\n\n.icon-search::before {\n content: '\\1F50D'; /* Unicode character for 🔍 */\n}\n\n.icon-clear::before {\n content: '\\1F5D1'; /* Unicode for wastebasket */\n}\n\n.icon-settings::before {\n content: '\\1F6E0'; /* Unicode for wrench */\n}\n\n.icon-refresh::before {\n content: '\\21BB';\n}\n\n.icon-send::before {\n content: '\\1F4E9';\n}\n\n.icon-delete::before {\n content: '\\274C';\n}\n\n.icon-abort::before {\n content: '\\00D7';\n color: var(--red);\n}\n\n.icon-save::before {\n content: '\\1F4BE'; /* Unicode for floppy */\n}\n\n.icon-menu::before {\n content: '\\22EF'; /* Unicode character for three dots */\n}\n\n.icon-user::before {\n content: '\\1F464'; /* Unicode for 👤 */\n}\n\n.icon-robot::before {\n content: '\\1F916'; /* Unicode for 🤖 */\n}\n\n.icon-speech::before {\n content: '\\1F4AC';\n}\n\n.icon-speech2::before {\n content: '\\1F5E8'; /* Unicode for 🗨️ */\n}\n\n.icon-scroll-to-top::before {\n content: '\\21A5';\n}\n\n.icon-scroll-to-end::before {\n content: '\\21A7';\n}\n\n// Light theme\n:root {\n svg rect {\n fill: var(--text-color);\n stroke: var(--bg-color);\n }\n\n .icon-settings rect {\n stroke: var(--text-color);\n fill: var(--bg-color);\n }\n}\n\n// Dark theme\n@media (prefers-color-scheme: dark) {\n :root {\n svg rect {\n fill: var(--text-color);\n stroke: var(--bg-color);\n }\n }\n}\n\n/*\n.icon-gpt {\n display: inline-block;\n width: 24px;\n height: 24px;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaWNvbi1tZCI+PGNpcmNsZSBjeD0iNi43NSIgY3k9IjYuNzUiIHI9IjMuMjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjE3LjI1IiBjeT0iNi43NSIgcj0iMy4yNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PC9jaXJjbGU+PGNpcmNsZSBjeD0iNi43NSIgY3k9IjE3LjI1IiByPSIzLjI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNy4yNSIgY3k9IjE3LjI1IiByPSIzLjI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48L2NpcmNsZT48L3N2Zz4=');\n}\n\n.icon-models {\n display: inline-block;\n width: 24px;\n height: 24px;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaWNvbi1tZCI+CiAgPHJlY3QgeD0iNC4yNSIgeT0iNC4yNSIgd2lkdGg9IjUiIGhlaWdodD0iNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PC9yZWN0PgogIDxyZWN0IHg9IjE0Ljc1IiB5PSI0LjI1IiB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48L3JlY3Q+CiAgPHJlY3QgeD0iNC4yNSIgeT0iMTQuNzUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjwvcmVjdD4KICA8cmVjdCB4PSIxNC43NSIgeT0iMTQuNzUiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjwvcmVjdD4KPC9zdmc+Cg==');\n}\n\n.icon-chats {\n display: inline-block;\n\n //background-image: url('data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjUwIiBoZWlnaHQ9IjMwIiB2aWV3Qm94PSIwIDAgNTAgMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPCEtLSBSb3VuZGVkIFJlY3RhbmdsZSBmb3IgdGhlIEJ1YmJsZSAtLT4KICA8cmVjdCB4PSIxIiB5PSIxIiB3aWR0aD0iNDgiIGhlaWdodD0iMjAiIHJ4PSIxMCIgcnk9IjEwIiBzdHJva2U9ImJsYWNrIiBmaWxsPSJ0cmFuc3BhcmVudCIgc3Ryb2tlLXdpZHRoPSIyIi8+CgogIDwhLS0gVGFpbCBvZiB0aGUgU3BlZWNoIEJ1YmJsZSAtLT4KICA8cGF0aCBkPSJNIDIwLDIxIEwgMjUsMjUgTCAzMCwyMSBaIiBmaWxsPSJ0cmFuc3BhcmVudCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIi8+Cjwvc3ZnPgo=');\n background-image: url('data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9Imljb24tbWQiPgogIDxwb2x5Z29uIHBvaW50cz0iNC4yNSw0LjI1IDkuMjUsNC4yNSA2Ljc1LDkuMjUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiPjwvcG9seWdvbj4KICA8cG9seWdvbiBwb2ludHM9IjE0Ljc1LDQuMjUgMTkuNzUsNC4yNSAxNy4yNSw5LjI1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIj48L3BvbHlnb24+CiAgPHBvbHlnb24gcG9pbnRzPSI0LjI1LDE0Ljc1IDkuMjUsMTQuNzUgNi43NSwxOS43NSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSI+PC9wb2x5Z29uPgogIDxwb2x5Z29uIHBvaW50cz0iMTQuNzUsMTQuNzUgMTkuNzUsMTQuNzUgMTcuMjUsMTkuNzUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiPjwvcG9seWdvbj4KPC9zdmc+Cg==');\n width: 24px;\n height: 24px;\n}\n\n.icon-hamburger {\n background-image: url('data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDwhLS0gVG9wIFN0cmlwZSAtLT4KICA8cmVjdCB4PSI0IiB5PSI2IiB3aWR0aD0iMTYiIGhlaWdodD0iMiIgZmlsbD0iYmxhY2siPjwvcmVjdD4KCiAgPCEtLSBNaWRkbGUgU3RyaXBlIC0tPgogIDxyZWN0IHg9IjQiIHk9IjExIiB3aWR0aD0iMTYiIGhlaWdodD0iMiIgZmlsbD0iYmxhY2siPjwvcmVjdD4KCiAgPCEtLSBCb3R0b20gU3RyaXBlIC0tPgogIDxyZWN0IHg9IjQiIHk9IjE2IiB3aWR0aD0iMTYiIGhlaWdodD0iMiIgZmlsbD0iYmxhY2siPjwvcmVjdD4KPC9zdmc+Cg==');\n width: 24px;\n height: 24px;\n background-size: contain;\n background-repeat: no-repeat;\n}\n*/\n",".modal {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgb(0 0 0 / 50%); /* semi-transparent background */\n z-index: 1000; /* ensures modal is on top */\n overflow: scroll;\n}\n\n.modal-header {\n font-weight: 700;\n background-color: var(--modal-header-bg-color);\n padding: 0 1rem;\n border-bottom: 1px solid var(--border-color);\n\n .button {\n background-color: var(--light-text-color);\n border-radius: var(--border-radius);\n padding: 0.35rem;\n line-height: 0.5rem;\n border-radius: 1rem;\n }\n\n .button:hover {\n position: relative;\n top: -1px;\n }\n\n h2 {\n color: var(--light-text-color);\n\n @extend %font-weight-boldest;\n }\n}\n\n.modal-content {\n background: var(--bg-color);\n width: 640px;\n min-width: 320px;\n max-width: 50vw;\n margin: auto; /* Center the modal */\n // border-radius: 2px;\n // overflow: hidden; /* Ensures the border-radius applies to children */\n @extend %box-shadow-modal;\n}\n\n.modal-body {\n padding: 1rem;\n}\n\n.modal.show {\n z-index: 20000;\n display: flex;\n}\n","label {\n @extend %font-weight-boldest;\n\n padding-bottom: 0.5rem;\n display: block;\n}\n\ntextarea {\n padding: 0.5rem;\n resize: none;\n}\n\ninput,\ntextarea {\n width: 100%;\n padding: 0.5rem 0.75rem;\n display: inline-block;\n border: 1px solid var(--border-color);\n}\n\ninput.error,\ntextarea.error {\n border: 1px solid var(--error-color) !important;\n}\n\ninput:focus,\ntextarea:focus,\n[contenteditable]:focus {\n border: 1px solid var(--border-color);\n border-color: var(--secondary-color-lighten-40);\n outline: none !important;\n\n @extend %box-shadow-hover;\n}\n\ninput:hover,\ntextarea:hover {\n border: 1px solid var(--secondary-color-lighten-40);\n}\n\n.input {\n margin-bottom: 0.5rem;\n}\n","/* Styling for lists */\nul {\n display: flex;\n flex-direction: column;\n width: 100%;\n\n li {\n position: relative;\n display: flex; /* Use flexbox layout */\n justify-content: left;\n padding: 0.5rem 0.75rem;\n cursor: pointer;\n width: 100%;\n white-space: nowrap; /* Prevent text from wrapping */\n\n .col {\n overflow: hidden; /* Hide overflowing text */\n text-overflow: ''; /* Display ellipsis (...) for overflowing text */\n }\n\n button {\n padding: 0 0.5rem;\n visibility: hidden;\n }\n\n /*\n .list-item-edit:after {\n content: \"...\"; // \\00a0 is a non-breaking space\n }\n */\n }\n\n li.selected {\n @extend %font-weight-boldest;\n\n // NOTE: Should match #chat-header border-bottom\n border-top: 1px solid #cccccc5e;\n }\n\n li.selected::after {\n position: absolute;\n right: 1rem;\n padding-left: 0.5rem;\n content: '\\203A\\00a0'; // \\00a0 is a non-breaking space\n }\n\n li.hover {\n button {\n visibility: visible;\n }\n }\n\n li.hover::after {\n display: none;\n }\n}\n","button {\n background-color: var(--button-secondary-bgcolor);\n z-index: 1;\n padding: 0.75rem 1rem;\n border: none;\n cursor: pointer;\n\n i {\n width: 1rem; // Center the icon\n display: inline-block;\n }\n}\n\nbutton:hover,\nbutton.selected {\n @extend %box-shadow-hover;\n}\n\n.button-small {\n padding: 0.25rem 1rem;\n}\n\n.button-mini {\n padding: 0;\n}\n\n/* Primary button */\n.button-primary {\n @extend %font-weight-boldest;\n @extend %box-shadow;\n}\n\n.buttons {\n display: flex;\n\n .button {\n border-radius: 0;\n width: 100%;\n }\n}\n\n.button-large {\n padding: 0 2rem;\n}\n","/* Utilities */\n.hidden {\n display: none;\n}\n\n.float-right {\n float: right;\n}\n\n.mt-1 {\n margin-top: 0.5rem;\n}\n\n.d-inline {\n display: inline-block;\n}\n\n.d-block {\n display: block;\n}\n","%spinner {\n border: 2px solid #f3f3f3;\n border-top: 2px solid var(--primary-color);\n border-radius: 50%;\n width: 20px;\n height: 20px;\n animation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n%dot {\n width: 1rem;\n height: 1rem;\n background-color: var(--blue);\n border-radius: 50%;\n animation: pulse 2s infinite;\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n\n 50% {\n transform: scale(1.3);\n opacity: 0.7;\n }\n\n 100% {\n transform: scale(0.9);\n opacity: 0.8;\n }\n}\n\n%dot2 {\n width: 24px;\n height: 24px;\n background-color: blue;\n border-radius: 50%;\n animation:\n pulse 2s infinite,\n change-color 4s infinite;\n}\n\n@keyframes pulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n\n 50% {\n transform: scale(1.2);\n opacity: 0.7;\n }\n}\n\n@keyframes change-color {\n 0% {\n background-color: blue;\n }\n\n 33% {\n background-color: red;\n }\n\n 67% {\n background-color: green;\n }\n\n 100% {\n background-color: blue;\n }\n}\n\n.waiting {\n @extend %spinner;\n}\n","/* General styling */\nbody,\nhtml {\n margin: 0;\n padding: 0;\n height: 100%;\n}\n\nbody {\n color: var(--text-color);\n background-color: var(--bg-color);\n}\n\n.chat-link {\n display: inline-block;\n}\n\na {\n text-decoration: none;\n}\n\n.max-width-80 {\n max-width: 80%;\n}\n\n.text-right {\n text-align: right;\n}\n","@media (max-width: 1024px) {\n html {\n font-size: 0.875rem;\n }\n}\n\n@media (max-width: 768px) {\n html {\n font-size: 0.75rem;\n }\n}\n",".hoverable {\n visibility: collapse;\n}\n\n.hover {\n .hoverable {\n visibility: visible;\n }\n}\n",".tab-container {\n display: flex;\n border: 1px solid #ccc;\n}\n\n.tab-button {\n padding: 10px 20px;\n cursor: pointer;\n background-color: #f0f0f0;\n border: none;\n outline: none;\n}\n\n.active-tab-button {\n @extend %box-shadow;\n}\n\n.tab-content {\n display: none;\n}\n","/* Chat app container */\n#chat-app {\n display: flex;\n height: 100vh;\n flex-direction: column;\n}\n","#chat-header {\n // NOTE: Should match #chat-form border-top\n border-bottom: 1px solid #ddd;\n\n @extend %box-shadow;\n\n z-index: 4;\n\n .button {\n height: 100%;\n }\n}\n\n.hamburger-menu {\n cursor: pointer;\n padding-left: 0.75rem;\n padding-right: 0.5rem;\n display: inline-block;\n}\n\n.hamburger-menu:hover {\n @extend %box-shadow;\n}\n\n.hamburger-menu .bar {\n width: 1.5rem;\n height: 2px;\n background-color: #333;\n margin: 6px 0;\n transition: 0.4s;\n}\n","/* Chat history */\n#chat-history {\n mask-image: linear-gradient(180deg, var(--white) 95%, transparent);\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n padding: 1rem;\n max-width: 1024px;\n width: 100%; /* Full width of its parent */\n overflow-y: auto; /* Enable vertical scrolling */\n}\n\n/* Base styling for all messages */\n.chat-message {\n padding: 0.5rem;\n padding-top: 0;\n position: relative;\n\n .drop-down-menu {\n z-index: 100;\n position: absolute;\n top: 0;\n right: 0;\n }\n}\n\n/* Styling for user messages */\n.user-chat-message {\n @extend %font-weight-bolder;\n}\n\n/* Styling for system messages */\n.assistant-chat-message {\n margin-bottom: 0.5rem;\n}\n","#chat-form {\n flex: 0 0 60px; /* fixed height */\n display: flex;\n align-items: center;\n\n // NOTE: Should match #chat-header border-bottom\n border-top: 1px solid #cccccc5e;\n\n .textarea {\n height: 100%;\n width: 100%;\n display: flex;\n flex-grow: 1;\n }\n\n .buttons {\n display: flex;\n position: relative;\n height: 100%;\n }\n\n textarea {\n padding: 1rem;\n resize: none;\n border: 0;\n }\n\n .icon-send {\n font-size: 1.2rem;\n }\n}\n\n#message-input {\n width: 100%;\n padding: 0.25rem;\n}\n",".chat-list-item {\n z-index: 2;\n\n .chat-title {\n // text-overflow: ellipsis;\n mask-image: linear-gradient(\n 90deg,\n var(--white) 95%,\n transparent\n ); // Fade out title instead of ellipsis\n }\n}\n\n.list-item.selected {\n background: var(--white);\n\n @extend %box-shadow;\n\n z-index: 2;\n}\n\n.list-item.hover {\n @extend %box-shadow-hover;\n\n z-index: 3;\n}\n","#chat-area {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n overflow: auto;\n\n}\n\n#chat-menu-button {\n background-color: var(--secondary-bg-color);\n}\n","#chat-title {\n @extend %font-weight-boldest;\n\n padding: 0.5rem 0.25rem;\n font-size: 1.2rem;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n","aside {\n padding: 1rem;\n}\n\n/* Sidebar styling */\n#sidebar {\n @extend %box-shadow;\n background-color: var(--secondary-bg-color);\n\n // NOTE: This should be the same as chat-header border-bottom\n border-right: 1px solid #cccccc5e;\n min-width: 200px;\n max-width: 480px;\n overflow-y: auto;\n\n .buttons {\n width: 100%;\n display: flex;\n flex-grow: 1;\n }\n}\n\n#search-input {\n padding-left: 0.75rem;\n}\n\n#sidebar.collapsed {\n max-width: 0;\n display: none;\n padding: 0;\n}\n",".drop-down-menu {\n position: relative;\n}\n\n.drop-down-menu-items {\n background: var(--bg-color);\n position: absolute;\n top: 100%; /* Position below the button */\n display: none; /* Hide initially */\n\n @extend %box-shadow;\n\n left: 0;\n\n .text {\n padding: 0.5rem;\n }\n}\n\n.drop-down-menu-items.visible {\n z-index: 10000;\n display: inline-block;\n}\n\n.drop-down-menu-right {\n .drop-down-menu-items {\n right: 0 !important;\n left: auto;\n }\n}\n",".notification {\n position: fixed;\n top: 0;\n left: 0;\n color: var(--bg-color);\n width: calc(100vw - 2rem);\n z-index: 30000;\n background-color: var(--bg-color);\n padding: 1rem;\n margin: 1rem;\n\n @extend %box-shadow-modal;\n\n border-radius: var(--border-radius);\n\n .button {\n border-radius: 2px;\n padding: 0.5rem;\n line-height: 0.5rem;\n }\n}\n\n.notification-error {\n background: var(--error-color);\n}\n"]} \ No newline at end of file diff --git a/dist/theme.7fcc2895.js b/dist/theme.7fcc2895.js index c381df7..52a4ea0 100644 --- a/dist/theme.7fcc2895.js +++ b/dist/theme.7fcc2895.js @@ -197,7 +197,7 @@ var parent = module.bundle.parent; if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') { var hostname = "" || location.hostname; var protocol = location.protocol === 'https:' ? 'wss' : 'ws'; - var ws = new WebSocket(protocol + '://' + hostname + ':' + "51276" + '/'); + var ws = new WebSocket(protocol + '://' + hostname + ':' + "57993" + '/'); ws.onmessage = function (event) { checkedAssets = {}; assetsToAccept = []; diff --git a/package.json b/package.json index b653cf1..16b20e6 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "test": "node --test --test-reporter=spec", "test:only": "node --test --test-reporter=spec --test-only", "test:mobile": "MOBILE=true node --test --test-reporter=spec", + "test:video": "VIDEO=true node --test --test-reporter=spec", "format": "prettier --write \"**/*.{js,html,scss}\"", "lint-js": "eslint \"**/*.js\" --fix", "lint-css": "stylelint \"**/*.scss\" --fix", diff --git a/screenshots/darkmode-chat-collapsed.png b/screenshots/darkmode-chat-collapsed.png index fec3ac3d474c3d13bf80f416ea5f89a376724ec2..8bc2b4c79ca4d337d7a87900aa91d6beabcf6e5a 100644 GIT binary patch literal 64075 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 y&^XTYkWSX<$_3-y_pG>#t{Oisg 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 Hnpgi1r}~?A literal 34690 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,i{Wl`BkA$r;`0k;NWUm6yUmdmZ$Xuxqv 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 diff --git a/screenshots/darkmode-chat.png b/screenshots/darkmode-chat.png index 5a3874071af8c36e1b3900699a884c378e8c6f73..f18059ca01401478577ee3cb93b3dc54bedbd788 100644 GIT binary patch delta 48849 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

cSb&WH}I&UhYuXn*AKq~W~05=aY$T9U*G** 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­r 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 E0MHAKlK=n! delta 19235 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 diff --git a/screenshots/darkmode-screenshot.png b/screenshots/darkmode-screenshot.png index 7e6e2e738df327dbca31eac32327900752e48079..f62d5064c2d0b2fce852247a1a2d50ae821d4d15 100644 GIT binary patch literal 10157 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 literal 10145 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

gsjWjy5OFH!J@h(fVHDP?OlU=%exr&2>LlUDm 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

kIb68I{K%VXpu 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 VEB@s$)r34t^aF+aIrj`-|6kF$|AYVl diff --git a/screenshots/mobile-chat-collapsed.png b/screenshots/mobile-chat-collapsed.png index e2d85a33c2106d742933d2d96e10fde90351463c..420a3c950dcb72ba915138e945daed25a67d1e87 100644 GIT binary patch literal 25795 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 XY}=aa^orBCV;g$tx;2W`TfY7$Q2>+u literal 67089 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 a6oT%D9J;!@|4b?VPy0_j%{%iq?*3mj@e=C* diff --git a/screenshots/mobile-chat.png b/screenshots/mobile-chat.png index 4f4c68b35581ecd57c461e5db4e9507b84286a70..004a2dc69099f62b48f997c9008f2a2c0fb493d2 100644 GIT binary patch literal 29504 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 literal 68934 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 diff --git a/screenshots/mobile-screenshot.png b/screenshots/mobile-screenshot.png index f4f5cf62a67bd4181c83544e41ab6817cc468765..efcc080de5db8471b7c38de132c0ce294dc8bcd3 100644 GIT binary patch literal 6194 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 literal 7320 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%0D|eYr(ns%#hLYE2h2NelX}$imA@vtN36ISyU(;FH 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