Comment j'élimine le timer sur ce site : <html lang="en" style="--user-node-stroke: #e6ddc1; --user-node-fill: #66cdaa; --system-node-stroke: #e6ddc1; --system-node-fill: #7bc4d1; --assistant-node-stroke: #e6ddc1; --assistant-node-fill: #73b9ff; --graph-node-text-color: #3a3a3a; --graph-node-gradient-color: rgba(240, 192, 64, 0.8); --graph-node-border: #e6ddc1; --svg-background: #fffaec;"><head><link rel="stylesheet" href="index.35050fbd.css"><script type="module" src="index.runtime.8efc65a0.js"></script><title>Home</title><link rel="stylesheet" type="text/css" href="index.7f7ea7ea.css"><link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.d04ab742.png"><link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.9e41aca0.png"><link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.cd964366.png"><link rel="manifest" href="up_/up_/public/favicons/site.webmanifest"><style>#node-controls>*{display:block}</style><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><script src="https://www.googletagmanager.com/gtag/js?l=dataLayer&amp;id=G-RTVYJ07L6G" async=""></script><script src="https://js.stripe.com/v3/"></script></head><body class="no-select"><div id="loading-overlay" class="loading-overlay"> <div class="loading-content"> <div class="graph-loading-spinner"></div> <p>Updating space...</p> </div> </div> <div id="chat-icon" class="chat-icon hidden"> <svg width="30" height="30" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg> <span class="unread-count">1</span> <span class="close-icon" style="display: none;">×</span> </div> <div id="recent-chats-tab" class="recent-chats-tab"> <div class="recent-chats-header"> <span>Recent Chats</span> <button id="toggle-recent-chats">☰</button> </div> <ul id="recent-chats-list"></ul> </div> <div id="prompt-outer-container" class="prompt-modal-overlay"> <div id="prompt-container"> <p id="prompt-text"></p> <div id="input-container"></div> <div id="error-container" style="color:red"></div> <div id="buttons-container"></div> </div> </div> <div id="custom-system-prompt-modal" class="custom-system-prompt-modal"> <div class="custom-system-prompt-modal-content"> <div class="custom-system-prompt-modal-header"> <h3>Add Custom System Prompt</h3> </div> <div class="custom-system-prompt-modal-body"> <div class="form-group"> <label for="custom-system-prompt-name">Prompt Name:</label> <input type="text" id="custom-system-prompt-name" required=""> </div> <div class="form-group"> <label for="custom-system-prompt-text">Prompt Text:</label> <textarea id="custom-system-prompt-text" rows="8" required=""></textarea> </div> </div> <div class="custom-system-prompt-modal-footer"> <div class="custom-system-prompt-modal-buttons"> <button id="save-custom-system-prompt" class="custom-button"> Save </button> <button id="cancel-custom-system-prompt" class="custom-button"> Cancel </button> </div> </div> </div> </div> <div id="login-modal" class="login-modal-overlay"> <div class="login-modal-content"> <div class="login-modal-header"> <h2>Login</h2> </div> <div class="login-modal-body"> <div class="login-options"> <div id="signin-options-container"> <button class="gsi-material-button"> <div class="gsi-material-button-state"></div> <div class="gsi-material-button-content-wrapper"> <div class="gsi-material-button-icon">  <svg style="display:block" viewBox="0 0 48 48"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5"></path><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65"></path><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24s.92 7.54 2.56 10.78z"></path><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48"></path><path fill="none" d="M0 0h48v48H0z"></path></svg> </div> <span class="gsi-material-button-contents">Sign in with Google</span> <span style="display:none">Sign in with Google</span> </div> </button> <button class="apple-signin-button"> <div class="apple-signin-button-content"> <div class="apple-signin-button-icon">  <svg width="24" height="24"><path d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25"></path></svg> </div> <span class="apple-signin-button-text">Sign in with Apple</span> </div> </button> <button class="disabled gsi-material-button" id="passwordless-signin-toggle-btn" disabled=""> <div class="gsi-material-button-state"></div> <div class="gsi-material-button-content-wrapper"> <div class="gsi-material-button-icon">  <svg width="24" height="24" fill="#4285F4"><path fill="none" d="M0 0h24v24H0z"></path><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 14H4V8l8 5 8-5zm-8-7L4 6h16z"></path></svg> </div> <span class="gsi-material-button-contents">Sign in with Email</span> </div> </button> <p class="passwordless-description"> Sign in securely without a password. We'll send you a magic link via email. </p> <div class="separator">or</div> </div> <div class="form-container" id="signin-form-container"> <form id="signin-form"> <div class="form-group"> <label for="signin-email-input">Email:</label> <input type="email" id="signin-email-input" required="" autocomplete="username"> </div> <div class="form-group"> <label for="signin-password-input">Password:</label> <input type="password" id="signin-password-input" required="" autocomplete="current-password"> </div> <button type="submit" class="signin-btn">Sign In</button> </form> <button id="forgot-password-btn" class="custom-button forgot-password-btn"> Forgot Password? </button> </div> <div class="disabled form-container" id="passwordless-signin-form-container"> <form id="passwordless-signin-form"> <div class="form-group"> <label for="passwordless-email-input">Email:</label> <input type="email" id="passwordless-email-input" required="" autocomplete="username"> </div> <button type="submit" class="send-signin-link-btn" disabled=""> Sign-in with Email </button> </form>  <div class="disabled-overlay"> <p>Temporarily Disabled</p> </div> </div> <div class="disabled form-container" id="create-account-form-container"> <form id="create-account-form"> <div class="form-group"> <label for="create-email-input">Email:</label> <input type="email" id="create-email-input" required="" autocomplete="username"> </div> <div class="form-group"> <label for="create-password-input">Password:</label> <input type="password" id="create-password-input" required="" autocomplete="new-password"> </div> <div class="form-group"> <label for="create-confirm-password-input">Confirm Password:</label> <input type="password" id="create-confirm-password-input" required="" autocomplete="new-password"> </div> <div id="password-match-error" class="error-message"></div> <button type="submit" class="create-account-btn" disabled=""> Create Account </button> </form>  <div class="disabled-overlay"> <p>Temporarily Disabled</p> </div> </div> <div class="form-container" id="forgot-password-form-container"> <form id="forgot-password-form"> <div class="form-group"> <label for="forgot-email-input">Email:</label> <input type="email" id="forgot-email-input" required="" autocomplete="username"> </div> <button type="submit" class="reset-password-btn"> Reset Password </button> </form> </div> </div> </div> <div class="login-modal-footer"> <button id="create-account-toggle-btn" class="custom-button"> Create Account </button> <button id="signin-toggle-btn" class="custom-button">Sign In</button> <button id="login-close-btn" class="custom-button">Close</button> </div> </div> </div> <div id="add-context-modal" class="additional-context-modal"> <div class="additional-context-modal-content"> <div class="additional-context-modal-header"> <h3>Select Additional Context</h3> <button id="additional-context-close-button" class="friends-close-button"> × </button> </div> <div class="additional-context-modal-body"> <div id="loader" class="loader"> <i class="fa-spin fa-spinner fas"></i> </div> <div id="category-container" class="additional-context-tree-view"></div> <div id="tree-view-container" class="additional-context-tree-view"></div> </div> <div class="additional-context-modal-footer"> <div class="additional-context-modal-buttons"> <div id="category-view-buttons"> <button id="upload-folder-button" class="custom-button"> Upload Folder </button> <button id="upload-github-button" class="custom-button"> Upload GitHub Repo </button> </div> <div id="tree-view-buttons"> <button id="submit-button" class="custom-button">Submit</button> </div> </div> </div> </div> </div> <div id="modal" class="api-modal-overlay"> <div class="api-modal-content"> <div class="api-modal-header"> <h2>Api Requests</h2> <div class="theme-options"> <div class="custom-button"> <div class="switch-option"> <label class="switch"> <input type="radio" name="theme" id="light-theme-toggle" checked=""> <span class="round slider"></span> </label> <label for="light-theme-toggle">Light Theme</label> </div> </div> <div class="custom-button"> <div class="switch-option"> <label class="switch"> <input type="radio" name="theme" id="dark-theme-toggle"> <span class="round slider"></span> </label> <label for="dark-theme-toggle">Dark Theme</label> </div> </div> <div class="custom-button"> <div class="switch-option"> <label class="switch"> <input type="radio" name="theme" id="none-theme-toggle"> <span class="round slider"></span> </label> <label for="none-theme-toggle">None</label> </div> </div> </div> </div> <div class="api-modal-body"> <pre id="modal-request-details-content"></pre> </div> <div class="api-modal-footer"> <button id="api-confirm-button" class="custom-button">Close</button> </div> </div> </div> <div id="edit-context-modal" class="additional-context-modal"> <div class="additional-context-modal-content"> <div class="additional-context-modal-header"> <span class="close-button" id="close-edit-modal">×</span> <h3>Edit File Context</h3> </div> <div class="additional-context-modal-body"> <textarea id="file-context-textarea" rows="10" cols="50"></textarea> </div> <div class="additional-context-modal-footer"> <button id="save-context-button" class="custom-button">Save</button> </div> </div> </div> <div id="share-modal" class="share-modal-overlay"> <div class="share-modal-content"> <div class="share-modal-header"> <h2><span id="share-item-name"></span></h2> </div> <div class="share-modal-body">  <div class="share-modal-section"> <h3>Share with Email</h3> <div class="form-group"> <label for="share-email-input">Enter email addresses:</label> <div class="share-input-group"> <input type="text" id="share-email-input" placeholder="Enter email addresses, separated by commas"> <button id="share-email-button" class="custom-button"> Share </button> </div> </div>  <div class="custom-button"> <div class="switch-option"> <label for="email-notification-toggle">Send Email Notification:</label> <label class="switch"> <input type="checkbox" id="email-notification-toggle" checked=""> <span class="round slider"></span> </label> </div> </div> <div class="permission-options"> <label for="permission-select">Permission:</label> <select id="permission-select"> <option value="editor">Editor</option> <option value="viewer">Viewer</option> </select> </div> </div>  <div class="share-modal-section"> <h3>People with Access</h3> <p id="empty-share-access-message" style="display:none"> You have not shared this space with anyone yet. </p> <ul id="share-access-list"></ul> </div>  <div class="share-modal-section"> <h3> General Access <i id="general-access-icon" class="fa-duotone fa-lock"></i> </h3> <div class="access-options"> <div class="custom-button"> <div class="switch-option"> <label class="switch"> <input type="radio" name="general-access" value="restricted" id="restricted-access" checked=""> <span class="round slider"></span> </label> <label for="restricted-access">Restricted</label> </div> </div> <div class="custom-button"> <div class="switch-option"> <label class="switch"> <input type="radio" name="general-access" value="anyone" id="anyone-access"> <span class="round slider"></span> </label> <label for="anyone-access">Anyone with the link</label> </div> <div class="link-permission-select-wrapper"> <select id="link-permission-select"> <option value="editor">Editor</option> <option value="viewer">Viewer</option> </select> </div> </div> </div> </div> </div> <div class="share-modal-footer"> <button id="copy-link-button" class="custom-button">Copy Link</button> <button id="share-done-button" class="custom-button">Done</button> </div> </div> </div> <div id="changelog-modal" class="modal"> <div class="modal-content"> <div class="modal-header"> <h3>Changes</h3> </div> <div class="modal-body"> <ul id="changelog-modal-list"></ul> </div> <div class="modal-footer"> <div class="modal-buttons"> <button id="changelog-modal-confirm" class="custom-button"> Confirm Changes </button> <button id="changelog-modal-close" class="custom-button"> Close </button> </div> </div> </div> </div> <div id="shortcuts-modal" class="modal"> <div class="modal-content"> <div class="modal-header"> <h3>Keyboard Shortcuts</h3> </div> <div class="modal-body"> <ul id="shortcuts-modal-list"><li><div class="shortcut-container"><span>Enable node selection mode</span><div class="shortcut-key-container"><div class="shortcut-key">Ctrl</div></div></div></li><li><div class="shortcut-container"><span>Toggle Space details menu</span><div class="shortcut-key-container"><div class="shortcut-key">Alt</div><div class="shortcut-key">S</div></div></div></li><li><div class="shortcut-container"><span>Toggle AI settings menu</span><div class="shortcut-key-container"><div class="shortcut-key">Alt</div><div class="shortcut-key">A</div></div></div></li><li><div class="shortcut-container"><span>Toggle shortcuts modal</span><div class="shortcut-key-container"><div class="shortcut-key">Alt</div><div class="shortcut-key">?</div></div></div></li></ul> </div> <div class="modal-footer"> <div class="modal-buttons"> <button id="shortcuts-modal-close" class="custom-button"> Close </button> </div> </div> </div> </div> <div id="debug-panel" style="z-index:1000;background-color:#fffc;padding:10px;display:none;position:fixed;top:0;left:0"></div> <div id="toplevel-space-info" style="opacity: 1; pointer-events: auto;"> <div class="control-group" style="width: 100%; height: auto; margin-left: 0px;"> <h5 style="cursor:pointer" id="space-h5"> <i class="fa-chevron-right fas move-icon" id="move-right-icon" style="display: none;"></i> <i class="fa-arrow-left fa-duotone" id="space-arrow"></i> <span>Space</span> </h5> <div class="current-space-content"> <div class="button-options-group"> <label id="current-graph-name" style="display:block">Name: Home</label> <button id="home-btn" class="btn-extra-sm colored-button custom-button" style="display:block" disabled=""> <i id="home-icon" class="fa-home fas"></i> Home </button> <button id="prev-space-btn" class="btn-extra-sm colored-button custom-button" style="display:block" disabled=""> <i id="prev-icon" class="fa-arrow-left fas"></i> Prev Space </button> <button id="share-graph-btn" class="btn-extra-sm colored-button custom-button" style="display:block"> <i id="share-icon" class="fa-share-alt fas"></i> Share Space </button> <button id="search-graph-btn" class="btn-extra-sm colored-button custom-button" style="display:block"> <i id="search-icon" class="fa-search fas"></i> Search Space </button> <button id="subscribe-graph-btn" class="btn-extra-sm colored-button custom-button" style="display: block; transition: 0.3s;" title="Receive updates when others make changes to this space"><i id="subscribe-icon" class="fas fa-bell"></i> Subscribe to Changes ⓘ</button> </div> </div> <div id="shared-users" style="flex-wrap: wrap; display: block;" class="shared-users-container button-options-group"><label id="shared-users-title" style="display: block;">Collaborators</label></div>  <div class="button-options-group vertical-buttons"> <label for="user-color-coding-checkbox" id="user-color-coding-label"> <input type="checkbox" id="user-color-coding-checkbox"> User Color Coding </label> <label for="display-node-creator-checkbox" id="display-node-creator-label" style="display: inline;"> <input type="checkbox" id="display-node-creator-checkbox"> Display Node Creator </label> </div>  <div class="button-options-group"> <label class="uploaded-files-title">Uploaded Files</label> <div class="file-list-section"> <ul id="file-list"></ul> </div> </div>  <div class="button-options-group friends-online-group"> <div class="friends-online-container"> <div id="friends-online-indicator" class="online"> <span>Friends Online</span> <div class="indicator-light"></div> </div> </div> </div> </div> </div> <div id="toplevel-ai-settings" style="opacity: 1; pointer-events: auto;"> <div class="control-group minimized disable-hover" id="ai-settings-control-group" style="height: 38px; width: 10px;"> <h5 style="cursor:pointer" id="ai-settings-h5"> <i class="fa-chevron-left fas move-icon" id="move-left-icon" style="display: inline;"></i><span>AI Settings</span> <i class="fa-arrow-right fa-duotone" id="ai-settings-arrow"></i> </h5> <div class="button-options-group"> <div class="dropdown-container"> <div class="ai-provider-container"> <div id="selected-provider-name">OpenAI</div> <div class="ai-provider-icons"> <img class="ai-icon provider-active" data-provider="openai" title="OpenAI" src="data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%20320%20320%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill%3D%22currentColor%22%20d%3D%22m297.06%20130.97c7.26-21.79%204.76-45.66-6.85-65.48-17.46-30.4-52.56-46.04-86.84-38.68-15.25-17.18-37.16-26.95-60.13-26.81-35.04-.08-66.13%2022.48-76.91%2055.82-22.51%204.61-41.94%2018.7-53.31%2038.67-17.59%2030.32-13.58%2068.54%209.92%2094.54-7.26%2021.79-4.76%2045.66%206.85%2065.48%2017.46%2030.4%2052.56%2046.04%2086.84%2038.68%2015.24%2017.18%2037.16%2026.95%2060.13%2026.8%2035.06.09%2066.16-22.49%2076.94-55.86%2022.51-4.61%2041.94-18.7%2053.31-38.67%2017.57-30.32%2013.55-68.51-9.94-94.51zm-120.28%20168.11c-14.03.02-27.62-4.89-38.39-13.88.49-.26%201.34-.73%201.89-1.07l63.72-36.8c3.26-1.85%205.26-5.32%205.24-9.07v-89.83l26.93%2015.55c.29.14.48.42.52.74v74.39c-.04%2033.08-26.83%2059.9-59.91%2059.97zm-128.84-55.03c-7.03-12.14-9.56-26.37-7.15-40.18.47.28%201.3.79%201.89%201.13l63.72%2036.8c3.23%201.89%207.23%201.89%2010.47%200l77.79-44.92v31.1c.02.32-.13.63-.38.83l-64.41%2037.19c-28.69%2016.52-65.33%206.7-81.92-21.95zm-16.77-139.09c7-12.16%2018.05-21.46%2031.21-26.29%200%20.55-.03%201.52-.03%202.2v73.61c-.02%203.74%201.98%207.21%205.23%209.06l77.79%2044.91-26.93%2015.55c-.27.18-.61.21-.91.08l-64.42-37.22c-28.63-16.58-38.45-53.21-21.95-81.89zm221.26%2051.49-77.79-44.92%2026.93-15.54c.27-.18.61-.21.91-.08l64.42%2037.19c28.68%2016.57%2038.51%2053.26%2021.94%2081.94-7.01%2012.14-18.05%2021.44-31.2%2026.28v-75.81c.03-3.74-1.96-7.2-5.2-9.06zm26.8-40.34c-.47-.29-1.3-.79-1.89-1.13l-63.72-36.8c-3.23-1.89-7.23-1.89-10.47%200l-77.79%2044.92v-31.1c-.02-.32.13-.63.38-.83l64.41-37.16c28.69-16.55%2065.37-6.7%2081.91%2022%206.99%2012.12%209.52%2026.31%207.15%2040.1zm-168.51%2055.43-26.94-15.55c-.29-.14-.48-.42-.52-.74v-74.39c.02-33.12%2026.89-59.96%2060.01-59.94%2014.01%200%2027.57%204.92%2038.34%2013.88-.49.26-1.33.73-1.89%201.07l-63.72%2036.8c-3.26%201.85-5.26%205.31-5.24%209.06l-.04%2089.79zm14.63-31.54%2034.65-20.01%2034.65%2020v40.01l-34.65%2020-34.65-20z%22%2F%3E%3C%2Fsvg%3E"> <img class="ai-icon" data-provider="anthropic" title="Anthropic" src="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20shape-rendering%3D%22geometricPrecision%22%20text-rendering%3D%22geometricPrecision%22%20image-rendering%3D%22optimizeQuality%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20viewBox%3D%220%200%20512%20512%22%3E%3Crect%20fill%3D%22%23CC9B7A%22%20width%3D%22512%22%20height%3D%22512%22%20rx%3D%22104.187%22%20ry%3D%22105.042%22%2F%3E%3Cpath%20fill%3D%22%231F1F1E%22%20fill-rule%3D%22nonzero%22%20d%3D%22M318.663%20149.787h-43.368l78.952%20212.423%2043.368.004-78.952-212.427zm-125.326%200l-78.952%20212.427h44.255l15.932-44.608%2082.846-.004%2016.107%2044.612h44.255l-79.126-212.427h-45.317zm-4.251%20128.341l26.91-74.701%2027.083%2074.701h-53.993z%22%2F%3E%3C%2Fsvg%3E"> <img class="ai-icon" data-provider="perplexity" title="Perplexity" src="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20shape-rendering%3D%22geometricPrecision%22%20text-rendering%3D%22geometricPrecision%22%20image-rendering%3D%22optimizeQuality%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20viewBox%3D%220%200%20512%20509.64%22%3E%3Cpath%20fill%3D%22%231F1F1F%22%20d%3D%22M115.613%200h280.774C459.974%200%20512%2052.025%20512%20115.612v278.415c0%2063.587-52.026%20115.613-115.613%20115.613H115.613C52.026%20509.64%200%20457.614%200%20394.027V115.612C0%2052.025%2052.026%200%20115.613%200z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22nonzero%22%20d%3D%22M348.851%20128.063l-68.946%2058.302h68.946v-58.302zm-83.908%2048.709l100.931-85.349v94.942h32.244v143.421h-38.731v90.004l-94.442-86.662v83.946h-17.023v-83.906l-96.596%2086.246v-89.628h-37.445V186.365h38.732V90.768l95.309%2084.958v-83.16h17.023l-.002%2084.206zm-29.209%2026.616c-34.955.02-69.893%200-104.83%200v109.375h20.415v-27.121l84.415-82.254zm41.445%200l82.208%2082.324v27.051h21.708V203.388c-34.617%200-69.274.02-103.916%200zm-42.874-17.023l-64.669-57.646v57.646h64.669zm13.617%20124.076v-95.2l-79.573%2077.516v88.731l79.573-71.047zm17.252-95.022v94.863l77.19%2070.83c0-29.485-.012-58.943-.012-88.425l-77.178-77.268z%22%2F%3E%3C%2Fsvg%3E"> <img class="ai-icon" data-provider="google" title="Google" src="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M14%2028C14%2026.0633%2013.6267%2024.2433%2012.88%2022.54C12.1567%2020.8367%2011.165%2019.355%209.905%2018.095C8.645%2016.835%207.16333%2015.8433%205.46%2015.12C3.75667%2014.3733%201.93667%2014%200%2014C1.93667%2014%203.75667%2013.6383%205.46%2012.915C7.16333%2012.1683%208.645%2011.165%209.905%209.905C11.165%208.645%2012.1567%207.16333%2012.88%205.46C13.6267%203.75667%2014%201.93667%2014%200C14%201.93667%2014.3617%203.75667%2015.085%205.46C15.8317%207.16333%2016.835%208.645%2018.095%209.905C19.355%2011.165%2020.8367%2012.1683%2022.54%2012.915C24.2433%2013.6383%2026.0633%2014%2028%2014C26.0633%2014%2024.2433%2014.3733%2022.54%2015.12C20.8367%2015.8433%2019.355%2016.835%2018.095%2018.095C16.835%2019.355%2015.8317%2020.8367%2015.085%2022.54C14.3617%2024.2433%2014%2026.0633%2014%2028Z%22%20fill%3D%22url(%23paint0_radial_16771_53212)%22%2F%3E%0A%3Cdefs%3E%0A%3CradialGradient%20id%3D%22paint0_radial_16771_53212%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%20gradientTransform%3D%22translate(2.77876%2011.3795)%20rotate(18.6832)%20scale(29.8025%20238.737)%22%3E%0A%3Cstop%20offset%3D%220.0671246%22%20stop-color%3D%22%239168C0%22%2F%3E%0A%3Cstop%20offset%3D%220.342551%22%20stop-color%3D%22%235684D1%22%2F%3E%0A%3Cstop%20offset%3D%220.672076%22%20stop-color%3D%22%231BA1E3%22%2F%3E%0A%3C%2FradialGradient%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E"> <img class="ai-icon" data-provider="misc" title="Misc" src="data:image/svg+xml;utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20122.88%20122.88%22%20style%3D%22enable-background%3Anew%200%200%20122.88%20122.88%22%20xml%3Aspace%3D%22preserve%22%3E%3Cg%3E%3Cpath%20d%3D%22M0%2C61.44C0%2C44.48%2C6.88%2C29.12%2C18%2C18C29.11%2C6.88%2C44.47%2C0%2C61.44%2C0c16.96%2C0%2C32.33%2C6.88%2C43.44%2C18c11.12%2C11.12%2C18%2C26.48%2C18%2C43.44%20s-6.88%2C32.33-18%2C43.44c-11.12%2C11.12-26.48%2C18-43.44%2C18c-16.96%2C0-32.33-6.88-43.44-18C6.88%2C93.77%2C0%2C78.41%2C0%2C61.44L0%2C61.44z%20M92.3%2C61.44c0%2C3.99-3.24%2C7.22-7.22%2C7.22s-7.22-3.24-7.22-7.22c0-3.99%2C3.23-7.23%2C7.22-7.23S92.3%2C57.45%2C92.3%2C61.44L92.3%2C61.44%20L92.3%2C61.44z%20M43.99%2C61.44c0%2C3.99-3.23%2C7.22-7.23%2C7.22c-3.99%2C0-7.22-3.24-7.22-7.22c0-3.99%2C3.23-7.23%2C7.22-7.23%20S43.99%2C57.45%2C43.99%2C61.44L43.99%2C61.44L43.99%2C61.44z%20M68.15%2C61.44c0%2C3.99-3.24%2C7.22-7.22%2C7.22c-3.99%2C0-7.22-3.24-7.22-7.22%20c0-3.99%2C3.24-7.23%2C7.22-7.23C64.91%2C54.22%2C68.15%2C57.45%2C68.15%2C61.44L68.15%2C61.44L68.15%2C61.44z%20M25.2%2C25.2%20C15.93%2C34.48%2C10.2%2C47.29%2C10.2%2C61.44c0%2C14.15%2C5.74%2C26.96%2C15.01%2C36.24c9.27%2C9.27%2C22.08%2C15.01%2C36.24%2C15.01s26.96-5.74%2C36.23-15.01%20c9.27-9.27%2C15.01-22.08%2C15.01-36.24c0-14.15-5.74-26.96-15.01-36.23C88.4%2C15.93%2C75.59%2C10.2%2C61.44%2C10.2%20C47.29%2C10.2%2C34.48%2C15.93%2C25.2%2C25.2L25.2%2C25.2z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"> </div> </div> <label for="model-dropdown">Default Model:</label> <select id="model-dropdown" class="cool-blue-dropdown"><option value="o1-preview">o1-preview</option><option value="o1-mini">o1-mini</option><option value="chatgpt-4o-latest">ChatGPT-4o Latest</option><option value="gpt-4o">GPT-4o</option><option value="gpt-4o-mini">GPT-4o mini</option><option value="gpt-4-turbo">GPT-4 Turbo Latest</option><option value="gpt-4-0125-preview">GPT-4 Turbo January 25th, 2024</option><option value="gpt-4-1106-preview">GPT-4 Turbo November 6th</option><option value="gpt-4">GPT-4</option><option value="gpt-4-0613">GPT-4 June 13th</option><option value="gpt-4-0314">GPT-4 March 14th</option></select> </div> <div class="input-container"> <label for="max-tokens-input">Max Tokens:</label> <input class="cool-blue-input" type="number" id="max-tokens-input" min="1" max="8192" value="4095" style="width:70px;height:20px"> </div> <div class="input-container"> <label for="temperature-input">Temperature:</label> <input class="cool-blue-input" type="number" id="temperature-input" min="0" max="1" step="0.01" value="0.1" style="width:60px;height:20px"> </div> <div id="show-model-used-button"> <div class="switch-option"> <label class="switch switch-small"> <input type="checkbox" id="show-model-used-switch"> <span class="round slider"></span> </label> <label for="show-model-used-switch">Show Model Used</label> </div> </div> <div id="estimate-costs-button"> <div class="switch-option"> <label class="switch switch-small"> <input type="checkbox" id="estimate-costs-switch"> <span class="round slider"></span> </label> <label for="estimate-costs-switch">Estimate Costs</label> <i id="open-model-costs-modal" class="fa-info-circle fas" title="View Model Costs"></i> </div> </div>  </div> <div class="button-options-group" style="overflow:hidden"> <div class="dropdown-container"> <label for="system-prompt-dropdown">Default System Prompt:</label> <select id="system-prompt-dropdown" class="cool-blue-dropdown"><option value="none">None</option></select> <div class="horizontal-buttons"> <button id="add-system-prompt" class="btn-extra-sm colored-button custom-button"> Add </button> <button id="edit-system-prompt" class="btn-extra-sm colored-button custom-button"> Edit </button> <button id="delete-system-prompt" class="btn-extra-sm colored-button custom-button"> Delete </button> </div> </div> </div> <div class="button-options-group"> <div class="undo-redo-buttons"> <button id="undo-button" class="btn-extra-sm colored-button custom-button" disabled=""> <i class="fa-undo fas"></i> Undo </button> <button id="redo-button" class="btn-extra-sm colored-button custom-button" disabled=""> <i class="fa-redo fas"></i> Redo </button> </div> </div> <div class="button-options-group" style="overflow:hidden"> <div class="collapsible-section"> <h6 class="collapsible-header">Additional Context</h6> <div class="collapsible-content"> <div class="dropdown-container" id="additional-context-container" style="display: none;"> <label for="additional-context-dropdown">Select Context:</label> <select id="additional-context-dropdown" class="cool-blue-dropdown"><option value="none">None</option></select> <div class="horizontal-buttons"> <button id="manage-context-button" class="btn-extra-sm colored-button custom-button"> Manage </button> <button id="delete-context-button" class="btn-extra-sm colored-button custom-button"> Delete </button> </div> </div>  <div class="custom-button" id="entire-tree-as-context-button"> <div class="switch-option"> <label class="switch"> <input type="checkbox" id="entire-tree-as-context-switch"> <span class="round slider"></span> </label> <label for="entire-tree-as-context-switch">Entire Tree As Context</label> </div> </div>  <div class="custom-button" id="all-space-context-button"> <div class="switch-option"> <label class="switch"> <input type="checkbox" id="all-space-context-switch"> <span class="round slider"></span> </label> <label for="all-space-context-switch">All Space in Context</label> </div> </div>  <div class="custom-button" id="read-spaces-within-spaces-button"> <div class="switch-option"> <label class="switch"> <input type="checkbox" id="read-spaces-within-spaces-switch"> <span class="round slider"></span> </label> <label for="read-spaces-within-spaces-switch">Read Spaces Within Spaces</label> </div> </div> </div> </div> </div> </div> </div> <div id="graph-container"><svg width="250" height="869" class="minimap" style="position: absolute; bottom: 10px; right: 10px; z-index: 9999999; opacity: 0.7; display: none;"></svg><svg width="519" height="869" id="main-svg"><defs><marker id="arrow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" style="fill: rgb(54, 69, 79);"><path d="M 0 0 L 10 5 L 0 10 z"></path></path></marker><marker id="universal-arrow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" style="fill: rgba(54, 69, 79, 0.8);"></path></marker><linearGradient id="border-gradient" x1="0%" y1="0%" x2="75%" y2="0%"><stop offset="0%" stop-color="transparent"></stop><stop offset="100%" stop-color="#4e421f67"></stop></linearGradient></defs><g style="opacity: 1;" transform="translate(284.1111111111111,767.6166666666667) scale(0.9655555555555556)"><g class="node" id="graph-node-C54febi0" transform="translate(0,-750)" style="cursor: default;"><path class="top-bauble top-bauble-style" d="M82,0 A5.5,5.5 0 0,1 93,0"></path><path class="bottom-bauble bottom-bauble-style" d="M82,700 A5.5,5.5 0 1,0 93,700"></path><rect id="rect-C54febi0" rx="10" ry="10" width="480" height="700" class="main-node-rect role-user" style="fill: white;"></rect><foreignObject class="labelContainer" width="480" height="700" id="node-C54febi0"><div class="node-text disable-pen-input" contenteditable="false" style="font-size: 16px;"><div class="onboarding-completion-node node-text">   <h2>🎉 Onboarding Progress</h2>   <ul class="onboarding-steps">     <li class="onboarding-step" data-step="initialOnboardingStep">       <span class="step-icon">🚀</span>       <span class="step-text">Master the Basics</span>       <span class="step-status partial">🕒</span>     </li>     <li class="onboarding-step" data-step="firstSpaceOnboardingStep">       <span class="step-icon">🏠</span>       <span class="step-text">Create your first Space</span>      <span class="step-status not-started">⚪</span>     </li>     <li class="onboarding-step under-construction" data-step="aiSettingsStep">       <span class="step-icon">🧠</span>       <span class="step-text">AI Settings Deep Dive</span>       <span class="step-status">🚧 Coming Soon</span>     </li>     <li class="onboarding-step under-construction" data-step="spaceInfoStep">       <span class="step-icon">ℹ️</span>       <span class="step-text">Space Info Exploration</span>       <span class="step-status">🚧 Coming Soon</span>     </li>     <li class="onboarding-step under-construction" data-step="simpleControlsStep">       <span class="step-icon">🎮</span>       <span class="step-text">Master Simple Controls</span>       <span class="step-status">🚧 Coming Soon</span>     </li>     <li class="onboarding-step under-construction" data-step="basicActionsStep">       <span class="step-icon">🔧</span>       <span class="step-text">Discover More Basic Actions</span>       <span class="step-status">🚧 Coming Soon</span>     </li>   </ul> </div></div></foreignObject><g class="left-expansion-button-group"><rect class="left-expansion-button-rect" id="expansion-rect-C54febi0" style="fill: rgb(255, 222, 173); stroke: rgb(139, 136, 120); stroke-width: 1; cursor: pointer;" x="-4" y="8" width="4" height="15"></rect><g class="left-expansion-button-arrow-group" transform="translate(-4, 11.75)" style="cursor: pointer;"><path class="left-expansion-button-arrow" d="M4,7.5 L0,3.75 L4,0 Z" style="fill: black; stroke: none;"></path></g></g><rect class="flap-rect flap-closed" rx="5" ry="5" width="144" height="7" x="168" y="0"></rect><foreignObject class="flap" width="144" height="7" x="168" y="0"><div class="flap-content" contenteditable="false" style="pointer-events: none;"></div></foreignObject></g><g class="node" id="graph-node-optXeLxB" transform="translate(0,0)"><path class="top-bauble top-bauble-style" d="M82,0 A5.5,5.5 0 0,1 93,0"></path><path class="bottom-bauble bottom-bauble-style" d="M82,60 A5.5,5.5 0 1,0 93,60"></path><rect id="rect-optXeLxB" rx="10" ry="10" width="175" height="60" class="main-node-rect role-user"></rect><foreignObject class="labelContainer" width="175" height="60" id="node-optXeLxB"><div class="node-text disable-pen-input" contenteditable="true" style="font-size: 16px;"><p>New Node</p>
</div></foreignObject><rect class="flap-rect flap-closed" rx="5" ry="5" width="52.5" height="7" x="61.25" y="0"></rect><foreignObject class="flap" width="52.5" height="7" x="61.25" y="0"><div class="flap-content" contenteditable="false" style="pointer-events: none;"></div></foreignObject></g><g class="node" id="graph-node-kss3b8Wq" pointer-events="none" transform="translate(1000,-200)"><rect id="rect-kss3b8Wq" rx="10" ry="10" width="300" height="100" class="main-node-rect role-user type-title"></rect><foreignObject class="labelContainer" width="300" height="100" id="node-kss3b8Wq" pointer-events="none"><div class="node-text title disable-pen-input dark-theme" contenteditable="false" style="font-size: 40px;"><p>Shared Spaces</p>
</div></foreignObject></g><g class="node" id="graph-node-o0quowbd" transform="translate(900,-125)"><rect id="rect-o0quowbd" rx="10" ry="10" width="500" height="60" class="main-node-rect role-user type-text"></rect><foreignObject class="labelContainer" width="500" height="60" id="node-o0quowbd"><div class="node-text type-text disable-pen-input dark-theme" contenteditable="true" style="font-size: 16px;">You currently do not have any spaces shared with you at this time.</div></foreignObject></g><line class="dragging-line hidden" stroke="#ccc" stroke-width="4" x1="0" y1="0" x2="0" y2="0"></line></g><g class="drawing-group" transform="translate(284.1111111111111,767.6166666666667) scale(0.9655555555555556)"><circle r="10" fill="rgba(230, 221, 193, 0.3)" stroke="#3a7afe" stroke-width="2" style="pointer-events: none; display: none;"></circle><g class="particles-group"></g></g><g class="cursor-group-container"></g></svg></div> <div id="user-input-wrapper"> <div id="outcome-input-container"> <input type="text" id="outcome-input" placeholder="Enter desired outcome.." autocomplete="off"> </div>  </div> <div class="dynamic-button-container" id="dynamic-button-container"> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="dynamic-copy-nodes-btn"> Copy </button> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="dynamic-connect-selected-nodes-btn"> Connect Selected Nodes </button> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="dynamic-remove-non-flow-connections-btn"> Remove Node Connections </button> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="dynamic-combine-solutions-btn"> Combine Solutions </button> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="dynamic-remove-btn"> Remove </button> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="dynamic-generate-image-btn"> Generate Image </button> </div> <div class="outer-container"> <div id="simple-controls-container">  <div class="simple-control-group"> <div class="login-content"> <div class="button-container"> <button class="custom-button sign-in-button" id="simple-sign-in-button" style="display: none;"> <span class="button-text">Sign in </span> <span class="button-icon"> <i class="fa-duotone fa-right-to-bracket sign-in-icon"></i> </span> </button> <button class="custom-button profile-button" id="simple-profile-button" style="display: block;"> <span class="button-icon"> <i class="fa-duotone fa-user profile-icon"></i> </span> </button> </div> </div> </div> <div class="simple-control-group"> <div class="action-items"> <div class="button-container"> <button class="custom-button custom-tooltip file-button" id="add-space-button" data-tooltip="Add a new space"> <span class="button-icon"> <i class="add-space-icon fa-duotone fa-layer-group"></i> </span> </button> <button class="custom-button custom-tooltip file-button" id="simple-file-button" data-tooltip="Add files (Word, Image, PDF)"> <span class="button-icon"> <i class="fa-duotone fa-file-word word-icon"></i> </span> <span class="button-icon"> <i class="fa-duotone fa-file-image image-icon"></i> </span> <span class="button-icon"> <i class="fa-duotone fa-file-pdf pdf-icon"></i> </span> </button> <button class="custom-button custom-tooltip file-button" id="simple-youtube-button" data-tooltip="Open a YouTube video"> <span class="button-icon"> <i class="fa-brands fa-youtube youtube-icon"></i> </span> </button> <button class="custom-button custom-tooltip file-button" id="simple-browser-button" data-tooltip="Open a webpage"> <span class="button-icon"> <i class="browser-icon fa-browser fa-duotone"></i> </span> </button> </div> </div> </div>  <div class="simple-control-group"> <div class="button-container"> <button class="custom-button custom-tooltip selection-box-button" id="enable-selection-box-button" data-tooltip="Enable Selection Box"> <span class="button-icon"> <i class="fa-light fa-square-dashed selection-box-icon"></i> </span> </button> </div> </div> <div class="simple-control-group"> <div class="drawing-tools"> <div class="button-container"> <button class="circular-button custom-button drawing-button pencil-button"> <span class="button-icon"> <i class="fa-pencil-alt fas"></i> <div class="color-tooltip pencil-color-tooltip" style="flex-direction: column; display: none;">  <div class="custom-button-container" style="margin-bottom:10px">  <div class="custom-button"> <div class="switch-option"> <label class="switch"> <input type="checkbox" id="draw-connection-toggle"> <span class="round slider"></span> </label> <label for="draw-connection-toggle">Draw Connection</label> </div> </div> </div>  <div class="color-options-container" style="display:flex"> <div class="color-option color-option-pencil" data-color="#000000" style="background-color: rgb(0, 0, 0);"></div>  <div class="color-option color-option-pencil" data-color="#FFFFFF" style="background-color: rgb(255, 255, 255);"></div>  <div class="color-option color-option-pencil" data-color="#FF0000" style="background-color: rgb(255, 0, 0);"></div>  <div class="color-option color-option-pencil" data-color="#00FF00" style="background-color: rgb(0, 255, 0);"></div>  <div class="color-option color-option-pencil" data-color="#0000FF" style="background-color: rgb(0, 0, 255);"></div>  <div class="color-option color-option-pencil" data-color="#FFFF00" style="background-color: rgb(255, 255, 0);"></div>  <div class="color-option color-option-pencil" data-color="#FFA500" style="background-color: rgb(255, 165, 0);"></div>  <div class="color-option color-option-pencil" data-color="#800080" style="background-color: rgb(128, 0, 128);"></div>  <div class="color-option color-option-pencil" data-color="#A52A2A" style="background-color: rgb(165, 42, 42);"></div>  <div class="color-option color-option-pencil" data-color="#808080" style="background-color: rgb(128, 128, 128);"></div>  <input type="color" class="color-picker color-picker-pencil" value="#000000"> </div> </div> </span> </button> <button class="circular-button custom-button drawing-button highlighter-button"> <span class="button-icon" id="highlighterIcon"> <i class="fa fa-highlighter"></i> <div class="color-tooltip highlighter-color-tooltip" style="display: none;"> <div class="highlighter-flex-container">  <div class="custom-button-container" style="margin-bottom:10px">  <div class="custom-button"> <div class="switch-option"> <label class="switch"> <input type="checkbox" id="aihighlight-toggle"> <span class="round slider"></span> </label> <label for="aihighlight-toggle">Enable AI-Highlight</label> </div> </div> </div> <div class="color-options-container">  <div class="color-option color-option-highlighter" data-color="#FFFF00" style="background-color: rgb(255, 255, 0);"></div>  <div class="color-option color-option-highlighter" data-color="#FFA500" style="background-color: rgb(255, 165, 0);"></div>  <div class="color-option color-option-highlighter" data-color="#800080" style="background-color: rgb(128, 0, 128);"></div>  <input type="color" class="color-picker color-picker-highlighter" value="#FFFF00"> </div> </div> </div> </span> </button> <button class="circular-button custom-button drawing-button eraser-button"> <span class="button-icon"> <i class="fa-eraser fas"></i> </span> </button> </div> </div> </div> <div class="simple-control-group"> <div class="more-options"> <div class="button-container"> <button class="custom-button more-options-button" id="simple-more-options-button"> <span class="button-icon"> <i class="fa-duotone fa-sliders more-options-icon"></i> </span> </button> </div> </div> </div> </div> </div> <div id="controls-container" class="minimized" style="height: 0px;"> <button id="toggle-controls-btn" class="btn btn-extra-sm btn-primary btn-sm"> <i class="arrow-down fa-chevron-down fas"></i> <i class="arrow-up fa-chevron-up fas" style="display:none"></i> </button>  <div class="control-group horizontal-buttons"> <h5 style="cursor:pointer">Account</h5> <div class="login-content"> <div id="user-info" style="margin-left:10px;display:block"> <div class="user-profile"> <img id="user-profile-pic" alt="Profile Picture" width="50" height="50" src="https://via.placeholder.com/40x40?text=User"> <p id="user-display-name">kr.ys.ta.l.e.sga.nde (<PRESIDIO_ANONYMIZED_EMAIL_ADDRESS>)</p> </div> </div> <div class="user-actions"> <button class="btn-extra-sm custom-button sign-out-button" id="google-signout-btn" style="display:block"> <span class="button-text">Sign out </span> <span class="button-icon"> <i class="fa-duotone fa-right-from-bracket sign-out-icon"></i> </span> </button> <button id="open-settings-btn" class="btn-extra-sm custom-button settings-button" style="display: block;"> <span class="button-text"><i class="fa-cog fas"></i> Settings</span> </button> <button class="custom-button sign-in-button" id="google-signin-btn" style="display:none"> <span class="button-text">Sign in </span> <span class="button-icon"> <i class="fa-duotone fa-right-to-bracket sign-in-icon"></i> </span> </button> </div> </div> </div> <div class="control-group" id="computer-helper-control-group" style="display: none;"> <h5 style="cursor:pointer"> <i class="fa-desktop fas"></i> Computer Helper </h5> <div> <p class="helper-description"> Share your screen with AI for analysis and assistance. </p> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="screen-analysis-btn" onclick="initializeScreenAnalysis()"> <i class="fa-eye fas"></i> Analyze Screen </button>  <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="open-tts-interface-btn" onclick="initializeTTSInterface()"> <i class="fa-volume-up fas"></i> Open TTS Interface </button> </div> </div> <div id="file-operations-container" class="control-group horizontal-buttons" style="display: none;"> <h5 style="cursor:pointer">File Operations</h5> <div> <button id="save-button" class="btn btn-extra-sm btn-primary btn-sm"> <i class="fa-save fas"></i> Save </button> <button id="load-button" class="btn btn-extra-sm btn-primary btn-sm"> <i class="fa-folder-open fas"></i> Load </button> <input type="file" id="file-input" style="display:none" accept=".json"> </div> </div> <div class="control-group" style="display:none"> <h5 style="cursor:pointer">Search</h5> <div> <label for="relevant-code-input">Find Relevant Code:</label> <input type="text" id="relevant-code-input" placeholder="Enter text to search"> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="find-relevant-code-btn" disabled=""> Find <span class="spinner-border spinner-border-sm" id="find-relevant-code-spinner" role="status" aria-hidden="true" style="display:none"></span> </button> </div> </div> <div class="control-group"> <h5 style="cursor:pointer">Node Operations</h5> <div> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="connect-selected-nodes-btn" disabled=""> Connect Selected Nodes </button> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="remove-non-flow-connections-btn" disabled=""> Remove Node Connections </button> <button type="button" class="btn btn-extra-sm btn-primary btn-sm enabled" id="toggle-non-flow-nodes-btn"> Hide Non-Connected Nodes </button> </div> <div> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" style="display:none" id="replaceCode-btn" disabled=""> Replace Project Code with Node Code </button> </div> <div> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" style="display:none" id="askAllFilesIfCodeIsRelevant-btn" disabled=""> Ask All Files if Selected Node is Relevant to It </button> </div> </div>  <div id="visualize-project-container" class="control-group horizontal-buttons" style="display: none;"> <h5 style="cursor:pointer">Visualize Project</h5> <div class="button-options-group"> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="file-directory-nodes-btn"> Create Project Directory File Nodes </button> <div> <div class="checkbox-option"> <label for="fileFunctionsCheckbox">Get File Functions</label> <input type="checkbox" id="fileFunctionsCheckbox" checked=""> </div> <div class="checkbox-option"> <label for="colorCodingCheckbox">Enable Color Coding</label> <input type="checkbox" id="colorCodingCheckbox" checked=""> </div> <div class="checkbox-option"> <label for="connectFunctionsCheckbox">Connect Files to Their Functions</label> <input type="checkbox" id="connectFunctionsCheckbox"> </div> </div> </div> <div> <button type="button" class="btn btn-extra-sm btn-primary btn-sm disabled" id="toggle-flow-links-btn" disabled=""> Hide Flow Links </button> </div> </div>  <div class="control-group" style="display:none"> <h5 style="cursor:pointer">Coding</h5> <div> <button type="button" class="btn btn-extra-sm btn-primary btn-sm" id="combine-solutions-btn" disabled=""> Combine Solutions and Send for Analysis </button> </div> </div> <div class="control-group"> <h5 style="cursor:pointer"> <i class="fa-eye fas"></i> Visualization </h5> <div> <button type="button" style="display:none" class="btn btn-extra-sm btn-primary btn-sm" id="settle-nodes-btn"> <i class="fa-compress-arrows-alt fas"></i> Settle Nodes </button> </div> <div style="padding-top:8px"> <div class="checkbox-option"> <label for="darkModeCheckbox">Dark Mode</label> <input type="checkbox" id="darkModeCheckbox"> </div> <div class="checkbox-option"> <label for="disableTransitionsCheckbox">Disable Transitions</label> <input type="checkbox" id="disableTransitionsCheckbox"> </div> <div class="theme-selector"> <span class="title-text">Theme:</span> <div id="theme-buttons"><button class="theme-button" data-theme="default">
      <div class="theme-preview">
        <span class="color-dot" style="background-color:#66cdaa;"></span>
        <span class="color-dot" style="background-color:#7bc4d1;"></span>
        <span class="color-dot" style="background-color:#73b9ff;"></span>
      </div>
      <span class="theme-name">Default</span>
    </button><button class="theme-button" data-theme="futuristic">
      <div class="theme-preview">
        <span class="color-dot" style="background-color:#f1f8e9;"></span>
        <span class="color-dot" style="background-color:#e0f7f4;"></span>
        <span class="color-dot" style="background-color:#d0efff;"></span>
      </div>
      <span class="theme-name">Futuristic</span>
    </button></div> </div> </div> </div> <div id="api-requests-container" class="api-requests-container control-group"> <h5 class="api-requests-title">API Requests</h5> <ul id="api-requests-list" class="api-requests-list">  </ul> </div> <div class="control-group"> <h5 style="cursor:pointer"> <i class="contact-icon fa-envelope fas"></i> Contact &amp; Feedback </h5> <div> <button type="button" class="btn-extra-sm custom-button email-btn" onclick="window.location.href='mailto:<PRESIDIO_ANONYMIZED_EMAIL_ADDRESS>'"> <i class="fa-envelope fas"></i> Email Me (<PRESIDIO_ANONYMIZED_EMAIL_ADDRESS>) </button> <button type="button" class="btn-extra-sm custom-button message-btn" onclick="window.messageIan()"> <i class="fa-comment fas"></i> Message Me </button> <button type="button" class="btn-extra-sm bug-btn custom-button" id="report-bug-btn"> <i class="fa-bug fas"></i> Report Bug </button> <button type="button" class="btn-extra-sm custom-button feature-btn" id="suggest-feature-btn"> <i class="fa-lightbulb fas"></i> Suggest Feature </button> </div> </div> </div> <script>document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll('.checkbox-option input[type="checkbox"]').forEach(e=>{e.addEventListener("change",function(){let e=this.parentElement;e.classList.add("animated-border"),setTimeout(()=>{e.classList.remove("animated-border")},1e3)})})});</script>  <script src="index.1d7145f8.js" type="module"></script>  <div class="tutorial-overlay" style="width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; background: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 30%); display: none; justify-content: flex-start; align-items: center; pointer-events: none;"></div><div contenteditable="true" style="position: absolute; opacity: 0;"></div><div id="rtc-video-container" class="rtc-video-container hidden visible with-transitions" style="width: 330px; height: 175px; --rtc-window-width: 0px; --rtc-window-height: 0px; left: 785px; top: 20px;"><div class="rtc-video-header"></div><div class="rtc-video-content" style="flex-direction: column;"><video id="rtc-local-video" autoplay="" style="width: 100%; height: 50%;"></video><video id="rtc-remote-video" autoplay="" style="width: 100%; height: 50%;"></video><div class="rtc-call-controls" style="transform: translateX(-50%) scale(0.5);"><button data-tooltip="Mute" disabled=""><i class="fas fa-microphone"></i></button><button data-tooltip="Turn off video"><i class="fas fa-video"></i></button><button data-tooltip="Click to select a screen, window, or tab to share"><i class="fas fa-desktop"></i></button><button data-tooltip="End call"><i class="fas fa-phone"></i></button></div><div id="rtc-call-status"></div><div id="rtc-connection-quality"></div><div id="rtc-user-name-overlay"></div></div><button class="rtc-minimize-button">−</button><div class="rtc-resize-handle rtc-resize-n"></div><div class="rtc-resize-handle rtc-resize-e"></div><div class="rtc-resize-handle rtc-resize-s"></div><div class="rtc-resize-handle rtc-resize-w"></div><div class="rtc-resize-handle rtc-resize-nw"></div><div class="rtc-resize-handle rtc-resize-ne"></div><div class="rtc-resize-handle rtc-resize-sw"></div><div class="rtc-resize-handle rtc-resize-se"></div></div><div class="ui-feedback-container"></div>
<div id="user-settings-modal" class="user-settings-modal-overlay">
  <div class="user-settings-modal-content">
    <button id="user-settings-close-button" class="user-settings-close-button">×</button>
    
    <h2 class="modal-title">User Settings</h2>
    
    <div class="user-info-section">
      <img id="user-photo" class="user-photo" src="" alt="User Profile Picture">
      <div class="user-details">
        <h3 id="user-name">kr.ys.ta.l.e.sga.nde</h3>
        <p id="user-email"><PRESIDIO_ANONYMIZED_EMAIL_ADDRESS></p>
      </div>
    </div>
    
   <div class="credit-info-section">
    <h3>Credit Balance</h3>
    <p id="credit-balance" class="credit-balance">$1.60</p>
    <button id="view-model-costs-button" class="finance-action-button">
      <i class="fas fa-list-ul"></i> View Model Costs
    </button>
    <button id="purchase-credits-button" class="finance-action-button">
      <i class="fas fa-coins"></i> Purchase Credits
    </button>
    <button id="billing-portal-button" class="finance-action-button">
      <i class="fas fa-file-invoice-dollar"></i> Billing Portal
    </button>
  </div>
    
    <div class="action-buttons">
      <button id="edit-profile-button" class="custom-button">Edit Profile</button>
      <button id="friends-button" class="custom-button">Friends</button>
      <button id="sign-out-button" class="custom-button">Sign Out</button>
    </div>
    
    <div class="delete-account-section">
      <button id="delete-account-button" class="custom-button delete-account-button">Delete Account</button>
    </div>
  </div>
</div>

<div id="stripe-modal" class="stripe-modal-overlay visible">
    <div class="stripe-modal-content">
        <div class="stripe-modal-header">
            <h2>Choose Credit Package</h2>
            <p class="pay-as-you-go">Pay as you go - No subscription required</p>
            <button id="explain-pricing-btn" class="explain-pricing-btn">Explain Pricing</button>
            <button id="stripe-close-button" class="stripe-close-button">×</button>
        </div>
        <div class="stripe-modal-body">
            <div class="credit-packages" id="credit-packages"><div class="credit-package dollar-package disabled">
    <div class="credit-amount">$1</div>
    <div class="redeem-text">Redeem</div>
    <div id="countdown-timer" class="countdown-timer">Available in 6d 22h 37m 46s</div>
  </div><div class="credit-package">
      
      <div class="credit-amount">$5</div>
      <div class="stripe-fee">Stripe Fee: $0.45</div>
      <div class="total-charge">Total: $5.45</div>
    </div><div class="credit-package">
      
      <div class="credit-amount">$10</div>
      <div class="stripe-fee">Stripe Fee: $0.59</div>
      <div class="total-charge">Total: $10.59</div>
    </div><div class="credit-package">
      
      <div class="credit-amount">$20</div>
      <div class="stripe-fee">Stripe Fee: $0.88</div>
      <div class="total-charge">Total: $20.88</div>
    </div><div class="credit-package">
      <div class="best-value">Best Value</div>
      <div class="credit-amount">$50</div>
      <div class="stripe-fee">Stripe Fee: $1.75</div>
      <div class="total-charge">Total: $51.75</div>
    </div></div>
            <button id="proceed-to-checkout" class="stripe-checkout-btn" disabled="">Proceed to Checkout</button>
            <form id="stripe-checkout-form" style="display: none;">
                <div class="form-group">
                    <div id="stripe-checkout-container">
                        <!-- Checkout will insert the payment form here -->
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>
<iframe name="__privateStripeController8731" frameborder="0" allowtransparency="true" scrolling="no" role="presentation" allow="payment *" src="https://js.stripe.com/v3/controller-with-preconnect-52bb9961886364429336a5e4c538a8fe.html#apiKey=pk_live_51P7MDXLkbBqYmnbxLn005mIXxmNaT0U7yrWN1FRFcH1krhPHkdKxUdsk1OCnAJk9qPxQNv6I6RbROh1egWillpVG00z86nEQxg&amp;stripeJsId=85d470be-f659-47a0-81d6-487aaa419fc3&amp;controllerCount=1&amp;isCheckout=false&amp;stripeJsLoadTime=1731407460651&amp;manualBrowserDeprecationRollout=false&amp;mids[guid]=NA&amp;mids[muid]=63920e9f-35ef-4acf-a139-01319121ef7c39d6b8&amp;mids[sid]=afe596cc-2b0a-4483-b713-33a03d406befc1a424&amp;referrer=https%3A%2F%2Fspaice.live%2F%3Fgraph%3D-OBUcETp_Vybw7qfkup4&amp;controllerId=__privateStripeController8731" aria-hidden="true" tabindex="-1" style="border: none !important; margin: 0px !important; padding: 0px !important; width: 1px !important; min-width: 100% !important; overflow: hidden !important; display: block !important; visibility: hidden !important; position: fixed !important; height: 1px !important; pointer-events: none !important; user-select: none !important;"></iframe><iframe name="__privateStripeMetricsController8730" frameborder="0" allowtransparency="true" scrolling="no" role="presentation" allow="payment *" src="https://js.stripe.com/v3/m-outer-3437aaddcdf6922d623e172c2d6f9278.html#url=https%3A%2F%2Fspaice.live%2F%3Fgraph%3D-OBUcETp_Vybw7qfkup4&amp;title=Home&amp;referrer=&amp;muid=63920e9f-35ef-4acf-a139-01319121ef7c39d6b8&amp;sid=afe596cc-2b0a-4483-b713-33a03d406befc1a424&amp;version=6&amp;preview=false" aria-hidden="true" tabindex="-1" style="border: none !important; margin: 0px !important; padding: 0px !important; width: 1px !important; min-width: 100% !important; overflow: hidden !important; display: block !important; visibility: hidden !important; position: fixed !important; height: 1px !important; pointer-events: none !important; user-select: none !important;"></iframe></body></html>