@versini/sassysaint 8.26.0 → 8.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { jsxs as s, jsx as r } from "react/jsx-runtime";
2
- import { b as m, ButtonScroll as n } from "./App.DDDRpI9p.js";
2
+ import { b as m, ButtonScroll as n } from "./App.BVP_PtVu.js";
3
3
  import { useRef as f, useCallback as u, useLayoutEffect as p } from "react";
4
- import { useMarkdown as d } from "./useMarkdown.8NiQFgfl.js";
4
+ import { useMarkdown as d } from "./useMarkdown.OItCHZKS.js";
5
5
  const v = ({ content: o }) => {
6
6
  const [l, t] = d(), { ref: a, inViewport: c } = m(), e = f(null), i = u(() => {
7
7
  e.current && e.current.scrollIntoView({
@@ -1,24 +1,24 @@
1
- import { jsxs as A, Fragment as n, jsx as e } from "react/jsx-runtime";
2
- import { i as c, useServerCapabilities as g, useChangelogs as u, rr as E } from "./App.DDDRpI9p.js";
3
- import { S as a, renderDataAsList as d, CARDS as r, pluralize as I, isProbablyMobile as S, ABOUT_TITLE as O } from "./index.CJ4xsAr8.js";
1
+ import { jsxs as g, Fragment as n, jsx as e } from "react/jsx-runtime";
2
+ import { i as c, useServerCapabilities as u, useChangelogs as A, rr as E } from "./App.BVP_PtVu.js";
3
+ import { S as a, renderDataAsList as d, CARDS as r, pluralize as I, isProbablyMobile as S, ABOUT_TITLE as O } from "./index.C8gYaKGn.js";
4
4
  import B from "clsx";
5
5
  import { Suspense as C, lazy as U } from "react";
6
6
  const L = U(
7
7
  () => import(
8
8
  /* webpackChunkName: "LazyAboutChangelog" */
9
- "./AboutChangelog.CsXfRf4l.js"
9
+ "./AboutChangelog.-nxQGKGb.js"
10
10
  )
11
11
  ), N = () => {
12
- const s = c(), i = c(), { data: t, isSuccess: m } = g(), { data: h, isSuccess: T } = u(), b = t?.version || "", o = t?.models || [], p = t?.buildTime || "";
13
- return /* @__PURE__ */ A(n, { children: [
12
+ const s = c(), i = c(), { data: t, isSuccess: m } = u(), { data: h, isSuccess: T } = A(), b = t?.version || "", o = t?.models || [], p = t?.buildTime || "";
13
+ return /* @__PURE__ */ g(n, { children: [
14
14
  /* @__PURE__ */ e(
15
15
  a,
16
16
  {
17
17
  header: r.ABOUT.TITLE_CLIENT,
18
18
  className: "prose-dark dark:prose-lighter mb-4",
19
19
  children: d(s, {
20
- [r.ABOUT.VERSION]: "8.26.0",
21
- [r.ABOUT.BUILD_TIMESTAMP]: "07/18/2025 09:48 AM EDT"
20
+ [r.ABOUT.VERSION]: "8.26.2",
21
+ [r.ABOUT.BUILD_TIMESTAMP]: "07/18/2025 05:51 PM EDT"
22
22
  })
23
23
  }
24
24
  ),
@@ -1,5 +1,5 @@
1
1
  import { jsx as i, jsxs as T, Fragment as ue } from "react/jsx-runtime";
2
- import { Subscribable as lo, pendingThenable as ba, resolveEnabled as ke, shallowEqualObjects as wr, resolveStaleTime as pt, noop as Er, isServer as kr, isValidTimeout as va, focusManager as uo, fetchState as ho, replaceData as wa, notifyManager as kn, timeUntilStale as fo, shouldThrowError as mo, useQueryClient as po, I as re, ACTION_SORT as go, ACTION_SEARCH as yo, ACTION_RESET_PROMPT as _n, ACTION_TOGGLE_PROMPT as Sn, le as Ce, DEFAULT_ICON_ACTION_SIZE as Te, n as Ue, isElectron as Ea, isProbablyiPhone as yt, L as Tn, j as gt, C as ka, LOCAL_STORAGE_PREFIX as Ft, LOCAL_STORAGE_PRIVATE_DISCLOSURE as bo, LOCAL_STORAGE_REASONING_DISCLOSURE as vo, TOAST_CHAT_SAVED as wo, TOAST_PROVIDER_CHANGED as Eo, PROMPT_CLASSNAME as ko, PROMPT_EDITABLE_AREA_CLASSNAME as _o, ERROR_MESSAGE as So, ROLE_INTERNAL as _r, CLIPBOARD_PROMPT as _a, isProbablyMobile as Xe, INPUT_PLACEHOLDER_TEXT_MOBILE as Sa, INPUT_PLACEHOLDER_TEXT_ENTER as Ta, INPUT_PLACEHOLDER_TEXT_CMD_ENTER as Ca, INPUT_BOTTOM_OFFSET_EXTRA as To, INPUT_BOTTOM_OFFSET as Cn, FOOTER_DISCLAIMER as Co, LOG_OUT as Ia, getMessageContaintWrapperClass as Io, UI_FOOTER_BUFFER as In, UI_BUTTON_SCROLL_BUFFER as xo, Logo as Ro, UI_DEFAULT_MAIN_HEIGHT as xa, APP_CLASSNAME as Ao, getMainPaddingClass as Ra, r as No, LOCAL_STORAGE_SORT as Oo, LOCAL_STORAGE_SEARCH as $o } from "./index.CJ4xsAr8.js";
2
+ import { Subscribable as lo, pendingThenable as ba, resolveEnabled as ke, shallowEqualObjects as wr, resolveStaleTime as pt, noop as Er, isServer as kr, isValidTimeout as va, focusManager as uo, fetchState as ho, replaceData as wa, notifyManager as kn, timeUntilStale as fo, shouldThrowError as mo, useQueryClient as po, I as re, ACTION_SORT as go, ACTION_SEARCH as yo, ACTION_RESET_PROMPT as _n, ACTION_TOGGLE_PROMPT as Sn, le as Ce, DEFAULT_ICON_ACTION_SIZE as Te, n as Ue, isElectron as Ea, isProbablyiPhone as yt, L as Tn, j as gt, C as ka, LOCAL_STORAGE_PREFIX as Ft, LOCAL_STORAGE_PRIVATE_DISCLOSURE as bo, LOCAL_STORAGE_REASONING_DISCLOSURE as vo, TOAST_CHAT_SAVED as wo, TOAST_PROVIDER_CHANGED as Eo, PROMPT_CLASSNAME as ko, PROMPT_EDITABLE_AREA_CLASSNAME as _o, ERROR_MESSAGE as So, ROLE_INTERNAL as _r, CLIPBOARD_PROMPT as _a, isProbablyMobile as Xe, INPUT_PLACEHOLDER_TEXT_MOBILE as Sa, INPUT_PLACEHOLDER_TEXT_ENTER as Ta, INPUT_PLACEHOLDER_TEXT_CMD_ENTER as Ca, INPUT_BOTTOM_OFFSET_EXTRA as To, INPUT_BOTTOM_OFFSET as Cn, FOOTER_DISCLAIMER as Co, LOG_OUT as Ia, getMessageContaintWrapperClass as Io, UI_FOOTER_BUFFER as In, UI_BUTTON_SCROLL_BUFFER as xo, Logo as Ro, UI_DEFAULT_MAIN_HEIGHT as xa, APP_CLASSNAME as Ao, getMainPaddingClass as Ra, r as No, LOCAL_STORAGE_SORT as Oo, LOCAL_STORAGE_SEARCH as $o } from "./index.C8gYaKGn.js";
3
3
  import * as Y from "react";
4
4
  import Z, { useEffect as $, useRef as R, useState as F, useCallback as W, useSyncExternalStore as Po, useMemo as he, useId as Wr, useContext as X, useLayoutEffect as Ne, createContext as xn, useDebugValue as Mo, forwardRef as Rn, Suspense as An, lazy as nt, useReducer as St } from "react";
5
5
  import p from "clsx";
@@ -1720,13 +1720,13 @@ const Tt = {
1720
1720
  );
1721
1721
  qn.displayName = "ButtonIcon";
1722
1722
  /*!
1723
- @versini/ui-button v6.0.8
1723
+ @versini/ui-button v6.0.9
1724
1724
  © 2025 gizmette.com
1725
1725
  */
1726
1726
  try {
1727
1727
  window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
1728
- version: "6.0.8",
1729
- buildTime: "06/28/2025 08:58 PM EDT",
1728
+ version: "6.0.9",
1729
+ buildTime: "07/14/2025 12:04 PM EDT",
1730
1730
  homepage: "https://github.com/aversini/ui-components",
1731
1731
  license: "MIT"
1732
1732
  });
@@ -2048,13 +2048,13 @@ const ot = Z.createContext({
2048
2048
  );
2049
2049
  };
2050
2050
  /*!
2051
- @versini/ui-table v4.0.8
2051
+ @versini/ui-table v4.0.9
2052
2052
  © 2025 gizmette.com
2053
2053
  */
2054
2054
  try {
2055
2055
  window.__VERSINI_UI_TABLE__ || (window.__VERSINI_UI_TABLE__ = {
2056
- version: "4.0.8",
2057
- buildTime: "06/28/2025 08:58 PM EDT",
2056
+ version: "4.0.9",
2057
+ buildTime: "07/14/2025 12:04 PM EDT",
2058
2058
  homepage: "https://github.com/aversini/ui-components",
2059
2059
  license: "MIT"
2060
2060
  });
@@ -5946,13 +5946,13 @@ const Ot = (e, t = "px") => typeof e > "u" ? "" : `${Math.round(e)}${t}`, mu = (
5946
5946
  );
5947
5947
  };
5948
5948
  /*!
5949
- @versini/ui-tooltip v2.1.0
5949
+ @versini/ui-tooltip v2.1.1
5950
5950
  © 2025 gizmette.com
5951
5951
  */
5952
5952
  try {
5953
5953
  window.__VERSINI_UI_TOOLTIP__ || (window.__VERSINI_UI_TOOLTIP__ = {
5954
- version: "2.1.0",
5955
- buildTime: "06/28/2025 08:58 PM EDT",
5954
+ version: "2.1.1",
5955
+ buildTime: "07/14/2025 12:05 PM EDT",
5956
5956
  homepage: "https://github.com/aversini/ui-components",
5957
5957
  license: "MIT"
5958
5958
  });
@@ -6545,13 +6545,13 @@ const $t = {
6545
6545
  );
6546
6546
  da.displayName = "ButtonIcon";
6547
6547
  /*!
6548
- @versini/ui-button v6.0.8
6548
+ @versini/ui-button v6.0.9
6549
6549
  © 2025 gizmette.com
6550
6550
  */
6551
6551
  try {
6552
6552
  window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
6553
- version: "6.0.8",
6554
- buildTime: "06/28/2025 08:58 PM EDT",
6553
+ version: "6.0.9",
6554
+ buildTime: "07/14/2025 12:04 PM EDT",
6555
6555
  homepage: "https://github.com/aversini/ui-components",
6556
6556
  license: "MIT"
6557
6557
  });
@@ -6757,7 +6757,7 @@ const Ku = Y.forwardRef(function(e, t) {
6757
6757
  try {
6758
6758
  window.__VERSINI_UI_MODAL__ || (window.__VERSINI_UI_MODAL__ = {
6759
6759
  version: "2.0.5",
6760
- buildTime: "06/28/2025 08:58 PM EDT",
6760
+ buildTime: "07/14/2025 12:04 PM EDT",
6761
6761
  homepage: "https://github.com/aversini/ui-components",
6762
6762
  license: "MIT"
6763
6763
  });
@@ -6850,13 +6850,13 @@ const mt = "panel", Pt = "messagebox", Yu = ({
6850
6850
  ] }) }) });
6851
6851
  };
6852
6852
  /*!
6853
- @versini/ui-panel v2.0.8
6853
+ @versini/ui-panel v2.0.9
6854
6854
  © 2025 gizmette.com
6855
6855
  */
6856
6856
  try {
6857
6857
  window.__VERSINI_UI_PANEL__ || (window.__VERSINI_UI_PANEL__ = {
6858
- version: "2.0.8",
6859
- buildTime: "06/28/2025 08:58 PM EDT",
6858
+ version: "2.0.9",
6859
+ buildTime: "07/14/2025 12:04 PM EDT",
6860
6860
  homepage: "https://github.com/aversini/ui-components",
6861
6861
  license: "MIT"
6862
6862
  });
@@ -7274,13 +7274,13 @@ const th = ({ className: e, ...t }) => {
7274
7274
  return /* @__PURE__ */ i("div", { className: r, ...t });
7275
7275
  };
7276
7276
  /*!
7277
- @versini/ui-menu v4.0.6
7277
+ @versini/ui-menu v4.0.7
7278
7278
  © 2025 gizmette.com
7279
7279
  */
7280
7280
  try {
7281
7281
  window.__VERSINI_UI_MENU__ || (window.__VERSINI_UI_MENU__ = {
7282
- version: "4.0.6",
7283
- buildTime: "06/28/2025 08:58 PM EDT",
7282
+ version: "4.0.7",
7283
+ buildTime: "07/14/2025 12:04 PM EDT",
7284
7284
  homepage: "https://github.com/aversini/ui-components",
7285
7285
  license: "MIT"
7286
7286
  });
@@ -7442,7 +7442,7 @@ const rh = (e) => {
7442
7442
  ] });
7443
7443
  };
7444
7444
  let pr = null, gr = null;
7445
- const Gs = async () => (pr || (pr = import("./index.B8EJY2WR.js")), pr), Js = async () => (gr || (gr = import("./index.CJ4xsAr8.js").then((e) => e.utilities)), gr), nh = async () => {
7445
+ const Gs = async () => (pr || (pr = import("./index.B8EJY2WR.js")), pr), Js = async () => (gr || (gr = import("./index.C8gYaKGn.js").then((e) => e.utilities)), gr), nh = async () => {
7446
7446
  try {
7447
7447
  await Promise.all([Gs(), Js()]);
7448
7448
  } catch {
@@ -8166,17 +8166,17 @@ const Gs = async () => (pr || (pr = import("./index.B8EJY2WR.js")), pr), Js = as
8166
8166
  }
8167
8167
  );
8168
8168
  }, Ih = nt(
8169
- () => import("./ProfileEntry.DGA1XuAX.js").then((e) => ({ default: e.Profile }))
8169
+ () => import("./ProfileEntry.CvIH-BRb.js").then((e) => ({ default: e.Profile }))
8170
8170
  ), xh = nt(
8171
- () => import("./SettingsEntry.BWU8Hn98.js").then((e) => ({
8171
+ () => import("./SettingsEntry.DQK31axq.js").then((e) => ({
8172
8172
  default: e.SettingsPanel
8173
8173
  }))
8174
8174
  ), Rh = nt(
8175
- () => import("./HistoryEntry.DCLK_WA_.js").then((e) => ({ default: e.HistoryPanel }))
8175
+ () => import("./HistoryEntry.dbqf5xJU.js").then((e) => ({ default: e.HistoryPanel }))
8176
8176
  ), Ah = nt(
8177
- () => import("./AboutEntry.3vmmHPmH.js").then((e) => ({ default: e.About }))
8177
+ () => import("./AboutEntry.CmsqzDO0.js").then((e) => ({ default: e.About }))
8178
8178
  ), Nh = nt(
8179
- () => import("./UsageEntry.DEKx92R9.js").then((e) => ({ default: e.Usage }))
8179
+ () => import("./UsageEntry.D3MF8C1S.js").then((e) => ({ default: e.Usage }))
8180
8180
  ), Oh = ({ type: e, open: t, onOpenChange: r }) => t ? /* @__PURE__ */ i(An, { fallback: /* @__PURE__ */ i("div", {}), children: (() => {
8181
8181
  switch (e) {
8182
8182
  case "profile":
@@ -8196,7 +8196,7 @@ const Gs = async () => (pr || (pr = import("./index.B8EJY2WR.js")), pr), Js = as
8196
8196
  isComponent: e = !1
8197
8197
  }) => {
8198
8198
  const { logout: t, getAccessToken: r } = Ue(), [a, n] = F(null), [s, o] = F(!1), [c, l] = F(!1), [d, f] = F(!1), u = W(() => {
8199
- d || (import("./ProfileEntry.DGA1XuAX.js"), import("./SettingsEntry.BWU8Hn98.js"), import("./HistoryEntry.DCLK_WA_.js"), import("./AboutEntry.3vmmHPmH.js"), import("./UsageEntry.DEKx92R9.js"), f(!0));
8199
+ d || (import("./ProfileEntry.CvIH-BRb.js"), import("./SettingsEntry.DQK31axq.js"), import("./HistoryEntry.dbqf5xJU.js"), import("./AboutEntry.CmsqzDO0.js"), import("./UsageEntry.D3MF8C1S.js"), f(!0));
8200
8200
  }, [d]), h = (y) => {
8201
8201
  n(y);
8202
8202
  }, m = () => {
@@ -8803,13 +8803,13 @@ const Dt = {
8803
8803
  );
8804
8804
  ha.displayName = "ButtonIcon";
8805
8805
  /*!
8806
- @versini/ui-button v6.0.8
8806
+ @versini/ui-button v6.0.9
8807
8807
  © 2025 gizmette.com
8808
8808
  */
8809
8809
  try {
8810
8810
  window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
8811
- version: "6.0.8",
8812
- buildTime: "06/28/2025 08:58 PM EDT",
8811
+ version: "6.0.9",
8812
+ buildTime: "07/14/2025 12:04 PM EDT",
8813
8813
  homepage: "https://github.com/aversini/ui-components",
8814
8814
  license: "MIT"
8815
8815
  });
@@ -9082,13 +9082,13 @@ const rf = ({ kind: e, noMaxWidth: t }) => p("px-4 py-2", {
9082
9082
  ] });
9083
9083
  };
9084
9084
  /*!
9085
- @versini/ui-bubble v4.1.3
9085
+ @versini/ui-bubble v4.1.4
9086
9086
  © 2025 gizmette.com
9087
9087
  */
9088
9088
  try {
9089
9089
  window.__VERSINI_UI_BUBBLE__ || (window.__VERSINI_UI_BUBBLE__ = {
9090
- version: "4.1.3",
9091
- buildTime: "06/28/2025 08:58 PM EDT",
9090
+ version: "4.1.4",
9091
+ buildTime: "07/14/2025 12:05 PM EDT",
9092
9092
  homepage: "https://github.com/aversini/ui-components",
9093
9093
  license: "MIT"
9094
9094
  });
@@ -9657,13 +9657,13 @@ const Bt = {
9657
9657
  );
9658
9658
  io.displayName = "ButtonIcon";
9659
9659
  /*!
9660
- @versini/ui-button v6.0.8
9660
+ @versini/ui-button v6.0.9
9661
9661
  © 2025 gizmette.com
9662
9662
  */
9663
9663
  try {
9664
9664
  window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
9665
- version: "6.0.8",
9666
- buildTime: "06/28/2025 08:58 PM EDT",
9665
+ version: "6.0.9",
9666
+ buildTime: "07/14/2025 12:04 PM EDT",
9667
9667
  homepage: "https://github.com/aversini/ui-components",
9668
9668
  license: "MIT"
9669
9669
  });
@@ -9752,13 +9752,13 @@ const Rf = 200, Af = ({
9752
9752
  ] });
9753
9753
  };
9754
9754
  /*!
9755
- @versini/ui-truncate v4.0.8
9755
+ @versini/ui-truncate v4.0.9
9756
9756
  © 2025 gizmette.com
9757
9757
  */
9758
9758
  try {
9759
9759
  window.__VERSINI_UI_TRUNCATE__ || (window.__VERSINI_UI_TRUNCATE__ = {
9760
- version: "4.0.8",
9761
- buildTime: "06/28/2025 08:58 PM EDT",
9760
+ version: "4.0.9",
9761
+ buildTime: "07/14/2025 12:05 PM EDT",
9762
9762
  homepage: "https://github.com/aversini/ui-components",
9763
9763
  license: "MIT"
9764
9764
  });
@@ -9777,7 +9777,7 @@ const Of = ({ content: e }) => /* @__PURE__ */ i(
9777
9777
  ), En = 2, $f = nt(
9778
9778
  () => import(
9779
9779
  /* webpackChunkName: "LazyMessageAssistant" */
9780
- "./ChatBubbleAssistant.HIDiXPqt.js"
9780
+ "./ChatBubbleAssistant.AKasFgYI.js"
9781
9781
  )
9782
9782
  ), Pf = Z.memo(
9783
9783
  ({
@@ -9909,7 +9909,7 @@ function co({
9909
9909
  setTimeout(() => {
9910
9910
  document.getElementById("root")?.classList.replace("app-hidden", "fadeIn");
9911
9911
  }, 500);
9912
- }), $(() => {
9912
+ }, []), $(() => {
9913
9913
  _ && _.provider && b({
9914
9914
  type: Zn,
9915
9915
  payload: {
@@ -1,7 +1,7 @@
1
1
  import { jsx as Tp } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as ln } from "./App.DDDRpI9p.js";
2
+ import { getDefaultExportFromCjs as ln } from "./App.BVP_PtVu.js";
3
3
  import Ap, { useState as Cp, useEffect as Pp } from "react";
4
- import { TRIMESTERS as rn, TRIMESTERS_SHORT as Op, isProbablyMobile as Lp } from "./index.CJ4xsAr8.js";
4
+ import { TRIMESTERS as rn, TRIMESTERS_SHORT as Op, isProbablyMobile as Lp } from "./index.C8gYaKGn.js";
5
5
  var ls = { exports: {} }, Ep = ls.exports, on;
6
6
  function Ip() {
7
7
  return on || (on = 1, function(ve, ne) {
@@ -1,9 +1,9 @@
1
1
  import { jsx as T } from "react/jsx-runtime";
2
- import { ChatContext as b, E as _, Me as N, Oe as S } from "./App.DDDRpI9p.js";
2
+ import { ChatContext as b, E as _, Me as N, Oe as S } from "./App.BVP_PtVu.js";
3
3
  import L from "clsx";
4
4
  import k, { useState as E, useRef as g, useEffect as O, useContext as w } from "react";
5
- import { LOCAL_STORAGE_PREFIX as F, LOCAL_STORAGE_CHAT_DETAILS as G, convertCamelCaseToReadable as U, numberFormatter as I, pluralize as P, ROLE_INTERNAL as v } from "./index.CJ4xsAr8.js";
6
- import { useMarkdown as y } from "./useMarkdown.8NiQFgfl.js";
5
+ import { LOCAL_STORAGE_PREFIX as F, LOCAL_STORAGE_CHAT_DETAILS as G, convertCamelCaseToReadable as U, numberFormatter as I, pluralize as P, ROLE_INTERNAL as v } from "./index.C8gYaKGn.js";
6
+ import { useMarkdown as y } from "./useMarkdown.OItCHZKS.js";
7
7
  const D = 2, j = D * 1e3, h = "", q = (e) => e * (2 - e);
8
8
  function V(e, a = !0) {
9
9
  const [i, C] = E(0), [c, p] = E(0), [t, A] = E(e), r = g(0), s = g(0);
@@ -1,6 +1,6 @@
1
1
  import { jsxs as s, jsx as e, Fragment as Z } from "react/jsx-runtime";
2
- import { I as H, n as G, INFINITE_SCROLL_LIMIT as M, INFINITE_SCROLL_THRESHOLD as B, LOCAL_STORAGE_PREFIX as U, LOCAL_STORAGE_SORT as ee, APP_CLASSNAME as te, le as b, CARDS as se, pluralize as ae, ACTION_SORT as V, TOAST_CHAT_DELETED as re, TOAST_PROVIDER_CHANGED as oe, LOCAL_STORAGE_SEARCH as ce, HISTORY_TITLE as ne, fe as ie, debounce as le, ACTION_SEARCH as de } from "./index.CJ4xsAr8.js";
3
- import { HistoryContext as Y, ChatContext as j, useAiChat as me, E as q, useUserPreferences as he, ConfirmationPanel as ue, LazyToastContainerWrapper as pe, He as Ce, $e as Se, qe as _, Pe as l, Ye as ge, Ge as ye, j as fe, a as xe, p as Te, p$1 as ve, at as $, Fe as we, mutateCall as P, SERVICE_TYPES as F, showErrorToast as Ee, R as x, O as De, n as Ne, o as Ae, setNewProvider as Ie, CHAT_SET_PROVIDER as Re, showSuccessToast as ze, CHAT_SET_STATUS as _e, useChatsHistory as be, rr as ke, a$1 as Le } from "./App.DDDRpI9p.js";
2
+ import { I as H, n as G, INFINITE_SCROLL_LIMIT as M, INFINITE_SCROLL_THRESHOLD as B, LOCAL_STORAGE_PREFIX as U, LOCAL_STORAGE_SORT as ee, APP_CLASSNAME as te, le as b, CARDS as se, pluralize as ae, ACTION_SORT as V, TOAST_CHAT_DELETED as re, TOAST_PROVIDER_CHANGED as oe, LOCAL_STORAGE_SEARCH as ce, HISTORY_TITLE as ne, fe as ie, debounce as le, ACTION_SEARCH as de } from "./index.C8gYaKGn.js";
3
+ import { HistoryContext as Y, ChatContext as j, useAiChat as me, E as q, useUserPreferences as he, ConfirmationPanel as ue, LazyToastContainerWrapper as pe, He as Ce, $e as Se, qe as _, Pe as l, Ye as ge, Ge as ye, j as fe, a as xe, p as Te, p$1 as ve, at as $, Fe as we, mutateCall as P, SERVICE_TYPES as F, showErrorToast as Ee, R as x, O as De, n as Ne, o as Ae, setNewProvider as Ie, CHAT_SET_PROVIDER as Re, showSuccessToast as ze, CHAT_SET_STATUS as _e, useChatsHistory as be, rr as ke, a$1 as Le } from "./App.BVP_PtVu.js";
4
4
  import { useRef as k, useState as D, useContext as N, useCallback as He, useEffect as L, Fragment as Oe } from "react";
5
5
  const Me = ({
6
6
  className: a,
@@ -1,4 +1,4 @@
1
- import { createContext as be, createSignal as R, onMount as Mt, createEffect as B, createMemo as M, createComponent as p, Portal as Lo, Show as z, template as _, insert as k, createRenderEffect as N, className as T, clearDelegatedEvents as ms, delegateEvents as rr, useContext as xe, onCleanup as U, sortFns as Gn, mutationSortFns as Hn, on as ct, setAttribute as A, getSidedProp as vs, use as Mn, batch as bs, getQueryStatusLabel as Lt, getMutationStatusColor as _t, getQueryStatusColor as xs, getQueryStatusColorByLabel as ws, displayValue as bn, For as $s, convertRemToPixels as Rr, untrack as Rt, useTransition as Cs, spread as Ss, mergeProps as j, createRoot as zr, serialize as ks, Index as Es, updateNestedDataByPath as or, addEventListener as Ms, stringify as Ds, Match as Rn, Switch as As, deleteNestedDataByPath as Ts, createUniqueId as Ke, splitProps as X, Dynamic as Fs, createComputed as Is, getPreferredColorScheme as Ps } from "./index.CJ4xsAr8.js";
1
+ import { createContext as be, createSignal as R, onMount as Mt, createEffect as B, createMemo as M, createComponent as p, Portal as Lo, Show as z, template as _, insert as k, createRenderEffect as N, className as T, clearDelegatedEvents as ms, delegateEvents as rr, useContext as xe, onCleanup as U, sortFns as Gn, mutationSortFns as Hn, on as ct, setAttribute as A, getSidedProp as vs, use as Mn, batch as bs, getQueryStatusLabel as Lt, getMutationStatusColor as _t, getQueryStatusColor as xs, getQueryStatusColorByLabel as ws, displayValue as bn, For as $s, convertRemToPixels as Rr, untrack as Rt, useTransition as Cs, spread as Ss, mergeProps as j, createRoot as zr, serialize as ks, Index as Es, updateNestedDataByPath as or, addEventListener as Ms, stringify as Ds, Match as Rn, Switch as As, deleteNestedDataByPath as Ts, createUniqueId as Ke, splitProps as X, Dynamic as Fs, createComputed as Is, getPreferredColorScheme as Ps } from "./index.C8gYaKGn.js";
2
2
  var Ls = (e) => e != null, Os = (e) => e.filter(Ls);
3
3
  function qs(e) {
4
4
  return (...t) => {
@@ -1,6 +1,6 @@
1
1
  import { jsxs as s, Fragment as m, jsx as e } from "react/jsx-runtime";
2
- import { i as h, nt as S, rr as R } from "./App.DDDRpI9p.js";
3
- import { n as N, S as l, renderDataAsList as P, CARDS as r, isElectron as p, le as T, l as E, L as C, j as a, PROFILE_TITLE as u } from "./index.CJ4xsAr8.js";
2
+ import { i as h, nt as S, rr as R } from "./App.BVP_PtVu.js";
3
+ import { n as N, S as l, renderDataAsList as P, CARDS as r, isElectron as p, le as T, l as E, L as C, j as a, PROFILE_TITLE as u } from "./index.C8gYaKGn.js";
4
4
  const A = () => {
5
5
  const { isAuthenticated: n, user: i, registeringForPasskey: c, authenticationType: o } = N(), d = h(), t = i?.username || "";
6
6
  return n && t ? /* @__PURE__ */ s(m, { children: [
@@ -1,6 +1,6 @@
1
1
  import { jsxs as N, jsx as l } from "react/jsx-runtime";
2
- import { n as ve, LOCAL_STORAGE_PREFIX as se, LOCAL_STORAGE_CHAT_DETAILS as _e, LOCAL_STORAGE_SERVICE_WORKER as we, isServiceWorkerEnabled as Ce, isStandaloneMode as Se, SETTINGS_TITLE as Ie, S as U, CARDS as P, APP_NAME as Ae, C as ae, PROMPTS_DESCRIPTION as Re, L as Le, j as ce, getCurrentGeoLocation as Oe, handleServiceWorkerToggle as Me } from "./index.CJ4xsAr8.js";
3
- import { useUserPreferences as De, E as ie, rr as Pe, mutateCall as de, SERVICE_TYPES as ue } from "./App.DDDRpI9p.js";
2
+ import { n as ve, LOCAL_STORAGE_PREFIX as se, LOCAL_STORAGE_CHAT_DETAILS as _e, LOCAL_STORAGE_SERVICE_WORKER as we, isServiceWorkerEnabled as Ce, isStandaloneMode as Se, SETTINGS_TITLE as Ie, S as U, CARDS as P, APP_NAME as Ae, C as ae, PROMPTS_DESCRIPTION as Re, L as Le, j as ce, getCurrentGeoLocation as Oe, handleServiceWorkerToggle as Me } from "./index.C8gYaKGn.js";
3
+ import { useUserPreferences as De, E as ie, rr as Pe, mutateCall as de, SERVICE_TYPES as ue } from "./App.BVP_PtVu.js";
4
4
  import Ge, { useRef as v, useState as y, useLayoutEffect as z, useMemo as pe, useEffect as j, useId as Be, useReducer as He, useCallback as Ve } from "react";
5
5
  import i from "clsx";
6
6
  const he = "av-text-area", Ue = "av-text-area-wrapper", oe = "av-text-area-helper-text", $e = "av-text-area__control--right", Fe = "av-text-area__control--left";
@@ -185,13 +185,13 @@ function Ze({
185
185
  );
186
186
  }
187
187
  /*!
188
- @versini/ui-liveregion v2.0.5
188
+ @versini/ui-liveregion v2.0.6
189
189
  © 2025 gizmette.com
190
190
  */
191
191
  try {
192
192
  window.__VERSINI_UI_LIVEREGION__ || (window.__VERSINI_UI_LIVEREGION__ = {
193
- version: "2.0.5",
194
- buildTime: "06/28/2025 08:58 PM EDT",
193
+ version: "2.0.6",
194
+ buildTime: "07/14/2025 12:04 PM EDT",
195
195
  homepage: "https://github.com/aversini/ui-components",
196
196
  license: "MIT"
197
197
  });
@@ -519,13 +519,13 @@ const et = () => "rounded-md text-base h-20 min-h-[80px] resize-none overflow-hi
519
519
  );
520
520
  ne.displayName = "TextArea";
521
521
  /*!
522
- @versini/ui-textarea v4.0.5
522
+ @versini/ui-textarea v4.0.6
523
523
  © 2025 gizmette.com
524
524
  */
525
525
  try {
526
526
  window.__VERSINI_UI_TEXTAREA__ || (window.__VERSINI_UI_TEXTAREA__ = {
527
- version: "4.0.5",
528
- buildTime: "06/28/2025 08:58 PM EDT",
527
+ version: "4.0.6",
528
+ buildTime: "07/14/2025 12:04 PM EDT",
529
529
  homepage: "https://github.com/aversini/ui-components",
530
530
  license: "MIT"
531
531
  });
@@ -1,10 +1,10 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, USAGE_TITLE as U, S as T, renderDataAsList as v, CARDS as n, L as E, j as L, C as S, pluralize as i } from "./index.CJ4xsAr8.js";
3
- import { i as M, useUserChatStats as _, useChatsUsage as D, rr as z } from "./App.DDDRpI9p.js";
2
+ import { n as f, USAGE_TITLE as U, S as T, renderDataAsList as v, CARDS as n, L as E, j as L, C as S, pluralize as i } from "./index.C8gYaKGn.js";
3
+ import { i as M, useUserChatStats as _, useChatsUsage as D, rr as z } from "./App.BVP_PtVu.js";
4
4
  import { useState as O, Suspense as P, lazy as j } from "react";
5
5
  const s = [0, 3, 6, 9], G = j(() => import(
6
6
  /* webpackChunkName: "LazyChart" */
7
- "./Chart.DfOWAu7_.js"
7
+ "./Chart.DuSxXlS-.js"
8
8
  )), w = ({
9
9
  open: m,
10
10
  onOpenChange: I
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.8NiQFgfl.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.OItCHZKS.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {
@@ -1,4 +1,4 @@
1
- import { convert as E, convertElement as u } from "./useMarkdown.8NiQFgfl.js";
1
+ import { convert as E, convertElement as u } from "./useMarkdown.OItCHZKS.js";
2
2
  const f = (
3
3
  // Note: overloads like this are needed to support optional generics.
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.8NiQFgfl.js";
2
- import { toText as Ca } from "./index.Cmth0wkr.js";
1
+ import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.OItCHZKS.js";
2
+ import { toText as Ca } from "./index.BPlhK7Uv.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};
@@ -1,6 +1,6 @@
1
- import { getDefaultExportFromCjs as kn } from "./App.DDDRpI9p.js";
2
- import { visit as In } from "./useMarkdown.8NiQFgfl.js";
3
- import { toText as Cn } from "./index.Cmth0wkr.js";
1
+ import { getDefaultExportFromCjs as kn } from "./App.BVP_PtVu.js";
2
+ import { visit as In } from "./useMarkdown.OItCHZKS.js";
3
+ import { toText as Cn } from "./index.BPlhK7Uv.js";
4
4
  function xn(e) {
5
5
  const t = e.regex, i = e.COMMENT("//", "$", { contains: [{ begin: /\\\n/ }] }), a = "decltype\\(auto\\)", r = "[a-zA-Z_]\\w*::", d = "(?!struct)(" + a + "|" + t.optional(r) + "[a-zA-Z_]\\w*" + t.optional("<[^<>]+>") + ")", c = {
6
6
  className: "type",
@@ -3179,7 +3179,7 @@ var pu = (e, t = !1) => {
3179
3179
  const t = Mi(() => {
3180
3180
  const r = this, [n] = this.#i, [s] = this.#c, [i] = this.#l, [a] = this.#u, [o] = this.#e;
3181
3181
  let c;
3182
- return this.#d ? c = this.#d : (c = Ai(() => import("./I3HPI4QX.ipWHlmzz.js")), this.#d = c), _a(this.#o, this.#a), vi(c, Si({
3182
+ return this.#d ? c = this.#d : (c = Ai(() => import("./I3HPI4QX.BJW7_j9L.js")), this.#d = c), _a(this.#o, this.#a), vi(c, Si({
3183
3183
  get queryFlavor() {
3184
3184
  return r.#r;
3185
3185
  },
@@ -6170,13 +6170,13 @@ const ct = {
6170
6170
  );
6171
6171
  Tt.displayName = "ButtonIcon";
6172
6172
  /*!
6173
- @versini/ui-button v6.0.8
6173
+ @versini/ui-button v6.0.9
6174
6174
  © 2025 gizmette.com
6175
6175
  */
6176
6176
  try {
6177
6177
  window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
6178
- version: "6.0.8",
6179
- buildTime: "06/28/2025 08:58 PM EDT",
6178
+ version: "6.0.9",
6179
+ buildTime: "07/14/2025 12:04 PM EDT",
6180
6180
  homepage: "https://github.com/aversini/ui-components",
6181
6181
  license: "MIT"
6182
6182
  });
@@ -6323,13 +6323,13 @@ const sl = ({
6323
6323
  ) });
6324
6324
  };
6325
6325
  /*!
6326
- @versini/ui-card v4.0.5
6326
+ @versini/ui-card v4.0.6
6327
6327
  © 2025 gizmette.com
6328
6328
  */
6329
6329
  try {
6330
6330
  window.__VERSINI_UI_CARD__ || (window.__VERSINI_UI_CARD__ = {
6331
- version: "4.0.5",
6332
- buildTime: "06/28/2025 08:58 PM EDT",
6331
+ version: "4.0.6",
6332
+ buildTime: "07/14/2025 12:04 PM EDT",
6333
6333
  homepage: "https://github.com/aversini/ui-components",
6334
6334
  license: "MIT"
6335
6335
  });
@@ -6674,13 +6674,13 @@ const dl = "av-flexgrid", lt = "av-flexgrid-item", At = 0.25, mr = de.createCont
6674
6674
  return /* @__PURE__ */ y("div", { className: o, style: a, ...n, children: e });
6675
6675
  };
6676
6676
  /*!
6677
- @versini/ui-system v4.0.5
6677
+ @versini/ui-system v4.0.6
6678
6678
  © 2025 gizmette.com
6679
6679
  */
6680
6680
  try {
6681
6681
  window.__VERSINI_UI_SYSTEM__ || (window.__VERSINI_UI_SYSTEM__ = {
6682
- version: "4.0.5",
6683
- buildTime: "06/28/2025 08:58 PM EDT",
6682
+ version: "4.0.6",
6683
+ buildTime: "07/14/2025 12:04 PM EDT",
6684
6684
  homepage: "https://github.com/aversini/ui-components",
6685
6685
  license: "MIT"
6686
6686
  });
@@ -6841,13 +6841,13 @@ function Rs({
6841
6841
  );
6842
6842
  }
6843
6843
  /*!
6844
- @versini/ui-liveregion v2.0.5
6844
+ @versini/ui-liveregion v2.0.6
6845
6845
  © 2025 gizmette.com
6846
6846
  */
6847
6847
  try {
6848
6848
  window.__VERSINI_UI_LIVEREGION__ || (window.__VERSINI_UI_LIVEREGION__ = {
6849
- version: "2.0.5",
6850
- buildTime: "06/28/2025 08:58 PM EDT",
6849
+ version: "2.0.6",
6850
+ buildTime: "07/14/2025 12:04 PM EDT",
6851
6851
  homepage: "https://github.com/aversini/ui-components",
6852
6852
  license: "MIT"
6853
6853
  });
@@ -7189,13 +7189,13 @@ const Cl = 500, Nl = 5e3, Pl = 2e4, _s = de.forwardRef(
7189
7189
  );
7190
7190
  _s.displayName = "TextInputMask";
7191
7191
  /*!
7192
- @versini/ui-textinput v4.0.5
7192
+ @versini/ui-textinput v4.0.6
7193
7193
  © 2025 gizmette.com
7194
7194
  */
7195
7195
  try {
7196
7196
  window.__VERSINI_UI_TEXTINPUT__ || (window.__VERSINI_UI_TEXTINPUT__ = {
7197
- version: "4.0.5",
7198
- buildTime: "06/28/2025 08:58 PM EDT",
7197
+ version: "4.0.6",
7198
+ buildTime: "07/14/2025 12:04 PM EDT",
7199
7199
  homepage: "https://github.com/aversini/ui-components",
7200
7200
  license: "MIT"
7201
7201
  });
@@ -7390,13 +7390,13 @@ Press Ctrl+Enter to send it or Enter for new line.`, cd = "{{clipboard}}", ld =
7390
7390
  );
7391
7391
  }, Fl = new URL(document.location.href).searchParams, an = !!Fl.get("debug") || !1, Kl = xs(() => import(
7392
7392
  /* webpackChunkName: "LazyApp" */
7393
- "./App.DDDRpI9p.js"
7393
+ "./App.BVP_PtVu.js"
7394
7394
  ).then((e) => e.App)), Hl = new ri(), on = ({
7395
7395
  isComponent: e,
7396
7396
  headerHeight: t
7397
7397
  }) => {
7398
- const { isAuthenticated: r } = ms();
7399
- return r ? /* @__PURE__ */ y(Ps, { fallback: /* @__PURE__ */ y("div", {}), children: /* @__PURE__ */ J(si, { client: Hl, children: [
7398
+ const { isAuthenticated: r, isLoading: n } = ms();
7399
+ return n ? /* @__PURE__ */ y("div", {}) : r ? /* @__PURE__ */ y(Ps, { fallback: /* @__PURE__ */ y("div", {}), children: /* @__PURE__ */ J(si, { client: Hl, children: [
7400
7400
  /* @__PURE__ */ y(Pa, {}),
7401
7401
  /* @__PURE__ */ y(Kl, { isComponent: e, headerHeight: t })
7402
7402
  ] }) }) : /* @__PURE__ */ y(Ul, {});
@@ -1,4 +1,4 @@
1
- import { convert as se, visitParents as Me, unicodeWhitespace as I, unicodePunctuation as N, normalizeIdentifier as _, classifyCharacter as W, visit as _e, toString as ce, EXIT as Oe, asciiAlphanumeric as Z, asciiAlpha as P, markdownLineEndingOrSpace as A, asciiControl as je, blankLine as Be, factorySpace as S, splice as q, resolveAll as We, markdownLineEnding as R, markdownSpace as T, combineExtensions as $e } from "./useMarkdown.8NiQFgfl.js";
1
+ import { convert as se, visitParents as Me, unicodeWhitespace as I, unicodePunctuation as N, normalizeIdentifier as _, classifyCharacter as W, visit as _e, toString as ce, EXIT as Oe, asciiAlphanumeric as Z, asciiAlpha as P, markdownLineEndingOrSpace as A, asciiControl as je, blankLine as Be, factorySpace as S, splice as q, resolveAll as We, markdownLineEnding as R, markdownSpace as T, combineExtensions as $e } from "./useMarkdown.OItCHZKS.js";
2
2
  import { longestStreak as qe } from "./index.Cyw5OC0t.js";
3
3
  function ne(e, n) {
4
4
  const t = String(e);
@@ -1,8 +1,8 @@
1
1
  import * as rn from "react/jsx-runtime";
2
2
  import { jsx as se, jsxs as Pn, Fragment as Er } from "react/jsx-runtime";
3
- import { le as Ir, unObfuscate as Tr, obfuscate as Pr } from "./index.CJ4xsAr8.js";
3
+ import { le as Ir, unObfuscate as Tr, obfuscate as Pr } from "./index.C8gYaKGn.js";
4
4
  import Ar, { useState as Lt, useEffect as _t, useRef as Re, useCallback as zr } from "react";
5
- import { getDefaultExportFromCjs as vt } from "./App.DDDRpI9p.js";
5
+ import { getDefaultExportFromCjs as vt } from "./App.BVP_PtVu.js";
6
6
  import Lr from "clsx";
7
7
  const Nt = ({
8
8
  children: e,
@@ -6867,7 +6867,7 @@ class ou {
6867
6867
  if (!this.remarkGfm) {
6868
6868
  const { default: n } = await import(
6869
6869
  /* webpackChunkName: "LazyRemarkGfm" */
6870
- "./index.DHfE_2wf.js"
6870
+ "./index.DTFfqqp0.js"
6871
6871
  );
6872
6872
  this.remarkGfm = n;
6873
6873
  }
@@ -6878,7 +6878,7 @@ class ou {
6878
6878
  pu("https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css");
6879
6879
  const { default: n } = await import(
6880
6880
  /* webpackChunkName: "LazyRehypeKatex" */
6881
- "./index.DrAK4Hi5.js"
6881
+ "./index.BuLqaQE6.js"
6882
6882
  );
6883
6883
  this.rehypeKatex = n;
6884
6884
  }
@@ -6888,7 +6888,7 @@ class ou {
6888
6888
  if (!this.remarkMath) {
6889
6889
  const { default: n } = await import(
6890
6890
  /* webpackChunkName: "LazyRemarkMath" */
6891
- "./index.2UAqQU1o.js"
6891
+ "./index.BCR7emVW.js"
6892
6892
  );
6893
6893
  this.remarkMath = n;
6894
6894
  }
@@ -6898,7 +6898,7 @@ class ou {
6898
6898
  if (!this.rehypeHighlight) {
6899
6899
  const { default: n } = await import(
6900
6900
  /* webpackChunkName: "LazyRehypeHighlight" */
6901
- "./index.BQn9mCZc.js"
6901
+ "./index.C1ktAodx.js"
6902
6902
  );
6903
6903
  this.rehypeHighlight = n;
6904
6904
  }
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.CJ4xsAr8.js";
2
+ import { SassySaint as a } from "../../chunks/index.C8gYaKGn.js";
3
3
  export {
4
4
  a as SassySaint
5
5
  };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { SassySaint as r } from "./chunks/index.CJ4xsAr8.js";
1
+ import { SassySaint as r } from "./chunks/index.C8gYaKGn.js";
2
2
  /*!
3
- @sassysaint/client v8.26.0
3
+ @sassysaint/client v8.26.2
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "8.26.0",
9
- buildTime: "07/18/2025 09:48 AM EDT",
8
+ version: "8.26.2",
9
+ buildTime: "07/18/2025 05:51 PM EDT",
10
10
  license: "MIT"
11
11
  });
12
12
  } catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint",
3
- "version": "8.26.0",
3
+ "version": "8.26.2",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -30,17 +30,17 @@
30
30
  "react-dom": "^18.3.1 || ^19.0.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@sassysaint/client": "8.26.0",
33
+ "@sassysaint/client": "8.26.2",
34
34
  "@tailwindcss/vite": "4.1.11",
35
- "@versini/ui-styles": "5.0.6"
35
+ "@versini/ui-styles": "5.0.7"
36
36
  },
37
37
  "dependencies": {
38
- "@versini/ui-hooks": "4.7.4",
38
+ "@versini/ui-hooks": "4.7.5",
39
39
  "clsx": "2.1.1",
40
40
  "tailwindcss": "4.1.11"
41
41
  },
42
42
  "sideEffects": [
43
43
  "**/*.css"
44
44
  ],
45
- "gitHead": "06f6d53d31504dfe752c07d87a29fe05cd0e5f6c"
45
+ "gitHead": "191511ae46d5738d122e0d275942a11d380fd0a1"
46
46
  }