diff --git a/.gitignore b/.gitignore index 681614b..65c8f6c 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ dist/ .DS_Store extension/dist + +.tmp/ diff --git a/Agents.md b/Agents.md index 545720c..f84dd09 100644 --- a/Agents.md +++ b/Agents.md @@ -50,7 +50,10 @@ Calcit 程序使用 `cr` 命令: - 用于 CI/CD 或快速验证代码修改 - `cr js -1` - 检查代码正确性,生成 JavaScript(不进入监听模式) - `cr js --check-only` - 检查代码正确性,不生成 JavaScript -- `cr eval ''` - 执行一段 Calcit 代码片段,用于快速验证写法 +- `cr eval '' [--dep ...]` - 执行一段 Calcit 代码片段,用于快速验证写法 + - `--dep` 参数可以加载 `~/.config/calcit/modules/` 中的模块(直接使用模块名) + - 示例:`cr eval 'echo 1' --dep calcit.std` + - 可多次使用 `--dep` 加载多个模块 ### 查询子命令 (`cr query`) @@ -78,15 +81,17 @@ Calcit 程序使用 `cr` 命令: - `cr query pkg` - 获取项目包名 - `cr query config` - 读取项目配置(init_fn, reload_fn, version) - `cr query error` - 读取 .calcit-error.cirru 错误堆栈文件 -- `cr query modules` - 列出项目模块 +- `cr query modules` - 列出项目依赖的模块(来自 compact.cirru 配置) **渐进式代码探索(Progressive Disclosure):** - `cr query peek ` - 查看定义签名(参数、文档、表达式数量),不返回完整实现体 - 输出:Doc、Form 类型、参数列表、Body 表达式数量、首个表达式预览、Examples 数量 - 用于快速了解函数接口,减少 token 消耗 -- `cr query def ` - 读取定义的完整语法树(JSON 格式) - - 同时显示 Doc 和 Examples 的完整内容 +- `cr query def [-j]` - 读取定义的完整 Cirru 代码 + - 默认输出:Doc、Examples 数量、Cirru 格式代码 + - `-j` / `--json`:同时输出 JSON 格式(用于程序化处理) + - 推荐:LLM 直接读取 Cirru 格式即可,通常不需要 JSON - `cr query examples ` - 读取定义的示例代码 - 输出:每个 example 的 Cirru 格式和 JSON 格式 @@ -103,24 +108,31 @@ Calcit 程序使用 `cr` 命令: **代码模式搜索:** -- `cr query search -p [-l] [-d ]` - 搜索叶子节点(字符串) +- `cr query search [-f ] [-l] [-d ] [-p ]` - 搜索叶子节点(字符串) - - 默认:精确匹配字符串(`-p "div"` 只匹配 `"div"`) - - `-l` / `--loose`:宽松匹配,包含模式(`-p "di"` 匹配所有包含 "di" 的叶子节点) - - `-d `:限制搜索深度(0 = 无限制) + - `` - 位置参数,要搜索的字符串模式 + - `-f` / `--filter` - 过滤到特定命名空间或定义(可选) + - `-l` / `--loose`:宽松匹配,包含模式(匹配所有包含该模式的叶子节点) + - `-d `:限制搜索深度(0 = 无限制) + - `-p` / `--start-path`:从指定路径开始搜索(逗号分隔的索引,如 `"3,2,1"`) + - 不指定时从根节点开始搜索整个定义 + - 指定后只搜索该路径下的子树,适合在大型定义中缩小搜索范围 - 返回:匹配节点的完整路径 + 父级上下文预览 - - 示例:`cr query search app.main/main -p "println" -l` + - 示例: + - `cr query search "println" -f app.main/main! -l` - 在 main 函数中搜索包含 "println" 的节点 + +**高级结构搜索:** -- `cr query search-pattern -p [-l] [-j] [-d ]` - 搜索结构模式 - - 模式格式:Cirru one-liner 或 JSON 数组(使用 `-j` 标志) - - 默认:精确结构匹配(整个结构完全相同) - - `-l` / `--loose`:宽松匹配,查找包含连续子序列的结构 - - 例如:`-p '["defn", "add"]' -j -l` 匹配任何包含连续 `["defn", "add"]` 的列表 +- `cr query search-expr [-f ] [-l] [-j] [-d ]` - 搜索结构表达式 + - 用于搜索完整的代码结构(List)而非单个符号。 + - `` - 位置参数,Cirru one-liner 或 JSON 数组模式 + - `-f` / `--filter` - 过滤到特定命名空间或定义(可选) + - `-l` / `--loose`:宽松匹配,查找包含连续子序列的结构(例如搜索 `(+ a)` 可以匹配 `(+ a b)`) - `-j` / `--json`:将模式解析为 JSON 数组而非 Cirru - 返回:匹配节点的路径 + 父级上下文 - 示例: - - `cr query search-pattern app.util/add -p "(+ a b)"` - 查找精确表达式 - - `cr query search-pattern app.main/main -p '["defn"]' -j -l` - 查找所有函数定义 + - `cr query search-expr "+ a b" -f app.util/add` - 查找精确表达式 + - `cr query search-expr '["defn"]' -f app.main/main -j -l` - 查找所有函数定义 **搜索结果格式:** @@ -173,87 +185,107 @@ Calcit 程序使用 `cr` 命令: - `cr libs` - 列出所有官方库 - `cr libs search ` - 按关键词搜索库(搜索名称、描述、分类) -- `cr libs readme ` - 查看指定库的 README 文档(从 GitHub 获取) +- `cr libs readme [-f ]` - 查看库的文档 + - 优先从本地 `~/.config/calcit/modules/` 读取 + - 本地不存在时从 GitHub 仓库获取 + - `-f` 参数可指定其他文档文件(如 `-f Skills.md`) + - 默认读取 `README.md` +- `cr libs scan-md ` - 扫描本地模块目录下的所有 `.md` 文件 + - 递归扫描子目录 + - 显示相对路径列表 - `caps` - 安装/更新依赖 -### 精细代码树操作 (`cr tree`) +**查看已安装模块:** -提供对 AST 节点的低级精确操作,适用于需要精细控制的场景: +```bash +# 列出 ~/.config/calcit/modules/ 下所有已安装的模块 +ls ~/.config/calcit/modules/ -**可用操作:** +# 查看当前项目配置的模块依赖 +cr query modules +``` -- `cr tree show -p ` - 查看指定路径的节点 +### 精细代码树操作 (`cr tree`) - - `-d ` - 限制显示深度(0=无限,默认 2) +⚠️ **关键警告:路径索引动态变化** -- `cr tree replace -p ` - 替换指定路径的节点 +删除或插入节点后,同级后续节点的索引会自动改变。**必须从后往前操作**或**每次修改后重新搜索路径**。 - - `-e ` - 内联 Cirru 代码(默认单行解析) - - Cirru 输入:仅支持单行表达式(one-liner)。若需 leaf 节点可搭配 `--leaf`,直接写符号或 Cirru 字符串(如 `|text`)。 - - `-f ` - 从文件读取 - - `-j ` - 内联 JSON 字符串 - - `-s` - 从标准输入读取 - - `-J` - JSON 格式输入 - - `--leaf` - 直接作为叶子节点处理(Cirru 符号或 `|text` 字符串,无需 JSON 引号) - - `--refer-original ` - 原节点占位符 - - `--refer-inner-branch ` - 内部分支引用路径 - - `--refer-inner-placeholder ` - 内部分支占位符 +**核心概念:** -- `cr tree delete -p ` - 删除指定路径的节点 +- 路径格式:逗号分隔的索引(如 `"3,2,1"`),空字符串 `""` 表示根节点 +- 每个命令都有 `--help` 查看详细参数 +- 命令执行后会显示 "Next steps" 提示下一步操作 -- `cr tree insert-before -p ` - 在指定位置前插入节点 +**主要操作:** -- `cr tree insert-after -p ` - 在指定位置后插入节点 +- `cr tree show -p "" [-j]` - 查看节点 + - 默认输出:节点类型、Cirru 预览、子节点索引列表、操作提示 + - `-j` / `--json`:同时输出 JSON 格式(用于程序化处理) + - 推荐:直接查看 Cirru 格式即可,通常不需要 JSON +- `cr tree replace` - 替换节点 +- `cr tree delete` - 删除节点 +- `cr tree insert-before/after` - 插入相邻节点 +- `cr tree insert-child/append-child` - 插入子节点 +- `cr tree swap-next/prev` - 交换相邻节点 +- `cr tree wrap` - 用新结构包装节点 -- `cr tree insert-child -p ` - 插入为第一个子节点 +**输入方式(通用):** -- `cr tree append-child -p ` - 追加为最后一个子节点 +- `-e ''` - 内联代码(自动识别 Cirru/JSON) +- `--leaf` - 强制作为 leaf 节点(符号或字符串) +- `-j ''` / `-f ` / `-s` (stdin) -- `cr tree swap-next -p ` - 与下一个兄弟节点交换 +**推荐工作流:** -- `cr tree swap-prev -p ` - 与上一个兄弟节点交换 +```bash +# 1. 搜索定位 +cr query search "target" -f namespace/def -l -- `cr tree wrap -p ` - 用新结构包装节点(使用 refer-original 占位符) +# 2. 确认节点(命令会显示子节点和路径) +cr tree show namespace/def -p "" -**使用示例:** +# 3. 执行修改(命令会显示 Before/After 和验证提示) +cr tree replace namespace/def -p "" --leaf -e '' -```bash -# loose 模式快速定位到可能目标叶子节点位置 -cr query search -f app.comp.container/css-search color -l +# 4. 批量修改:从后往前或重新搜索 +cr tree delete namespace/def -p "3,2,3" # 先删大索引 +cr tree delete namespace/def -p "3,2,2" +``` -# 指定路径查看节点结构 -cr tree show app.main/main! -p "2,1" +**关键技巧:** -# 替换单个符号(leaf 输入示例,直接 Cirru 语法) -cr tree replace app.main/main! -p "0" --leaf -e 'new-item' -# 注意 Cirru 中字面量也是用前缀的, 比如字符串的前缀可以用 `|` -cr tree replace app.main/main! -p "0" --leaf -e '|new-str' +- 使用 `cr query search` 快速定位路径 +- `cr tree show` 输出会标注每个子节点的索引 +- 遇到路径错误时,命令会自动显示最长有效路径和可用子节点 +- 所有修改操作都会显示 Preview 和 Verify 命令 -# 替换表达式(one-liner) -cr tree replace app.main/main! -p "2" -e "new-fn new-item" +**结构化变更示例:** -# 删除节点 -cr tree delete app.main/main! -p "1,0" +这些高级操作允许你在修改时引用原始节点及其内部结构: -# 插入子表达式 -cr tree insert-child app.main/main! -p "2" -e "new-fn new-item" -``` +- **包裹节点**(使用 `cr tree wrap` 或 `cr tree replace` 的 `--refer-original`): -**⚠️ 重要:精确定位的安全流程** + ```bash + # 将路径 "3,2" 的节点包裹在 println 中 + cr tree wrap ns/def -p "3,2" -e 'println $$$$' --refer-original '$$$$' + ``` -使用 `cr tree` 前,建议先用 `cr tree show` 确认路径: +- **重构并复用原子节点**(使用 `--refer-inner-branch`): -```bash -# 1. 先查看整体结构 -cr tree show app.core/my-fn -p "" -d 1 + - 假设原节点是 `(+ 1 2)` (路径 "3,1"),其子节点索引 1 是 `1`,索引 2 是 `2` + - 将其重构为 `(* 2 10)`: -# 2. 逐层确认目标位置 -cr tree show app.core/my-fn -p "2" -d 2 -cr tree show app.core/my-fn -p "2,1,0" + ```bash + cr tree replace ns/def -p "3,1" -e '(* #### 10)' --refer-inner-branch "2" --refer-inner-placeholder "####" + ``` -# 3. 执行修改 -cr tree replace app.core/my-fn -p "2,1,0" -e "new-fn new-item" -``` +- **多处重用原始节点**: + ```bash + # 将节点 x 变为 (+ x x) + cr tree replace ns/def -p "2" -e '(+ $ $)' --refer-original '$' + ``` + 详细参数和示例使用 `cr tree --help` 查看。 ### 代码编辑 (`cr edit`) @@ -292,7 +324,7 @@ cr tree replace app.core/my-fn -p "2,1,0" -e "new-fn new-item" **定义操作:** -- `cr edit def ` - 添加或更新定义 +- `cr edit def ` - 添加新定义(若已存在会报错,需用 `cr tree replace` 修改) - `cr edit rm-def ` - 删除定义 - `cr edit doc ''` - 更新定义的文档 - `cr edit examples ` - 设置定义的示例代码(批量替换) @@ -314,12 +346,127 @@ cr tree replace app.core/my-fn -p "2,1,0" -e "new-fn new-item" - `cr edit rm-module ` - 删除模块依赖 - `cr edit config ` - 设置配置(key: init-fn, reload-fn, version) +**增量变更导出:** + +- `cr edit inc` - 记录增量代码变更并导出到 `.compact-inc.cirru`,触发 watcher 热更新 + - `--added ` - 标记新增的定义 + - `--changed ` - 标记修改的定义 + - `--removed ` - 标记删除的定义 + - `--added-ns ` - 标记新增的命名空间 + - `--removed-ns ` - 标记删除的命名空间 + - `--ns-updated ` - 标记命名空间导入变更 + - 配合 watcher 使用实现热更新(详见"开发调试"章节) + 使用 `--help` 参数了解详细的输入方式和参数选项。 --- ## Calcit 语言基础 +### Cirru 语法核心概念 + +**与其他 Lisp 的区别:** + +- **缩进语法**:用缩进代替括号(类似 Python/YAML),单行用空格分隔 +- **字符串前缀**:`|hello` 或 `"hello"` 表示字符串,`|` 前缀更简洁 +- **无方括号花括号**:只用圆括号概念(体现在 JSON 转换中),Cirru 文本层面无括号 + +**常见混淆点:** + +❌ **错误理解:** Calcit 字符串是 `"x"` → JSON 是 `"\"x\""` +✅ **正确理解:** Cirru `|x` → JSON `"x"`,Cirru `"x"` → JSON `"x"` + +**字符串 vs 符号的关键区分:** + +- `|Add` 或 `"Add` → **字符串**(用于显示文本、属性值等, 前缀形式区分字面量类型) +- `Add` → **符号/变量名**(Calcit 会在作用域中查找) +- 常见错误:受其他语言习惯影响,忘记加 `|` 前缀导致 `unknown symbol` 错误 + +**CLI 使用提示:** + +- 替换包含空格的字符串:`--leaf -e '|text with spaces'` 或 `-j '"text"'` +- 避免解析为列表:字符串字面量必须用 `--leaf` 或 `-j` 明确标记 + +**示例对照:** + +| Cirru 代码 | JSON 等价 | JavaScript 等价 | +| ---------------- | -------------------------------- | ------------------------ | +| `\|hello` | `"hello"` | `"hello"` | +| `"world"` | `"world"` | `"world"` | +| `\|a b c` | `"a b c"` | `"a b c"` | +| `fn (x) (+ x 1)` | `["fn", ["x"], ["+", "x", "1"]]` | `fn(x) { return x + 1 }` | + +### 数据结构:Tuple vs Vector + +Calcit 特有的两种序列类型: + +**Tuple (`::`)** - 不可变、用于模式匹配 + +```cirru +; 创建 tuple +:: :event/type data + +; 模式匹配 +tag-match event + (:event/click data) (handle-click data) + (:event/input text) (handle-input text) +``` + +**Vector (`[]`)** - 可变、用于列表操作 + +```cirru +; 创建 vector +[] item1 item2 item3 + +; DOM 列表 +div {} $ [] + button {} |Click + span {} |Text +``` + +**常见错误:** + +```cirru +; ❌ 错误:用 vector 传事件 +send-event! $ [] :clipboard/read text +; 报错:tag-match expected tuple + +; ✅ 正确:用 tuple +send-event! $ :: :clipboard/read text +``` + +### 类型标注与检查 + +Calcit 支持可选的类型标注,用于开发时的类型检查。 + +#### 函数参数类型 (`assert-type`) + +```cirru +defn calculate-total (items discount) + assert-type items :list + assert-type discount :number + ; let 绑定中的变量会自动推断类型 + let + sum $ foldl items 0 &+ + * sum $ - 1 discount +``` + +#### 函数返回类型 (`hint-fn`) + +```cirru +defn add-numbers (a b) + assert-type a :number + assert-type b :number + hint-fn $ return-type :number + &+ a b +``` + +**常见类型:** `:number` `:string` `:bool` `:list` `:map` `:set` `:tuple` `:keyword` `:nil` + +**验证类型:** `cr --check-only` 或 `cr ir -1` 查看 IR 中的类型信息 + +### 其他易错点 + 比较容易犯的错误: - Calcit 中字符串通过前缀区分,`|` 和 `"` 开头表示字符串。`|x` 对应 JavaScript 字符串 `"x"`。产生 JSON 时注意不要重复包裹引号。 @@ -340,20 +487,89 @@ Calcit snapshot 文件中 config 有 `init-fn` 和 `reload-fn` 配置: **典型开发流程:** ```bash -# 1. 检查代码正确性 -cr --check-only +# 1. 启动监听模式(用户自行使用) +cr # 解释执行模式 +cr js # JS 编译模式 -# 2. 执行程序(一次性) -cr -1 +# 2. 修改代码后触发增量更新(详见"增量触发更新"章节) +cr edit inc --changed ns/def -# 3. 编译 JavaScript(一次性) -cr -1 js +# 3. 一次性执行/编译(用于简单脚本) +cr -1 # 执行一次 +cr -1 js # 编译一次 +``` -# 4. 进入监听模式开发 -cr # 解释执行模式 -cr js # JS 编译模式 +### 增量触发更新(推荐)⭐⭐⭐ + +当使用监听模式(`cr` 或 `cr js`)开发时,推荐使用 `cr edit inc` 命令触发增量更新,而非全量重新编译/执行: + +**工作流程:** + +```bash +# 【终端 1】启动 watcher(监听模式) +cr # 或 cr js + +# 【终端 2】修改代码后触发增量更新 +# 修改定义 +cr edit def app.core/my-fn -e 'defn my-fn (x) (+ x 1)' + +# 触发增量更新 +cr edit inc --changed app.core/my-fn + +# 等待 ~300ms 后查看编译结果 +cr query error +``` + +**增量更新命令参数:** + +```bash +# 新增定义 +cr edit inc --added namespace/definition + +# 修改定义 +cr edit inc --changed namespace/definition + +# 删除定义 +cr edit inc --removed namespace/definition + +# 新增命名空间 +cr edit inc --added-ns namespace + +# 删除命名空间 +cr edit inc --removed-ns namespace + +# 更新命名空间导入 +cr edit inc --ns-updated namespace + +# 组合使用(批量更新) +cr edit inc \ + --changed app.core/add \ + --changed app.core/multiply \ + --removed app.core/old-fn +``` + +**查看编译结果:** + +```bash +cr query error # 命令会显示详细的错误信息或成功状态 ``` +**何时使用全量操作:** + +```bash +# 极少数情况:增量更新不符合预期时 +cr -1 js # 重新编译 JavaScript +cr -1 # 重新执行程序 + +# 或重启监听模式(Ctrl+C 停止后重启) +cr # 或 cr js + +# CI/CD 或脚本验证(不启动 watcher) +cr --check-only # 仅语法检查 +``` + +**增量更新优势:** 快速反馈、精确控制变更范围、watcher 保持运行状态 + --- ## 文档支持 @@ -369,8 +585,8 @@ cr js # JS 编译模式 - `cr query examples ` - 查看示例代码 - `cr query find ` - 跨命名空间搜索符号 - `cr query usages ` - 查找定义的使用位置 -- `cr query search -p ` - 搜索叶子节点 -- `cr query search-pattern -p ` - 搜索结构模式 +- `cr query search [-f ]` - 搜索叶子节点 +- `cr query search-expr [-f ]` - 搜索结构表达式 - `cr query error` - 查看最近的错误堆栈 --- @@ -379,50 +595,37 @@ cr js # JS 编译模式 **添加新函数:** -```bash +````bash # Cirru one liner cr edit def app.core/multiply -e 'defn multiply (x y) (* x y)' -# or JSON -cr edit def app.core/multiply -j '["defn", "multiply", ["x", "y"], ["*", "x", "y"]]' -``` - -**更新文档和示例:** +# 基本操作:** ```bash -# 更新文档 -cr edit doc app.core/multiply '乘法函数,返回两个数的积' +# 添加新函数(命令会提示 Next steps) +cr edit def 'app.core/multiply' -e 'defn multiply (x y) (* x y)' -# 设置示例 -cr edit examples app.core/multiply -j '[["multiply", "3", "4"]]' +# 替换整个定义(-p "" 表示根路径) +cr tree replace 'app.core/multiply' -p "" -e 'defn multiply (x y z) (* x y z)' -# 添加示例 -cr edit add-example app.core/multiply -e 'multiply 5 6' +# 更新文档和示例 +cr edit doc 'app.core/multiply' '乘法函数,返回两个数的积' +cr edit add-example 'app.core/multiply' -e 'multiply 5 6' +```` -# 删除示例 -cr edit rm-example app.core/multiply 1 -``` - -**局部修改(推荐流程):** +**修改定义工作流(命令会显示子节点索引和 Next steps):** ```bash -# 1. 读取完整定义 -cr query def app.core/add-numbers - -# 2. 多次查看节点确认目标坐标 -cr tree show app.core/add-numbers -p "" -d 1 -cr tree show app.core/add-numbers -p "2" -d 1 -cr tree show app.core/add-numbers -p "2,0" +# 1. 搜索定位 +cr query search '' -f 'ns/def' -l -# 3. 执行替换 -cr tree replace app.core/add-numbers -p "2,0" -e '*' +# 2. 查看节点(输出会显示索引和操作提示) +cr tree show 'ns/def' -p "" -# 4. 验证 -cr tree show app.core/add-numbers -p "2" -``` +# 3. 执行替换(会显示 diff 和验证命令) +cr tree replace 'ns/def' -p "" --leaf -e '' -**命名空间增量操作:** - -```bash +# 4. 检查结果 +cr query error # 添加命名空间 cr edit add-ns app.util @@ -442,4 +645,169 @@ cr edit config init-fn app.main/main! cr edit imports app.main -j '[["app.lib", ":as", "lib"], ["app.util", ":refer", ["helper"]]]' ``` +--- + +## ⚠️ 常见陷阱和最佳实践 + +### 1. 路径索引动态变化问题 ⭐⭐⭐ + +**核心原则:** 删除/插入会改变同级后续节点索引。 + +**批量修改策略:** + +- **从后往前操作**(推荐):先删大索引,再删小索引 +- **单次操作后重新搜索**:每次修改立即用 `cr query search` 更新路径 +- **整体重写**:用 `cr tree replace -p ""` 替换整个定义 + +命令会在路径错误时提示最长有效路径和可用子节点。 + +### 2. 输入格式参数使用速查 ⭐⭐⭐ + +**参数混淆矩阵(已全面支持 `-e` 自动识别):** + +| 场景 | 示例用法 | 解析结果 | 说明 | +| ------------------- | -------------------------------------- | ----------------------------- | --------------------------------- | +| **表达式 (Cirru)** | `-e 'defn add (a b) (+ a b)'` | `["defn", "add", ...]` (List) | 默认按 Cirru one-liner 解析 | +| **原子符号 (Leaf)** | `--leaf -e 'my-symbol'` | `"my-symbol"` (Leaf) | **推荐**,避免被包装成 list | +| **字符串 (Leaf)** | `--leaf -e '\|hello world'` | `"hello world"` (Leaf) | 符号前缀 `\|` 表示字符串 | +| **JSON 数组** | `-e '["+", "x", "1"]'` | `["+", "x", "1"]` (List) | **自动识别** (含 `[` 且有 `"`) | +| **JSON 字符串** | `-e '"my leaf"'` | `"my leaf"` (Leaf) | **自动识别** (含引用的字符串) | +| **内联 JSON** | `-j '["defn", ...]'` | `["defn", ...]` (List) | 显式按 JSON 解析,忽略 Cirru 规则 | +| **外部文件** | `-f code.cirru` (或 `-f code.json -J`) | 根据文件内容解析 | `-J` 用于标记文件内是 JSON | + +**核心规则:** + +1. **智能识别模式**:`-e / --code` 现在会自动识别 JSON。如果你传入 `["a"]` 或 `"a"`,它会直接按 JSON 处理,无需再额外加 `-J` 或 `-j`。 +2. **强制 Leaf 模式**:如果你需要确保输入是一个叶子节点(符号或字符串),请在任何地方使用 `--leaf` 开关。它会将原始输入直接作为内容,不经过任何解析。 +3. **显式 JSON 模式**:如果你想明确告诉工具“这段就是 JSON”,优先用 `-j ''`。 +4. **统一性**:`cr tree` 和 `cr edit` 的所有子命令(replace, def, insert 等)现在共享完全相同的输入解析逻辑。 + +**实战示例:** + +```bash +# ✅ 替换表达式 +cr tree replace app.main/fn -p "2" -e 'println |hello' + +# ✅ 替换 leaf(推荐 --leaf) +cr tree replace app.main/fn -p "2,0" --leaf -e 'new-symbol' + +# ✅ 替换字符串 leaf +cr tree replace app.main/fn -p "2,1" --leaf -e '|new text' + +# ❌ 避免:用 -e 传单个 token(会变成 list) +cr tree replace app.main/fn -p "2,0" -e 'symbol' # 结果:["symbol"] +``` + +### 3. Cirru 字符串和数据类型 ⭐⭐ + +**Cirru 字符串前缀:** + +| Cirru 写法 | JSON 等价 | 使用场景 | +| -------------- | -------------- | ------------ | +| `\|hello` | `"hello"` | 推荐,简洁 | +| `"hello"` | `"hello"` | 也可以 | +| `\|a b c` | `"a b c"` | 包含空格 | +| `\|[tag] text` | `"[tag] text"` | 包含特殊字符 | + +**Tuple vs Vector:** + +```cirru +; ✅ Tuple - 用于事件、模式匹配 +:: :clipboard/read text + +; ✅ Vector - 用于 DOM 列表 +[] (button) (div) + +; ❌ 错误:用 vector 传事件 +send-to-component! $ [] :clipboard/read text +; 报错:tag-match expected tuple + +; ✅ 正确:用 tuple +send-to-component! $ :: :clipboard/read text +``` + +**记忆规则:** + +- **`::` (tuple)**: 事件、模式匹配、不可变数据结构 +- **`[]` (vector)**: DOM 元素列表、动态集合 + +### 4. 推荐工作流程 + +**基本流程(命令会显示子节点索引、Next steps、批量重命名提示):** + +```bash +# 1. 搜索定位 +cr query search '' -f 'ns/def' -l + +# 2. 查看节点(会显示索引和操作提示) +cr tree show 'ns/def' -p "" + +# 3. 执行修改(会显示 diff 和验证命令) +cr tree replace 'ns/def' -p "" --leaf -e '' + +# 4. 增量触发更新(推荐) +cr edit inc --changed ns/def +# 等待 ~300ms 后检查 +cr query error + +# 5. 如果结果不符合预期,使用全量编译 +cr -1 js # 或 cr -1(解释执行模式) +``` + +**批量修改提示:** 命令会自动检测多匹配场景,显示从大到小的路径排序和重要警告。 + +**增量更新优势:** 快速反馈、保持 watcher 运行、精确控制变更范围(详见"增量触发更新"章节) + +### 5. Shell 特殊字符转义 ⭐⭐ + +Calcit 函数名中的 `?`, `->`, `!` 等字符在 bash/zsh 中有特殊含义,需要用单引号包裹: + +```bash +# ❌ 错误 +cr query def app.main/valid? +cr eval -> x (+ 1) (* 2) + +# ✅ 正确 +cr query def 'app.main/valid?' +cr eval 'thread-first x (+ 1) (* 2)' # 用 thread-first 代替 -> +``` + +**建议:** 命令行中优先使用英文名称(`thread-first` 而非 `->`),更清晰且无需转义。 + +--- + +## 💡 Calcit vs Clojure 关键差异 + +**语法层面:** + +- **只用圆括号**:Calcit 的 Cirru 语法不使用方括号 `[]` 和花括号 `{}`,统一用缩进表达结构 +- **函数前缀**:Calcit 用 `&` 区分内置函数(`&+`、`&str`)和用户定义函数 + +**集合函数参数顺序(易错 ⭐⭐⭐):** + +- **Calcit**: 集合在**第一位** → `map data fn` 或 `-> data (map fn)` +- **Clojure**: 函数在第一位 → `(map fn data)` 或 `(->> data (map fn))` +- **症状**:`unknown data for foldl-shortcut` 报错 +- **原因**:误用 `->>` 或参数顺序错误 + +**其他差异:** + +- **宏系统**:Calcit 更简洁,缺少 Clojure 的 reader macro(如 `#()`) +- **数据类型**:Calcit 的 Tuple (`::`) 和 Vector (`[]`) 有特定用途(见"Cirru 字符串和数据类型") + +--- + +## 常见错误排查 + +| 错误信息 | 原因 | 解决方法 | +| ---------------------------- | ----------------------- | --------------------------------- | +| `Path index X out of bounds` | 路径已过期 | 重新运行 `cr query search` | +| `tag-match expected tuple` | 传入 vector 而非 tuple | 改用 `::` | +| 字符串被拆分 | 没有用 `\|` 或 `"` 包裹 | 使用 `\|complete string` | +| `unexpected format` | 语法错误 | 用 `cr cirru parse ''` 验证 | + +**调试命令:** `cr query error`(会显示详细的错误堆栈和提示) + +--- + Also read `llms/Respo.md` for framework usage. diff --git a/assets/debug-send-button.png b/assets/debug-send-button.png new file mode 100644 index 0000000..0ac2158 Binary files /dev/null and b/assets/debug-send-button.png differ diff --git a/calcit.cirru b/calcit.cirru index 32b03fe..6573758 100644 --- a/calcit.cirru +++ b/calcit.cirru @@ -1,7 +1,7 @@ {} (:package |app) - :configs $ {} (:init-fn |app.main/main!) (:output |src) (:port 6001) (:reload-fn |app.main/reload!) (:storage-key |calcit.cirru) (:version |0.0.1) - :modules $ [] |respo.calcit/ |lilac/ |memof/ |respo-ui.calcit/ |reel.calcit/ |respo-markdown.calcit/ |alerts.calcit/ + :configs $ {} (:init-fn |app.main/main!) (:reload-fn |app.main/reload!) (:version |0.0.1) + :modules $ [] |respo.calcit/ |lilac/ |memof/ |respo-ui.calcit/ |reel.calcit/ |respo-markdown.calcit/ |alerts.calcit/ |respo-feather.calcit/ :entries $ {} :files $ {} |app.comp.container $ %{} :FileEntry @@ -680,1375 +680,1363 @@ |T $ %{} :Leaf (:at 1728112856505) (:by |rJG4IHzWf) (:text |recur) :examples $ [] |call-flash-imagen-msg! $ %{} :CodeEntry (:doc |) - :code $ %{} :Expr (:at 1767096326344) (:by |sync) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |defn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |call-flash-imagen-msg!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |call-flash-imagen-msg!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |variant) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |b $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |variant) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |hint-fn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |async) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |hint-fn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |async) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*gen-ai-new) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*gen-ai-new) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reset!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*gen-ai-new) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reset!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*gen-ai-new) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |new) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |GoogleGenAI) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |new) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |GoogleGenAI) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:apiKey) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:apiKey) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-gemini-key!) - |d $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |get-gemini-key!) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if-let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if-let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |target) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/document.querySelector) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\".show-image") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/document.querySelector) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\".show-image") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.!setAttribute) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |target) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"src") - |Z $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"") - |f $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!setAttribute) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"src") + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"") + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |if-let) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if-let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |abort) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |deref) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |*abort-control) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |deref) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*abort-control) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |do) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |do) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js/console.warn) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"Aborting prev") - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/console.warn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Aborting prev") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.!abort) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |abort) - |h $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!abort) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |h $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |clear-image-cache!) - |j $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |clear-image-cache!) + |j $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |cursor) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:answer) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |nil) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:loading?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |true) - |l $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) + |l $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |selected) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |selected) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js-await) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-await) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |get-selected) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |get-selected) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |gen-ai) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |gen-ai) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |ai) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |@*gen-ai-new) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ai) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*gen-ai-new) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js/console.log) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |ai) - |Z $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |ai) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/console.log) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ai) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ai) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |content) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.!replace) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |prompt-text) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"{{selected}}") - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!replace) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"{{selected}}") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |or) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |selected) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"<未找到选中内容>") - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |selected) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"<未找到选中内容>") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |sdk-result) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |sdk-result) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js-await) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-await) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.!generateContent) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!generateContent) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-models) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |gen-ai) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-models) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |gen-ai) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:model) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"gemini-2.5-flash-image") - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:model) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"gemini-2.5-flash-image") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:contents) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |content) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:contents) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:config) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:config) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:httpOptions) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:httpOptions) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:baseUrl) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |get-env) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"gemini-host") - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"https://ja.chenyong.life") - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:baseUrl) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text ||https://ja.chenyong.life) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:signal) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:signal) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |abort) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |new) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js/AbortController) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |new) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/AbortController) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |reset!) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |*abort-control) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |abort) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reset!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*abort-control) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-signal) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |abort) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-signal) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:responseModalities) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:responseModalities) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js-array) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-array) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-TEXT) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |Modality) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-TEXT) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |Modality) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-IMAGE) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |Modality) - |b $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-IMAGE) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |Modality) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |*text) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*text) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |atom) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"") - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |atom) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js-await) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-await) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |sdk-result) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-candidates) - |Z $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-0) - |b $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-content) - |d $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-parts) - |f $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |sdk-result) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-candidates) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-0) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-content) + |d $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-parts) + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.!forEach) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!forEach) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |fn) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |?) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |chunk) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |_a) - |Z $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |_b) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chunk) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |_a) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |_b) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |some?) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |chunk) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |some?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chunk) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |if-let) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if-let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |text) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-text) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |chunk) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chunk) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |do) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |do) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |swap!) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |*text) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |str) - |Z $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |text) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |swap!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |cursor) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:answer) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |@*text) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:loading?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:done?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |false) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |if-let) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if-let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |image-data) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |image-data) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-inlineData) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |chunk) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-inlineData) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chunk) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |image-blob) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |image-blob) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |base64ToBlob) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |base64ToBlob) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.-data) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |image-data) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-data) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |image-data) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |url) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |url) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js/URL.createObjectURL) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |image-blob) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/URL.createObjectURL) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |image-blob) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |target) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |js/document.querySelector) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\".show-image") - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/document.querySelector) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\".show-image") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |target) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |.!setAttribute) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"src") - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |url) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!setAttribute) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"src") + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |url) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |reset!) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |*image-cache) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |url) - |b $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reset!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*image-cache) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |url) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |do) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |do) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |swap!) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |*text) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |str) - |Z $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text "|\"(image ready)") - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |swap!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"(image ready)") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |cursor) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:answer) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |@*text) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:loading?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:done?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |false) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |cursor) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:answer) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |@*text) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:loading?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326345) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:done?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |false) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |cursor) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:answer) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |@*text) - |Z $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:loading?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326345) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |:done?) - |X $ %{} :Leaf (:at 1767096326345) (:by |sync) (:text |true) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) :examples $ [] |call-genai-msg! $ %{} :CodeEntry (:doc |) - :code $ %{} :Expr (:at 1767096326344) (:by |sync) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |defn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |call-genai-msg!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |call-genai-msg!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |variant) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |b $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |search?) - |d $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |think?) - |f $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |h $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*text) - |j $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*thinking-text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |variant) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |search?) + |d $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |think?) + |f $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |h $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*text) + |j $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*thinking-text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |hint-fn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |async) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |hint-fn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |async) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*gen-ai-new) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*gen-ai-new) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reset!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*gen-ai-new) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reset!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*gen-ai-new) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |new) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |GoogleGenAI) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |new) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |GoogleGenAI) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:apiKey) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:apiKey) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-gemini-key!) - |d $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |get-gemini-key!) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if-let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if-let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |deref) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*abort-control) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |deref) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*abort-control) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |do) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |do) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/console.warn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"Aborting prev") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/console.warn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Aborting prev") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!abort) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |f $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!abort) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/setTimeout) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/setTimeout) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |fn) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states-merge) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states-merge) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |true) - |h $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) + |h $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |selected) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |selected) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.includes?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"{{selected}}") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.includes?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"{{selected}}") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-await) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-await) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-selected) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |get-selected) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |gen-ai) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |gen-ai) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |ai) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*gen-ai-new) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ai) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*gen-ai-new) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |;) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/console.log) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |ai) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |ai) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |;) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/console.log) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ai) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ai) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |pick-model) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |variant) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |pick-model) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |variant) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |content) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!replace) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"{{selected}}") - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!replace) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"{{selected}}") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |selected) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"<未找到选中内容>") - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |selected) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"<未找到选中内容>") + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |json?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |json?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!includes) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"{{json}}") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!includes) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"{{json}}") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!includes) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"{{JSON}}") - |d $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!includes) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"{{JSON}}") + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |pro?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |pro?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!includes) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"pro") - |f $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!includes) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"pro") + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |has-url?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |has-url?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!includes) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"http://") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!includes) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"http://") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!includes) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"https://") - |h $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!includes) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"https://") + |h $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |sdk-result) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |sdk-result) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-await) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-await) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!generateContentStream) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!generateContentStream) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-models) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |gen-ai) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-models) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |gen-ai) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:model) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:model) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:contents) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:contents) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-array) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-array) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:role) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"user") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:role) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"user") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:parts) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:parts) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-array) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-array) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:text) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |content) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:config) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:config) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/Object.assign) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/Object.assign) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinkingConfig) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinkingConfig) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |think?) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |think?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinkingBudget) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinkingBudget) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-env) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"think-budget") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |get-env) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"think-budget") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |pro?) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |3200) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |800) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |pro?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |3200) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |800) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:includeThoughts) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |think?) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:includeThoughts) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |think?) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinkingBudget) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |0) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinkingBudget) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |0) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:includeThoughts) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:includeThoughts) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:httpOptions) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:httpOptions) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:baseUrl) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-env) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"gemini-host") - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"https://ja.chenyong.life") - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:baseUrl) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text ||https://ja.chenyong.life) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:tools) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:tools) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |t) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |t) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-array) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-array) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |search?) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |search?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:googleSearch) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:googleSearch) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |has-url?) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |has-url?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:urlContext) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:urlContext) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!filter) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!filter) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |fn) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |x) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |&) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |_a) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |x) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |x) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |&) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |_a) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |x) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |=) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |0) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |0) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-length) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |t) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/undefined) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |t) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-length) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |t) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/undefined) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |t) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:abortSignal) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:abortSignal) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |new) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/AbortController) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |new) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/AbortController) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reset!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*abort-control) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reset!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*abort-control) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-signal) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-signal) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |json?) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |json?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"responseMimeType") - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"application/json") - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/undefined) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"responseMimeType") + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"application/json") + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/undefined) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-await) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-await) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-for-await) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |sdk-result) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-for-await) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |sdk-result) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |fn) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |chunk) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chunk) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |some?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |chunk) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |some?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chunk) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |part) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/chunk.candidates?.[0]?.content?.parts?.[0]) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |part) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/chunk.candidates?.[0]?.content?.parts?.[0]) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |is-thinking?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |is-thinking?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |some?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |part) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |some?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |part) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-thought) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |part) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-thought) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |part) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |t) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |t) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |some?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |part) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |some?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |part) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-text) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |part) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |part) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-text) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |chunk) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chunk) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |text) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |t) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |t) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |chunk) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.?-promptFeedback) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.?-blockReason) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text ||__BLANK__) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chunk) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.?-promptFeedback) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.?-blockReason) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text ||__BLANK__) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |is-thinking?) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |is-thinking?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |swap!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*thinking-text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |swap!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*thinking-text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |swap!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |swap!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states-merge) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states-merge) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*text) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinking) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*thinking-text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinking) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*thinking-text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:done?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states-merge) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states-merge) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*text) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinking) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*thinking-text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinking) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*thinking-text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:done?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states-merge) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states-merge) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*text) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinking) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*thinking-text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinking) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*thinking-text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:done?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |true) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) :examples $ [] |call-imagen-4-msg! $ %{} :CodeEntry (:doc |) - :code $ %{} :Expr (:at 1767096326344) (:by |sync) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |defn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |call-imagen-4-msg!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |call-imagen-4-msg!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |variant) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |b $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |variant) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |hint-fn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |async) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |hint-fn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |async) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*gen-ai-new) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*gen-ai-new) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reset!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*gen-ai-new) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reset!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*gen-ai-new) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |new) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |GoogleGenAI) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |new) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |GoogleGenAI) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:apiKey) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:apiKey) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-gemini-key!) - |d $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |get-gemini-key!) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if-let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if-let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |target) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/document.querySelector) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\".show-image") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/document.querySelector) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\".show-image") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!removeAttribute) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |target) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"src") - |f $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!removeAttribute) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"src") + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if-let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if-let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |deref) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*abort-control) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |deref) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*abort-control) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |do) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |do) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/console.warn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"Aborting prev") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/console.warn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Aborting prev") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!abort) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |h $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!abort) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |h $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |clear-image-cache!) - |j $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |clear-image-cache!) + |j $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |true) - |l $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) + |l $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |selected) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |selected) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-await) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-await) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-selected) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |get-selected) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |gen-ai) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |gen-ai) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |ai) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*gen-ai-new) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |ai) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ai) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*gen-ai-new) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ai) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |response) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |response) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-await) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-await) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!generateImages) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!generateImages) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-models) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |gen-ai) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-models) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |gen-ai) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:model) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"imagen-4.0-generate-001") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:model) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"imagen-4.0-generate-001") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:prompt) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |prompt-text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:prompt) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |prompt-text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:config) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:config) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:numberOfImages) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |1) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:numberOfImages) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |1) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:includeRaiReason) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |true) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:includeRaiReason) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:httpOptions) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:httpOptions) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:baseUrl) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-env) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"gemini-host") - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"https://ja.chenyong.life") - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:baseUrl) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text ||https://ja.chenyong.life) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:signal) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:signal) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |new) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/AbortController) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |new) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/AbortController) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reset!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*abort-control) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reset!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*abort-control) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-signal) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |abort) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-signal) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |abort) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*text) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*text) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |atom) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |atom) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if-let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if-let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |image-data) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |image-data) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |response) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-generatedImages) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-0) - |b $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-image) - |d $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-imageBytes) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |response) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-generatedImages) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-0) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-image) + |d $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-imageBytes) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |image-blob) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |image-blob) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |base64ToBlob) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |image-data) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |base64ToBlob) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |image-data) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |url) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |url) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/URL.createObjectURL) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |image-blob) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/URL.createObjectURL) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |image-blob) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |target) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/document.querySelector) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\".show-image") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reset!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*image-cache) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |url) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |target) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.!setAttribute) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"src") - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |url) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |do) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |swap!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |*text) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"(image ready)") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/document.querySelector) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\".show-image") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reset!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*image-cache) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |url) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!setAttribute) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"src") + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |url) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |do) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |swap!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |*text) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"(image ready)") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:done?) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*text) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:done?) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |true) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |@*text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) :examples $ [] |call-openrouter! $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1745685220750) (:by |rJG4IHzWf) @@ -2539,1208 +2527,1284 @@ |h $ %{} :Leaf (:at 1743617965330) (:by |rJG4IHzWf) (:text |style-abort-close) :examples $ [] |comp-container $ %{} :CodeEntry (:doc |) - :code $ %{} :Expr (:at 1767096326344) (:by |sync) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |defcomp) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-container) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defcomp) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-container) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reel) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |store) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |store) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:store) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reel) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:store) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |states) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |store) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |store) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:cursor) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |states) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:cursor) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |[]) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |[]) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:data) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |states) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:data) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:done?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |either) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |either) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:model) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:gemini) - |d $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:model) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:gemini) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model-plugin) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model-plugin) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |use-modal-menu) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |use-modal-menu) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |>>) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |states) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:model) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |>>) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:model) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |;) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:title) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "||Select model") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |;) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:title) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "||Select model") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:style) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:style) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:width) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |300) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:width) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |300) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:backdrop-style) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:backdrop-style) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |;) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:card-class) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-card) - |d $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |;) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:card-class) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-card) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |;) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:backdrop-class) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-backdrop) - |f $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |;) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:backdrop-class) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-backdrop) + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |;) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:confirm-class) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-confirm) - |h $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |;) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:confirm-class) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-confirm) + |h $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:items) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |models-menu) - |j $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:items) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |models-menu) + |j $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:on-result) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-result) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |fn) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |result) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |result) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |assoc) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:model) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:model) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nth) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |result) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |1) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nth) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |result) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |1) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str-spaced) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/preset) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/global) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/column) - |b $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/fullscreen) - |d $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/gap8) - |f $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-app-global) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/preset) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/global) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/column) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/fullscreen) + |d $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/gap8) + |f $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-app-global) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str-spaced) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/expand) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-message-area) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/expand) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-message-area) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str-spaced) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/column) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-message-list) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/column) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-message-list) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |=) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:imagen-4) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:imagen-4) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |=) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:flash-imagen) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:flash-imagen) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |img) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |img) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str-spaced) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-image) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"show-image") - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-image) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"show-image") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:loading?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:loading?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |memof1-call-by) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:abort-loading) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-abort) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"Loading...") - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |memof1-call-by) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:abort-loading) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-abort) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Loading...") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |not) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |blank?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |blank?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |not) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |blank?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |blank?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinking) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinking) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |not) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |blank?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |blank?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinking) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinking) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-thinking) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-thinking) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |memof1-call) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-md-block) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |memof1-call) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-md-block) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:thinking) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:thinking) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |either) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"") - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |either) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-md-content) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-md-content) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |not) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |blank?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |blank?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |json-pattern?) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |json-pattern?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |pre) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |pre) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-code-content) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-code-content) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:inner-text) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:inner-text) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |memof1-call) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-md-block) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |memof1-call) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-md-block) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |->) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |either) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"") - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |either) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-md-content) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-md-content) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/row-parted) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/row-parted) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str-spaced) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/row-middle) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/gap8) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/row-middle) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/gap8) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:done?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |memof1-call-by) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:abort-streaming) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-abort) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"Streaming...") - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |memof1-call-by) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:abort-streaming) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-abort) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Streaming...") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:done?) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:done?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |div) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/row-middle) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/gap8) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chrome-extension?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-fill) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str-spaced) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |css/row-middle) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |either) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"") + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-copy) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-copy) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:answer) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:answer) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |=<) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |200) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=<) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |200) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-message-box) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-message-box) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |>>) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |states) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:message-box) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |>>) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:message-box) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |a) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |a) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:inner-text) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:inner-text) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |or) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |turn-str) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"-") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |turn-str) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"-") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:class-name) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str-spaced) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |style-a-toggler) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-a-toggler) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:style) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:style) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:opacity) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:opacity) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |=) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:anthropic) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |1) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |0.3) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:anthropic) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |1) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |0.3) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:on-click) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-click) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |fn) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |e) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |;) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |;) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |::) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:change-model) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:change-model) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.show) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model-plugin) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |fn) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |text) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |search?) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |think?) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |submit-message!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |text) - |b $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |search?) - |d $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |think?) - |f $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |h $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |d!) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.show) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model-plugin) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |search?) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |think?) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |submit-message!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |search?) + |d $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |think?) + |f $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model) + |h $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |model-plugin.render) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |dev?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-reel) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |>>) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:reel) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |f $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |dev?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-inspect) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Store") + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |store) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + :examples $ [] + |comp-fill $ %{} :CodeEntry (:doc |) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defcomp) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-fill) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model-plugin.render) - |d $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-fill) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |dev?) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-click) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-reel) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |>>) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |states) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:reel) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |reel) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |{}) - |f $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |dev?) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) - :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |comp-inspect) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"Store") - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |store) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |nil) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |when) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chrome-extension?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/chrome.runtime.sendMessage) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:action) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text ||fill-text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-i) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:send) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |12) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:currentColor) :examples $ [] |comp-message-box $ %{} :CodeEntry (:doc |) - :code $ %{} :Expr (:at 1722536204293) (:by |rJG4IHzWf) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536213982) (:by |rJG4IHzWf) (:text |defcomp) - |b $ %{} :Leaf (:at 1722536204293) (:by |rJG4IHzWf) (:text |comp-message-box) - |h $ %{} :Expr (:at 1722536204293) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defcomp) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-message-box) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536210883) (:by |rJG4IHzWf) (:text |states) - |X $ %{} :Leaf (:at 1764579042584) (:by |rJG4IHzWf) (:text |picker-el) - |b $ %{} :Leaf (:at 1722536416126) (:by |rJG4IHzWf) (:text |on-submit) - |l $ %{} :Expr (:at 1722536215653) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |picker-el) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |on-submit) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1722536216305) (:by |rJG4IHzWf) (:text |let) - |L $ %{} :Expr (:at 1722536216555) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Expr (:at 1722536239685) (:by |rJG4IHzWf) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536240505) (:by |rJG4IHzWf) (:text |cursor) - |b $ %{} :Expr (:at 1722536240674) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536241583) (:by |rJG4IHzWf) (:text |:cursor) - |b $ %{} :Leaf (:at 1722536242541) (:by |rJG4IHzWf) (:text |states) - |T $ %{} :Expr (:at 1722536216714) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:cursor) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536245819) (:by |rJG4IHzWf) (:text |state) - |b $ %{} :Expr (:at 1722536224983) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536230451) (:by |rJG4IHzWf) (:text |either) - |b $ %{} :Expr (:at 1722536230771) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |either) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536231317) (:by |rJG4IHzWf) (:text |:data) - |b $ %{} :Leaf (:at 1722536233169) (:by |rJG4IHzWf) (:text |states) - |h $ %{} :Expr (:at 1722536234482) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:data) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |states) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536234805) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1722536235205) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536236503) (:by |rJG4IHzWf) (:text |:content) - |b $ %{} :Leaf (:at 1722536237836) (:by |rJG4IHzWf) (:text "|\"") - |h $ %{} :Expr (:at 1754588766900) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588788854) (:by |rJG4IHzWf) (:text |:search?) - |b $ %{} :Leaf (:at 1754588774975) (:by |rJG4IHzWf) (:text |false) - |l $ %{} :Expr (:at 1754589472146) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:search?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589476366) (:by |rJG4IHzWf) (:text |:think?) - |b $ %{} :Leaf (:at 1754589477156) (:by |rJG4IHzWf) (:text |false) - |T $ %{} :Expr (:at 1723603372844) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:think?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1723603373761) (:by |rJG4IHzWf) (:text |[]) - |L $ %{} :Expr (:at 1723603375458) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |[]) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1723603383380) (:by |rJG4IHzWf) (:text |effect-focus) - |T $ %{} :Expr (:at 1754589131868) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |effect-focus) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1754589132789) (:by |rJG4IHzWf) (:text |div) - |L $ %{} :Expr (:at 1754589133022) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |on-fill) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |on-submit) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589135945) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1754589136869) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589138216) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Expr (:at 1754589160443) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1754589163202) (:by |rJG4IHzWf) (:text |str-spaced) - |L $ %{} :Leaf (:at 1754589165556) (:by |rJG4IHzWf) (:text |css/center) - |T $ %{} :Leaf (:at 1754589148491) (:by |rJG4IHzWf) (:text |style-message-box-panel) - |T $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/center) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-message-box-panel) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |div) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |str-spaced) - |b $ %{} :Leaf (:at 1754588398115) (:by |rJG4IHzWf) (:text |css/column) - |l $ %{} :Leaf (:at 1722963242805) (:by |rJG4IHzWf) (:text |style-message-box) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/column) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-message-box) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |textarea) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |textarea) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:value) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:value) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:content) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:placeholder) - |b $ %{} :Leaf (:at 1754590086662) (:by |rJG4IHzWf) (:text "|\"Prompt to try LLM...") - |j $ %{} :Expr (:at 1722965218570) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:placeholder) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Prompt to try LLM...") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722965219789) (:by |rJG4IHzWf) (:text |:id) - |b $ %{} :Leaf (:at 1722965223404) (:by |rJG4IHzWf) (:text "|\"message") - |l $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:id) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"message") + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |str-spaced) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |css/textarea) - |e $ %{} :Leaf (:at 1722964960984) (:by |rJG4IHzWf) (:text |css/font-code!) - |h $ %{} :Leaf (:at 1722964845813) (:by |rJG4IHzWf) (:text |style-textbox) - |q $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/textarea) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/font-code!) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-textbox) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:on-input) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-input) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |d!) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |cursor) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |assoc) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:content) - |l $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:value) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |e) - |s $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:value) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:on-keydown) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-keydown) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |if) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |and) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |and) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |=) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |13) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |13) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:keycode) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |e) - |h $ %{} :Expr (:at 1744033011488) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:keycode) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1744033013622) (:by |rJG4IHzWf) (:text |or) - |T $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |or) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:meta?) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:meta?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1744033018115) (:by |rJG4IHzWf) (:text |:ctrl?) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |e) - |l $ %{} :Expr (:at 1722536419205) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:ctrl?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536419900) (:by |rJG4IHzWf) (:text |on-submit) - |b $ %{} :Expr (:at 1722536423510) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |on-submit) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536424418) (:by |rJG4IHzWf) (:text |:content) - |b $ %{} :Leaf (:at 1722536426394) (:by |rJG4IHzWf) (:text |state) - |e $ %{} :Expr (:at 1754589424050) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589426242) (:by |rJG4IHzWf) (:text |:search?) - |b $ %{} :Leaf (:at 1754589427009) (:by |rJG4IHzWf) (:text |state) - |f $ %{} :Expr (:at 1754589480866) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:search?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589480866) (:by |rJG4IHzWf) (:text |:think?) - |b $ %{} :Leaf (:at 1754589611706) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Leaf (:at 1722536427678) (:by |rJG4IHzWf) (:text |d!) - |t $ %{} :Expr (:at 1743789654239) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:think?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |h $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789657842) (:by |rJG4IHzWf) (:text |:on-focus) - |b $ %{} :Expr (:at 1743789658169) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-focus) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789658421) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1743789659028) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789659217) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1743789659715) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1743789660367) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789665209) (:by |rJG4IHzWf) (:text |let) - |b $ %{} :Expr (:at 1743789665470) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1743789665702) (:by |rJG4IHzWf) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789666481) (:by |rJG4IHzWf) (:text |target) - |b $ %{} :Expr (:at 1743789671868) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1743789676016) (:by |rJG4IHzWf) (:text |.-target) - |T $ %{} :Expr (:at 1743789666857) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-target) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789669577) (:by |rJG4IHzWf) (:text |:event) - |b $ %{} :Leaf (:at 1743789670190) (:by |rJG4IHzWf) (:text |e) - |X $ %{} :Expr (:at 1743789665702) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:event) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754926446966) (:by |rJG4IHzWf) (:text |box) - |b $ %{} :Expr (:at 1754926460123) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1754926463374) (:by |rJG4IHzWf) (:text |.-parentElement) - |T $ %{} :Expr (:at 1743789671868) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-parentElement) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1754926454902) (:by |rJG4IHzWf) (:text |.-parentElement) - |P $ %{} :Leaf (:at 1754926459391) (:by |rJG4IHzWf) (:text |target) - |b $ %{} :Expr (:at 1743789800120) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-parentElement) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789804226) (:by |rJG4IHzWf) (:text |class-list) - |b $ %{} :Expr (:at 1743789804928) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |class-list) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789811521) (:by |rJG4IHzWf) (:text |.-classList) - |b $ %{} :Leaf (:at 1743789813183) (:by |rJG4IHzWf) (:text |target) - |h $ %{} :Expr (:at 1754926470011) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-classList) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754926471615) (:by |rJG4IHzWf) (:text |box-class) - |b $ %{} :Expr (:at 1754926473770) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box-class) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754926473523) (:by |rJG4IHzWf) (:text |.-classList) - |b $ %{} :Leaf (:at 1754926475156) (:by |rJG4IHzWf) (:text |box) - |h $ %{} :Expr (:at 1743789817355) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-classList) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789817696) (:by |rJG4IHzWf) (:text |if) - |b $ %{} :Expr (:at 1743789826415) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1743789827001) (:by |rJG4IHzWf) (:text |not) - |T $ %{} :Expr (:at 1743789818052) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789887751) (:by |rJG4IHzWf) (:text |.!contains) - |b $ %{} :Leaf (:at 1743789821670) (:by |rJG4IHzWf) (:text |class-list) - |h $ %{} :Leaf (:at 1743789854087) (:by |rJG4IHzWf) (:text "|\"focus-within") - |h $ %{} :Expr (:at 1743789828059) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!contains) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |class-list) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"focus-within") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789842706) (:by |rJG4IHzWf) (:text |.!add) - |b $ %{} :Leaf (:at 1743789844159) (:by |rJG4IHzWf) (:text |class-list) - |h $ %{} :Leaf (:at 1743789877875) (:by |rJG4IHzWf) (:text "|\"focus-within") - |l $ %{} :Expr (:at 1743789817355) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!add) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |class-list) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"focus-within") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789817696) (:by |rJG4IHzWf) (:text |if) - |b $ %{} :Expr (:at 1743789826415) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1743789827001) (:by |rJG4IHzWf) (:text |not) - |T $ %{} :Expr (:at 1743789818052) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789887751) (:by |rJG4IHzWf) (:text |.!contains) - |b $ %{} :Leaf (:at 1754926486723) (:by |rJG4IHzWf) (:text |box-class) - |h $ %{} :Leaf (:at 1743789854087) (:by |rJG4IHzWf) (:text "|\"focus-within") - |h $ %{} :Expr (:at 1743789828059) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!contains) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box-class) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"focus-within") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789842706) (:by |rJG4IHzWf) (:text |.!add) - |b $ %{} :Leaf (:at 1754926500993) (:by |rJG4IHzWf) (:text |box-class) - |h $ %{} :Leaf (:at 1743789877875) (:by |rJG4IHzWf) (:text "|\"focus-within") - |u $ %{} :Expr (:at 1743789654239) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!add) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box-class) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"focus-within") + |j $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789860058) (:by |rJG4IHzWf) (:text |:on-blur) - |b $ %{} :Expr (:at 1743789658169) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-blur) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789658421) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1743789659028) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789659217) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1743789659715) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1743789660367) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789665209) (:by |rJG4IHzWf) (:text |let) - |b $ %{} :Expr (:at 1743789665470) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1743789665702) (:by |rJG4IHzWf) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789666481) (:by |rJG4IHzWf) (:text |target) - |b $ %{} :Expr (:at 1743789671868) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1743789676016) (:by |rJG4IHzWf) (:text |.-target) - |T $ %{} :Expr (:at 1743789666857) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-target) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789669577) (:by |rJG4IHzWf) (:text |:event) - |b $ %{} :Leaf (:at 1743789670190) (:by |rJG4IHzWf) (:text |e) - |X $ %{} :Expr (:at 1754926468709) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:event) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754926468709) (:by |rJG4IHzWf) (:text |box) - |b $ %{} :Expr (:at 1754926468709) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754926468709) (:by |rJG4IHzWf) (:text |.-parentElement) - |b $ %{} :Expr (:at 1754926468709) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-parentElement) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754926468709) (:by |rJG4IHzWf) (:text |.-parentElement) - |b $ %{} :Leaf (:at 1754926468709) (:by |rJG4IHzWf) (:text |target) - |b $ %{} :Expr (:at 1743789800120) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-parentElement) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789804226) (:by |rJG4IHzWf) (:text |class-list) - |b $ %{} :Expr (:at 1743789804928) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |class-list) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789811521) (:by |rJG4IHzWf) (:text |.-classList) - |b $ %{} :Leaf (:at 1743789813183) (:by |rJG4IHzWf) (:text |target) - |h $ %{} :Expr (:at 1754926478014) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-classList) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |target) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754926480841) (:by |rJG4IHzWf) (:text |box-class) - |b $ %{} :Expr (:at 1754926480841) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box-class) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754926480841) (:by |rJG4IHzWf) (:text |.-classList) - |b $ %{} :Leaf (:at 1754926480841) (:by |rJG4IHzWf) (:text |box) - |h $ %{} :Expr (:at 1743789817355) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-classList) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789817696) (:by |rJG4IHzWf) (:text |if) - |b $ %{} :Expr (:at 1743789818052) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789886262) (:by |rJG4IHzWf) (:text |.!contains) - |b $ %{} :Leaf (:at 1743789821670) (:by |rJG4IHzWf) (:text |class-list) - |h $ %{} :Leaf (:at 1743789854087) (:by |rJG4IHzWf) (:text "|\"focus-within") - |h $ %{} :Expr (:at 1743789828059) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!contains) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |class-list) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"focus-within") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789870113) (:by |rJG4IHzWf) (:text |.!remove) - |b $ %{} :Leaf (:at 1743789844159) (:by |rJG4IHzWf) (:text |class-list) - |h $ %{} :Leaf (:at 1743789874092) (:by |rJG4IHzWf) (:text "|\"focus-within") - |l $ %{} :Expr (:at 1743789817355) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!remove) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |class-list) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"focus-within") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789817696) (:by |rJG4IHzWf) (:text |if) - |b $ %{} :Expr (:at 1743789818052) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789886262) (:by |rJG4IHzWf) (:text |.!contains) - |b $ %{} :Leaf (:at 1754926495390) (:by |rJG4IHzWf) (:text |box-class) - |h $ %{} :Leaf (:at 1743789854087) (:by |rJG4IHzWf) (:text "|\"focus-within") - |h $ %{} :Expr (:at 1743789828059) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!contains) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box-class) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"focus-within") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789870113) (:by |rJG4IHzWf) (:text |.!remove) - |b $ %{} :Leaf (:at 1754926498093) (:by |rJG4IHzWf) (:text |box-class) - |h $ %{} :Leaf (:at 1743789874092) (:by |rJG4IHzWf) (:text "|\"focus-within") - |j $ %{} :Expr (:at 1754588407693) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1754588409123) (:by |rJG4IHzWf) (:text |=<) - |b $ %{} :Leaf (:at 1754588410304) (:by |rJG4IHzWf) (:text |nil) - |h $ %{} :Leaf (:at 1754588411120) (:by |rJG4IHzWf) (:text |4) - |l $ %{} :Expr (:at 1754588323358) (:by |rJG4IHzWf) - :data $ {} - |D $ %{} :Leaf (:at 1754588324426) (:by |rJG4IHzWf) (:text |div) - |L $ %{} :Expr (:at 1754588324914) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!remove) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |box-class) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"focus-within") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=<) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |4) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588325213) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1754588367319) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588372842) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Leaf (:at 1754588375650) (:by |rJG4IHzWf) (:text |css/row-parted) - |P $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/row-parted) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |if) - |b $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |not) - |b $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |blank?) - |b $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |blank?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |:content) - |b $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |comp-close) - |b $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-close) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |style-clear) - |h $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-clear) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |:on-click) - |b $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-click) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |d!) - |b $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |cursor) - |h $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |assoc) - |b $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |:content) - |l $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text "|\"") - |l $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |->) - |b $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |->) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |js/document.querySelector) - |b $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text "|\"#message") - |h $ %{} :Expr (:at 1754588327744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/document.querySelector) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"#message") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588327744) (:by |rJG4IHzWf) (:text |.!focus) - |l $ %{} :Expr (:at 1754588377179) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.!focus) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588377756) (:by |rJG4IHzWf) (:text |span) - |b $ %{} :Expr (:at 1754588632308) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |span) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588633074) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1754588634025) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588636841) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Leaf (:at 1754588637183) (:by |rJG4IHzWf) (:text |style-clear) - |T $ %{} :Expr (:at 1754588648388) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-clear) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1754588649819) (:by |rJG4IHzWf) (:text |div) - |L $ %{} :Expr (:at 1754588650098) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588650404) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1754588651332) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588653232) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Expr (:at 1754588655786) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1754588657359) (:by |rJG4IHzWf) (:text |str-spaced) - |T $ %{} :Leaf (:at 1754588654497) (:by |rJG4IHzWf) (:text |css/row) - |b $ %{} :Leaf (:at 1764579751744) (:by |rJG4IHzWf) (:text |style-gap12) - |N $ %{} :Leaf (:at 1764579048351) (:by |rJG4IHzWf) (:text |picker-el) - |P $ %{} :Expr (:at 1754588685340) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/row) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-gap12) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |picker-el) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588686621) (:by |rJG4IHzWf) (:text |div) - |b $ %{} :Expr (:at 1754588686974) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588688340) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1754588722604) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588724902) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Expr (:at 1754589855519) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1754589857091) (:by |rJG4IHzWf) (:text |str-spaced) - |T $ %{} :Leaf (:at 1754588727621) (:by |rJG4IHzWf) (:text |css/row) - |b $ %{} :Leaf (:at 1754589861945) (:by |rJG4IHzWf) (:text |style-checkbox) - |l $ %{} :Expr (:at 1754589750070) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/row) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-checkbox) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |:on-click) - |b $ %{} :Expr (:at 1754589750070) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-click) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1754589750070) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1754589750070) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |d!) - |b $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |cursor) - |h $ %{} :Expr (:at 1754589750070) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |assoc) - |b $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Leaf (:at 1754589755280) (:by |rJG4IHzWf) (:text |:think?) - |l $ %{} :Expr (:at 1754589750070) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:think?) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589750070) (:by |rJG4IHzWf) (:text |not) - |b $ %{} :Expr (:at 1754589768552) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589767996) (:by |rJG4IHzWf) (:text |:think?) - |b $ %{} :Leaf (:at 1754589769598) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Expr (:at 1754588688990) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:think?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588690289) (:by |rJG4IHzWf) (:text |input) - |b $ %{} :Expr (:at 1754588690523) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |input) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588690790) (:by |rJG4IHzWf) (:text |{}) - |X $ %{} :Expr (:at 1754588778972) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589829232) (:by |rJG4IHzWf) (:text |:checked) - |b $ %{} :Expr (:at 1754588783673) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:checked) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589649994) (:by |rJG4IHzWf) (:text |:think?) - |b $ %{} :Leaf (:at 1754588786774) (:by |rJG4IHzWf) (:text |state) - |b $ %{} :Expr (:at 1754588691417) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:think?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588692550) (:by |rJG4IHzWf) (:text |:type) - |b $ %{} :Leaf (:at 1754588716408) (:by |rJG4IHzWf) (:text "|\"checkbox") - |l $ %{} :Expr (:at 1754588702272) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:type) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"checkbox") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588703681) (:by |rJG4IHzWf) (:text |<>) - |b $ %{} :Leaf (:at 1764579571765) (:by |rJG4IHzWf) (:text "|\"Think") - |h $ %{} :Leaf (:at 1754588747315) (:by |rJG4IHzWf) (:text |css/font-fancy) - |R $ %{} :Expr (:at 1754588685340) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |<>) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Think") + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/font-fancy) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588686621) (:by |rJG4IHzWf) (:text |div) - |b $ %{} :Expr (:at 1754588686974) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588688340) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1754589922502) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589922502) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Expr (:at 1754589922502) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589922502) (:by |rJG4IHzWf) (:text |str-spaced) - |b $ %{} :Leaf (:at 1754589922502) (:by |rJG4IHzWf) (:text |css/row) - |h $ %{} :Leaf (:at 1754589922502) (:by |rJG4IHzWf) (:text |style-checkbox) - |h $ %{} :Expr (:at 1754589709151) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/row) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-checkbox) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589719793) (:by |rJG4IHzWf) (:text |:on-click) - |b $ %{} :Expr (:at 1754589720153) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-click) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589720343) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1754589721510) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589720667) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1754589722639) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1754589725099) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589725099) (:by |rJG4IHzWf) (:text |d!) - |b $ %{} :Leaf (:at 1754589725099) (:by |rJG4IHzWf) (:text |cursor) - |h $ %{} :Expr (:at 1754589725099) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589725099) (:by |rJG4IHzWf) (:text |assoc) - |b $ %{} :Leaf (:at 1754589725099) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Leaf (:at 1754589725099) (:by |rJG4IHzWf) (:text |:search?) - |l $ %{} :Expr (:at 1754589727292) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:search?) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589728696) (:by |rJG4IHzWf) (:text |not) - |b $ %{} :Expr (:at 1754589770744) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |not) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589771402) (:by |rJG4IHzWf) (:text |:search?) - |b $ %{} :Leaf (:at 1754589772173) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Expr (:at 1754588688990) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:search?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588690289) (:by |rJG4IHzWf) (:text |input) - |b $ %{} :Expr (:at 1754588690523) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |input) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588690790) (:by |rJG4IHzWf) (:text |{}) - |X $ %{} :Expr (:at 1754588778972) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589834002) (:by |rJG4IHzWf) (:text |:checked) - |b $ %{} :Expr (:at 1754588783673) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:checked) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588785536) (:by |rJG4IHzWf) (:text |:search?) - |b $ %{} :Leaf (:at 1754588786774) (:by |rJG4IHzWf) (:text |state) - |b $ %{} :Expr (:at 1754588691417) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:search?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588692550) (:by |rJG4IHzWf) (:text |:type) - |b $ %{} :Leaf (:at 1754588716408) (:by |rJG4IHzWf) (:text "|\"checkbox") - |l $ %{} :Expr (:at 1754588702272) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:type) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"checkbox") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588703681) (:by |rJG4IHzWf) (:text |<>) - |b $ %{} :Leaf (:at 1754588706940) (:by |rJG4IHzWf) (:text "|\"Search") - |h $ %{} :Leaf (:at 1754588747315) (:by |rJG4IHzWf) (:text |css/font-fancy) - |T $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |<>) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Search") + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/font-fancy) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |button) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |button) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Expr (:at 1722963277244) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:class-name) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |D $ %{} :Leaf (:at 1722963281394) (:by |rJG4IHzWf) (:text |str-spaced) - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |css/button) - |b $ %{} :Leaf (:at 1722963290998) (:by |rJG4IHzWf) (:text |style-submit) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str-spaced) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css/button) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-submit) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:inner-text) - |b $ %{} :Leaf (:at 1754590065216) (:by |rJG4IHzWf) (:text "|\"Submit") - |l $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:inner-text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"Submit") + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:on-click) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-click) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |e) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |;) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |println) - |h $ %{} :Expr (:at 1722536206569) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |;) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |println) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |:content) - |b $ %{} :Leaf (:at 1722536206569) (:by |rJG4IHzWf) (:text |state) - |l $ %{} :Expr (:at 1722536434666) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536434666) (:by |rJG4IHzWf) (:text |on-submit) - |b $ %{} :Expr (:at 1722536434666) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |on-submit) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722536434666) (:by |rJG4IHzWf) (:text |:content) - |b $ %{} :Leaf (:at 1722536434666) (:by |rJG4IHzWf) (:text |state) - |e $ %{} :Expr (:at 1754588905959) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754588907210) (:by |rJG4IHzWf) (:text |:search?) - |b $ %{} :Leaf (:at 1754588908361) (:by |rJG4IHzWf) (:text |state) - |f $ %{} :Expr (:at 1754589483893) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:search?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1754589483893) (:by |rJG4IHzWf) (:text |:think?) - |b $ %{} :Leaf (:at 1754589614219) (:by |rJG4IHzWf) (:text |state) - |h $ %{} :Leaf (:at 1722536434666) (:by |rJG4IHzWf) (:text |d!) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:think?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |d!) :examples $ [] |effect-focus $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1723603385630) (:by |rJG4IHzWf) @@ -4200,6 +4264,102 @@ |h $ %{} :Leaf (:at 1760369444457) (:by |rJG4IHzWf) (:text |:claude-4.5) |l $ %{} :Leaf (:at 1760369447272) (:by |rJG4IHzWf) (:text "|\"Claude 4.5") :examples $ [] + |on-fill $ %{} :CodeEntry (:doc |) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |on-fill) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |on-submit) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |%{}) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo.schema/RespoListener) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:on-fill) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:handler) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |dispatch!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |tag-match) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:fill-text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |info) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |submit?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |either) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:submit?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |info) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |do) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |dispatch!) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:states) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |cursor) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |assoc) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:content) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |info) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |if) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |submit?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |on-submit) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |info) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:search?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:think?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |state) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |dispatch!) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |nil) + :examples $ [] |pattern-spaced-code $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1722483516034) (:by |rJG4IHzWf) :data $ {} @@ -4458,6 +4618,77 @@ |T $ %{} :Leaf (:at 1743618485449) (:by |rJG4IHzWf) (:text |:font-size) |b $ %{} :Leaf (:at 1743618496096) (:by |rJG4IHzWf) (:text |13) :examples $ [] + |style-fill $ %{} :CodeEntry (:doc |) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defstyle) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-fill) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"&") + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:cursor) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:pointer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:user-select) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:none) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:display) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:inline-flex) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:align-items) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:center) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:justify-content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:center) + |f $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:transition-duration) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"200ms") + |h $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:color) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |hsl) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |0) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |0) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |80) + |j $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:margin) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"0 4px 0 8px") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"&:hover") + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:color) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |hsl) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |0) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |0) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |40) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:transform) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"scale(1.06)") + :examples $ [] |style-gap12 $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1764579752226) (:by |rJG4IHzWf) :data $ {} @@ -5348,142 +5579,149 @@ |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |true) :examples $ [] :ns $ %{} :CodeEntry (:doc |) - :code $ %{} :Expr (:at 1499755354983) (:by |) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |ns) - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |app.comp.container) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ns) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |app.comp.container) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:require) - |r $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:require) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1695659797743) (:by |rJG4IHzWf) (:text |respo-ui.css) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:as) - |v $ %{} :Leaf (:at 1695659799627) (:by |rJG4IHzWf) (:text |css) - |t $ %{} :Expr (:at 1695659844346) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo-ui.css) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:as) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |css) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1695659847085) (:by |rJG4IHzWf) (:text |respo.css) - |b $ %{} :Leaf (:at 1695659847949) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1695659848197) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo.css) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1695659850247) (:by |rJG4IHzWf) (:text |defstyle) - |u $ %{} :Expr (:at 1722448116666) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defstyle) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722448121297) (:by |rJG4IHzWf) (:text |respo.util.format) - |b $ %{} :Leaf (:at 1722448122163) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1722448122362) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo.util.format) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722448122671) (:by |rJG4IHzWf) (:text |hsl) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |hsl) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1540958704705) (:by |root) (:text |respo.core) - |r $ %{} :Leaf (:at 1508946162679) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo.core) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |defcomp) - |l $ %{} :Leaf (:at 1573355389740) (:by |rJG4IHzWf) (:text |defeffect) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |<>) - |t $ %{} :Leaf (:at 1584780606618) (:by |rJG4IHzWf) (:text |>>) - |v $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |div) - |x $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |button) - |xT $ %{} :Leaf (:at 1512359490531) (:by |rJG4IHzWf) (:text |textarea) - |y $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |span) - |yT $ %{} :Leaf (:at 1552321107012) (:by |rJG4IHzWf) (:text |input) - |z $ %{} :Leaf (:at 1728102563048) (:by |rJG4IHzWf) (:text |a) - |zD $ %{} :Leaf (:at 1743618349756) (:by |rJG4IHzWf) (:text |pre) - |zP $ %{} :Leaf (:at 1744741281287) (:by |rJG4IHzWf) (:text |img) - |x $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defcomp) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defeffect) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |<>) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |>>) + |b $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |div) + |d $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |button) + |f $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |textarea) + |h $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |span) + |j $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |input) + |l $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |a) + |n $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |pre) + |p $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |img) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |respo.comp.space) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo.comp.space) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |=<) - |xT $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=<) + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1723173404175) (:by |rJG4IHzWf) (:text |respo.comp.inspect) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo.comp.inspect) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1723173410653) (:by |rJG4IHzWf) (:text |comp-inspect) - |y $ %{} :Expr (:at 1507461845717) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-inspect) + |h $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1507461855480) (:by |root) (:text |reel.comp.reel) - |r $ %{} :Leaf (:at 1507461856264) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1507461856484) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel.comp.reel) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1507461858342) (:by |root) (:text |comp-reel) - |yj $ %{} :Expr (:at 1521954061310) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-reel) + |j $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1527788377809) (:by |root) (:text |app.config) - |r $ %{} :Leaf (:at 1521954064826) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1521954065004) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |app.config) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1521954067604) (:by |root) (:text |dev?) - |n $ %{} :Leaf (:at 1723603608554) (:by |rJG4IHzWf) (:text |chrome-extension?) - |zD $ %{} :Expr (:at 1722410482268) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |dev?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |chrome-extension?) + |l $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722410483524) (:by |rJG4IHzWf) (:text "|\"axios") - |b $ %{} :Leaf (:at 1722410490757) (:by |rJG4IHzWf) (:text |:default) - |h $ %{} :Leaf (:at 1722410491526) (:by |rJG4IHzWf) (:text |axios) - |zP $ %{} :Expr (:at 1722425480903) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"axios") + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:default) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |axios) + |n $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722425485361) (:by |rJG4IHzWf) (:text |respo-md.comp.md) - |b $ %{} :Leaf (:at 1722425486495) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1722425486739) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo-md.comp.md) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722425491341) (:by |rJG4IHzWf) (:text |comp-md-block) - |b $ %{} :Leaf (:at 1722963155292) (:by |rJG4IHzWf) (:text |style-code-block) - |zY $ %{} :Expr (:at 1722481920058) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-md-block) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |style-code-block) + |p $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722481923050) (:by |rJG4IHzWf) (:text |respo-ui.comp) - |b $ %{} :Leaf (:at 1722481924032) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1722481924307) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo-ui.comp) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1722481924530) (:by |rJG4IHzWf) (:text |comp-copy) - |b $ %{} :Leaf (:at 1722965064837) (:by |rJG4IHzWf) (:text |comp-close) - |zb $ %{} :Expr (:at 1729360388958) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-copy) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-close) + |r $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1729360401903) (:by |rJG4IHzWf) (:text |respo-alerts.core) - |b $ %{} :Leaf (:at 1729360403260) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1729360403890) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo-alerts.core) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1729360403613) (:by |rJG4IHzWf) (:text |use-modal-menu) - |ze $ %{} :Expr (:at 1723104975584) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |use-modal-menu) + |t $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1723104991690) (:by |rJG4IHzWf) (:text "|\"../extension/get-selected") - |b $ %{} :Leaf (:at 1723104992655) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1723104992888) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"../extension/get-selected") + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1723105000472) (:by |rJG4IHzWf) (:text |get-selected) - |zn $ %{} :Expr (:at 1743789279617) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |get-selected) + |v $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789289349) (:by |rJG4IHzWf) (:text |memof.once) - |b $ %{} :Leaf (:at 1743789290043) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1743789290349) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |memof.once) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1743789318472) (:by |rJG4IHzWf) (:text |memof1-call) - |b $ %{} :Leaf (:at 1743791566514) (:by |rJG4IHzWf) (:text |memof1-call-by) - |zq $ %{} :Expr (:at 1744739495253) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |memof1-call) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |memof1-call-by) + |x $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1744739502073) (:by |rJG4IHzWf) (:text "|\"@google/genai") - |b $ %{} :Leaf (:at 1744739503331) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1744739503585) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"@google/genai") + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1744739506336) (:by |rJG4IHzWf) (:text |GoogleGenAI) - |b $ %{} :Leaf (:at 1744740171208) (:by |rJG4IHzWf) (:text |Modality) - |zs $ %{} :Expr (:at 1744740964749) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |GoogleGenAI) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |Modality) + |y $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1744740968417) (:by |rJG4IHzWf) (:text "|\"../lib/image") - |b $ %{} :Leaf (:at 1744740969276) (:by |rJG4IHzWf) (:text |:refer) - |h $ %{} :Expr (:at 1744740969523) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"../lib/image") + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1744741006867) (:by |rJG4IHzWf) (:text |base64ToBlob) - |zt $ %{} :Expr (:at 1745685299381) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |base64ToBlob) + |z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"openai") + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:default) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |OpenAI) + |zV $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1745685301046) (:by |rJG4IHzWf) (:text "|\"openai") - |b $ %{} :Leaf (:at 1745685309289) (:by |rJG4IHzWf) (:text |:default) - |h $ %{} :Leaf (:at 1745685311158) (:by |rJG4IHzWf) (:text |OpenAI) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |feather.core) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-i) :examples $ [] |app.config $ %{} :FileEntry :defs $ {} @@ -5601,108 +5839,244 @@ |v $ %{} :Leaf (:at 1507399892687) (:by |root) (:text |op) :examples $ [] |listen-extension! $ %{} :CodeEntry (:doc |) - :code $ %{} :Expr (:at 1767096326344) (:by |sync) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |defn) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |listen-extension!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |defn) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |listen-extension!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/chrome.runtime.onMessage.addListener) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/chrome.runtime.onMessage.addListener) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |fn) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |fn) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |message) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |sender) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |respond!) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |sender) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respond!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |if) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |when) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |=) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"menu-trigger") - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"menu-summary") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-action) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |message) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-action) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |let) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |content) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |str) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text "|\"你扮演一个专业的工程师, 对以下内容做一下讲解, 用中文, 注意要简略, 内容注意分块.\n\n") - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |&newline) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |&newline) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"你扮演一个专业的工程师, 对以下内容做一下讲解, 用中文, 注意要简略, 内容注意分块.\n\n") + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |&newline) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |&newline) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |.-content) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |message) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |store) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event-tuple) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:store) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |@*reel) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:fill-text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:submit?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |send-to-component!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event-tuple) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |when) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"fill-text") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-action) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |[]) - |Z $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state0) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |submit?) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |get-in) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |store) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |either) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |[]) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:states) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:data) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-submit?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event-tuple) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |either) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:fill-text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:model) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |store) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:gemini) - |X $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:submit?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |submit?) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |submit-message!) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |cursor) - |X $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |state0) - |Z $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |content) - |b $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |d $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |false) - |f $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |model) - |h $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |dispatch!) - |b $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |send-to-component!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event-tuple) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |when) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"menu-translate") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-action) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |str) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"请将以下内容翻译成中文, 保持简洁分段:\n\n") + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |&newline) + |Z $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |&newline) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event-tuple) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:fill-text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:submit?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |true) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |send-to-component!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event-tuple) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |when) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |=) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"menu-custom") + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-action) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |let) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |.-content) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |message) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event-tuple) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |::) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:fill-text) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |{}) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:text) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |content) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:submit?) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |false) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |send-to-component!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |event-tuple) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js/chrome.runtime.connect) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js/chrome.runtime.connect) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |js-object) - |V $ %{} :Expr (:at 1767096326344) (:by |sync) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |js-object) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text |:name) - |V $ %{} :Leaf (:at 1767096326344) (:by |sync) (:text ||mySidepanel) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:name) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text ||mySidepanel) :examples $ [] |main! $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1767096326344) (:by |sync) @@ -6001,76 +6375,83 @@ |v $ %{} :Leaf (:at 1623915174985) (:by |rJG4IHzWf) (:text |dispatch!) :examples $ [] :ns $ %{} :CodeEntry (:doc |) - :code $ %{} :Expr (:at 1499755354983) (:by |) + :code $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |ns) - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |app.main) - |r $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |ns) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |app.main) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:require) - |j $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:require) + |V $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |respo.core) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo.core) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |render!) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |clear-cache!) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |render!) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |clear-cache!) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |app.comp.container) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |app.comp.container) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |comp-container) - |n $ %{} :Leaf (:at 1723173491003) (:by |rJG4IHzWf) (:text |submit-message!) - |y $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |comp-container) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |submit-message!) + |Z $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1508556737455) (:by |root) (:text |app.updater) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |app.updater) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |updater) - |yT $ %{} :Expr (:at 1499755354983) (:by |) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |updater) + |b $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |app.schema) - |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |:as) - |v $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |schema) - |yj $ %{} :Expr (:at 1507399674125) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |app.schema) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:as) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |schema) + |d $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1507399678694) (:by |root) (:text |reel.util) - |r $ %{} :Leaf (:at 1507399680625) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1507399680857) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel.util) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1518156292092) (:by |root) (:text |listen-devtools!) - |yr $ %{} :Expr (:at 1507399683930) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |listen-devtools!) + |f $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1507399687162) (:by |root) (:text |reel.core) - |r $ %{} :Leaf (:at 1507399688098) (:by |root) (:text |:refer) - |v $ %{} :Expr (:at 1507399688322) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel.core) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1507399691010) (:by |root) (:text |reel-updater) - |q $ %{} :Leaf (:at 1518156288482) (:by |root) (:text |refresh-reel) - |yv $ %{} :Expr (:at 1507399715229) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel-updater) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |refresh-reel) + |h $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel.schema) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:as) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |reel-schema) + |j $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1507399717674) (:by |root) (:text |reel.schema) - |r $ %{} :Leaf (:at 1507399755750) (:by |root) (:text |:as) - |v $ %{} :Leaf (:at 1507399757678) (:by |root) (:text |reel-schema) - |yy $ %{} :Expr (:at 1527788302920) (:by |root) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |app.config) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:as) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |config) + |l $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |j $ %{} :Leaf (:at 1527788304925) (:by |root) (:text |app.config) - |r $ %{} :Leaf (:at 1527788306048) (:by |root) (:text |:as) - |v $ %{} :Leaf (:at 1527788306884) (:by |root) (:text |config) - |yyT $ %{} :Expr (:at 1626201173819) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"./calcit.build-errors") + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:default) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |build-errors) + |n $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1626201180939) (:by |rJG4IHzWf) (:text "|\"./calcit.build-errors") - |j $ %{} :Leaf (:at 1626201183958) (:by |rJG4IHzWf) (:text |:default) - |r $ %{} :Leaf (:at 1626201187310) (:by |rJG4IHzWf) (:text |build-errors) - |yyj $ %{} :Expr (:at 1626290808117) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text "|\"bottom-tip") + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:default) + |X $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |hud!) + |p $ %{} :Expr (:at 1768494455833) (:by |sync) :data $ {} - |T $ %{} :Leaf (:at 1626290810913) (:by |rJG4IHzWf) (:text "|\"bottom-tip") - |j $ %{} :Leaf (:at 1626290816153) (:by |rJG4IHzWf) (:text |:default) - |r $ %{} :Leaf (:at 1626290825711) (:by |rJG4IHzWf) (:text |hud!) + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |respo.controller.client) + |V $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |:refer) + |X $ %{} :Expr (:at 1768494455833) (:by |sync) + :data $ {} + |T $ %{} :Leaf (:at 1768494455833) (:by |sync) (:text |send-to-component!) :examples $ [] |app.schema $ %{} :FileEntry :defs $ {} diff --git a/compact.cirru b/compact.cirru index 1067c87..b670e5f 100644 --- a/compact.cirru +++ b/compact.cirru @@ -1,7 +1,7 @@ -{} (:package |app) +{} (:about "|file is generated - never edit directly; learn cr edit/tree workflows before changing") (:package |app) :configs $ {} (:init-fn |app.main/main!) (:reload-fn |app.main/reload!) (:version |0.0.1) - :modules $ [] |respo.calcit/ |lilac/ |memof/ |respo-ui.calcit/ |reel.calcit/ |respo-markdown.calcit/ |alerts.calcit/ + :modules $ [] |respo.calcit/ |lilac/ |memof/ |respo-ui.calcit/ |reel.calcit/ |respo-markdown.calcit/ |alerts.calcit/ |respo-feather.calcit/ :entries $ {} :files $ {} |app.comp.container $ %{} :FileEntry @@ -18,18 +18,25 @@ |*openai $ %{} :CodeEntry (:doc "|called openai sdk, but actually for openrouter") :code $ quote (defatom *openai nil) :examples $ [] + |append-user-message $ %{} :CodeEntry (:doc |) + :code $ quote + defn append-user-message (messages content) + let + messages0 $ if (some? messages) messages ([]) + conj messages0 $ {} (:role :user) (:content content) + :examples $ [] |call-anthropic-msg! $ %{} :CodeEntry (:doc |) :code $ quote defn call-anthropic-msg! (cursor state prompt-text model thinking? d!) (hint-fn async) if-let abort $ deref *abort-control do (js/console.warn "\"Aborting prev") (.!abort abort) - d! $ :: :states cursor - -> state (assoc :answer nil) (assoc :loading? true) d! $ :: :change-model let selected $ js-await (get-selected) content $ .replace prompt-text "\"{{selected}}" (or selected "\"<未找到内容>") + messages0 $ append-user-message (:messages state) content + messages1 $ upsert-assistant-message messages0 "\"" result $ js-await .!post axios (str "\"https://sa.chenyong.life/v1/messages") js-object @@ -39,8 +46,7 @@ :thinking $ if thinking? js-object (:type "\"enabled") (:budget_tokens 2000) , js/undefined - :messages $ js-array - js-object (:role "\"user") (:content content) + :messages $ messages->anthropic messages0 js-object :params $ js-object :headers $ js-object (; :Accept "\"text/event-stream") (; :Content-Type "\"application/json") @@ -58,20 +64,16 @@ .!pipeThrough stream $ new js/TextDecoderStream .!getReader *text $ atom (str "\"Claude AI:" &newline &newline) - ; reading $ js-await (.!read reader) - ; answer $ -> result .-data .-candidates .-0 .-content .-parts .-0 .-text - ; d! $ :: :states cursor - -> state - assoc :answer $ w-log answer - assoc :loading? false + js/setTimeout $ fn () + d! $ :: :states-merge cursor state + {} (:answer nil) (:thinking nil) (:loading? true) (:done? false) (:messages messages1) apply-args () $ fn () (hint-fn async) let info $ js-await (.!read reader) value $ wo-js-log (.-value info) done? $ .-done info - ; js/console.log "\"VALUE" info if (wo-log done?) (:: :unit) - do (; println "\"processing") + do let events $ -> value .split-lines filter $ fn (s) (.starts-with? s "\"data: ") @@ -86,8 +88,9 @@ stop? $ = (get x0 "\"type") "\"message_stop" wo-js-log x0 if stop? - d! $ :: :states cursor - -> state (assoc :answer @*text) (assoc :loading? false) (assoc :done? true) + d! $ :: :states-merge cursor state + {} (:answer @*text) (:loading? false) (:done? true) + :messages $ upsert-assistant-message messages1 @*text let content $ get-in x0 ([] "\"delta" "\"text") if (nil? content) @@ -100,8 +103,9 @@ println "\"content is nil" recur xss let () (swap! *text str content) - d! $ :: :states cursor - -> state (assoc :answer @*text) (assoc :loading? false) (assoc :done? false) + d! $ :: :states-merge cursor state + {} (:answer @*text) (:loading? false) (:done? false) + :messages $ upsert-assistant-message messages1 @*text recur xss recur :examples $ [] @@ -171,28 +175,23 @@ if-let abort $ deref *abort-control do (js/console.warn "\"Aborting prev") (.!abort abort) - js/setTimeout $ fn () - d! $ :: :states-merge cursor state - {} (:answer nil) (:loading? true) let selected $ if (.includes? prompt-text "\"{{selected}}") js-await $ get-selected gen-ai $ let ai @*gen-ai-new - ; js/console.log ai , ai model $ pick-model variant content $ .!replace prompt-text "\"{{selected}}" (or selected "\"<未找到选中内容>") json? $ or (.!includes prompt-text "\"{{json}}") (.!includes prompt-text "\"{{JSON}}") pro? $ .!includes model "\"pro" has-url? $ or (.!includes prompt-text "\"http://") (.!includes prompt-text "\"https://") + messages0 $ or (:messages state) ([]) + messages1 $ upsert-assistant-message messages0 "\"" sdk-result $ js-await .!generateContentStream (.-models gen-ai) js-object (:model model) - :contents $ js-array - js-object (:role "\"user") - :parts $ js-array - js-object $ :text content + :contents $ messages->gemini messages0 :config $ js/Object.assign js-object :thinkingConfig $ if think? @@ -219,22 +218,29 @@ if json? js-object $ "\"responseMimeType" "\"application/json" , js/undefined - js-await $ js-for-await sdk-result - fn (? chunk) - if (some? chunk) - let - part js/chunk.candidates?.[0]?.content?.parts?.[0] - is-thinking? $ if (some? part) (.-thought part) false - t $ if (some? part) (.-text part) (.-text chunk) - let - text $ or t (-> chunk .?-promptFeedback .?-blockReason) |__BLANK__ - if is-thinking? (swap! *thinking-text str text) (swap! *text str text) - d! $ :: :states-merge cursor state - {} (:answer @*text) (:thinking @*thinking-text) (:loading? false) (:done? false) + do + js/setTimeout $ fn () d! $ :: :states-merge cursor state - {} (:answer @*text) (:thinking @*thinking-text) (:loading? false) (:done? false) - d! $ :: :states-merge cursor state - {} (:answer @*text) (:thinking @*thinking-text) (:loading? false) (:done? true) + {} (:answer nil) (:thinking nil) (:loading? true) (:done? false) (:messages messages1) + js-await $ js-for-await sdk-result + fn (? chunk) + if (some? chunk) + let + part js/chunk.candidates?.[0]?.content?.parts?.[0] + is-thinking? $ if (some? part) (.-thought part) false + t $ if (some? part) (.-text part) (.-text chunk) + let + text $ or t (-> chunk .?-promptFeedback .?-blockReason) |__BLANK__ + if is-thinking? (swap! *thinking-text str text) (swap! *text str text) + d! $ :: :states-merge cursor state + {} (:answer @*text) (:thinking @*thinking-text) (:loading? false) (:done? false) + :messages $ upsert-assistant-message messages1 @*text + d! $ :: :states-merge cursor state + {} (:answer @*text) (:thinking @*thinking-text) (:loading? false) (:done? false) + :messages $ upsert-assistant-message messages1 @*text + d! $ :: :states-merge cursor state + {} (:answer @*text) (:thinking @*thinking-text) (:loading? false) (:done? true) + :messages $ upsert-assistant-message messages1 @*text :examples $ [] |call-imagen-4-msg! $ %{} :CodeEntry (:doc |) :code $ quote @@ -292,22 +298,19 @@ if-let abort $ deref *abort-control do (js/console.warn "\"Aborting prev") (.!abort abort) - js/setTimeout $ fn () - d! $ :: :states-merge cursor state - {} (:answer nil) (:loading? true) let selected $ js-await (get-selected) openai $ let ai @*openai - ; js/console.log ai , ai content $ .!replace prompt-text "\"{{selected}}" (or selected "\"<未找到选中内容>") json? $ or (.!includes prompt-text "\"{{json}}") (.!includes prompt-text "\"{{JSON}}") + messages0 $ append-user-message (:messages state) content + messages1 $ upsert-assistant-message messages0 "\"" sdk-result $ js-await -> openai .-chat .-completions $ .!create js-object (:model variant) - :messages $ js-array - js-object (:role "\"user") (:content content) + :messages $ messages->openai messages0 ; :generationConfig $ if json? js-object $ "\"responseMimeType" "\"application/json" , js/undefined @@ -318,17 +321,24 @@ abort $ new js/AbortController reset! *abort-control abort .-signal abort - js-await $ js-for-await sdk-result - fn (? chunk) (; js/console.log "\"[CHUNK]" chunk) - if (some? chunk) - do - swap! *text str $ -> chunk .-choices .-0 .-delta .-content (or "\"") - d! $ :: :states-merge cursor state - {} (:answer @*text) (:loading? false) (:done? false) + do + js/setTimeout $ fn () d! $ :: :states-merge cursor state - {} (:answer @*text) (:loading? false) (:done? false) - d! $ :: :states-merge cursor state - {} (:answer @*text) (:loading? false) (:done? true) + {} (:answer nil) (:thinking nil) (:loading? true) (:done? false) (:messages messages1) + js-await $ js-for-await sdk-result + fn (? chunk) (; js/console.log "\"[CHUNK]" chunk) + if (some? chunk) + do + swap! *text str $ -> chunk .-choices .-0 .-delta .-content (or "\"") + d! $ :: :states-merge cursor state + {} (:answer @*text) (:loading? false) (:done? false) + :messages $ upsert-assistant-message messages1 @*text + d! $ :: :states-merge cursor state + {} (:answer @*text) (:loading? false) (:done? false) + :messages $ upsert-assistant-message messages1 @*text + d! $ :: :states-merge cursor state + {} (:answer @*text) (:loading? false) (:done? true) + :messages $ upsert-assistant-message messages1 @*text :examples $ [] |clear-image-cache! $ %{} :CodeEntry (:doc |) :code $ quote @@ -359,7 +369,17 @@ cursor $ or (:cursor states) ([]) state $ or (:data states) {} (:answer nil) (:loading? false) (:done? false) + :messages $ [] + messages $ or (:messages state) ([]) model $ either (:model state) :gemini + last-assistant $ let + size $ count messages + last-msg $ if (> size 0) (last messages) nil + if + and (some? last-msg) + = :assistant $ :role last-msg + :content last-msg + :answer state model-plugin $ use-modal-menu (>> states :model) {} (; :title "|Select model") :style $ {} (:width 300) @@ -370,6 +390,10 @@ :items models-menu :on-result $ fn (result d!) d! cursor $ assoc state :model (nth result 1) + reply-plugin $ use-prompt (>> states :reply-prompt) + {} (:text |Follow-up) (:placeholder "|Enter your follow-up") (:multiline? true) (:button-text |Send) + :validator $ fn (text) + if (blank? text) "|Please enter text" nil div {} $ :class-name (str-spaced css/preset css/global css/column css/fullscreen css/gap8 style-app-global) div @@ -380,40 +404,68 @@ or (= :imagen-4 model) (= :flash-imagen model) img $ {} :class-name $ str-spaced style-image "\"show-image" - if (:loading? state) - div ({}) (memof1-call-by :abort-loading comp-abort "\"Loading...") - if - or - not $ blank? (:answer state) - not $ blank? (:thinking state) - div ({}) - if - not $ blank? (:thinking state) - div - {} $ :class-name style-thinking - memof1-call comp-md-block - -> (:thinking state) (either "\"") - {} $ :class-name style-md-content - if - not $ blank? (:answer state) - div ({}) - if - json-pattern? $ :answer state - pre $ {} (:class-name style-code-content) - :inner-text $ :answer state - memof1-call comp-md-block - -> (:answer state) (either "\"") - {} $ :class-name style-md-content - div - {} $ :class-name css/row-parted + if + not $ blank? (:thinking state) + div + {} $ :class-name style-thinking + memof1-call comp-md-block + -> (:thinking state) (either "\"") + {} $ :class-name style-md-content + list-> + {} $ :class-name (str-spaced css/column css/gap8) + -> messages $ map-indexed + fn (idx msg) + [] idx $ let + role $ :role msg + content $ :content msg div - {} $ :class-name (str-spaced css/row-middle css/gap8) - if (:done? state) nil $ div ({}) (memof1-call-by :abort-streaming comp-abort "\"Streaming...") - if (:done? state) + {} $ :class-name + str-spaced style-message-item $ if (= role :assistant) style-message-assistant style-message-user div - {} $ :class-name (str-spaced css/row-middle) - comp-copy $ :answer state - =< nil 200 + {} $ :class-name style-message-role + <> $ if (= role :assistant) |Assistant |You + if (= role :assistant) + if (json-pattern? content) + pre $ {} (:class-name style-code-content) (:inner-text content) + memof1-call comp-md-block + -> content $ either "\"" + {} $ :class-name style-md-content + pre $ {} (:class-name style-message-text) (:inner-text content) + if (= role :assistant) + div + {} $ :class-name (str-spaced css/row-middle css/gap8 style-message-actions) + if chrome-extension? + comp-fill $ either content "\"" + , nil + comp-copy $ either content "\"" + , nil + if + and + > (count messages) 0 + :done? state + div + {} $ :class-name (str-spaced css/row-middle css/gap8 style-reply-actions) + button + {} + :class-name $ str-spaced css/button style-reply-button + :on-click $ fn (e d!) + .show reply-plugin d! $ fn (text) (submit-message! cursor state text false false model d!) + <> |Reply + , nil + if (:loading? state) + div ({}) (memof1-call-by :abort-loading comp-abort "\"Loading...") + div + {} $ :class-name css/row-parted + div + {} $ :class-name (str-spaced css/row-middle css/gap8) + if (:done? state) nil $ div + {} $ :style + {} (:display :flex) (:justify-content :center) (:align-items :center) + memof1-call-by :abort-streaming comp-abort "\"Streaming..." + if (:done? state) + div $ {} + :class-name $ str-spaced css/row-middle css/gap8 + =< nil 200 comp-message-box (>> states :message-box) a $ {} :inner-text $ or (turn-str model) "\"-" @@ -423,11 +475,30 @@ :on-click $ fn (e d!) ; d! $ :: :change-model .show model-plugin d! - fn (text search? think? d!) (submit-message! cursor state text search? think? model d!) + fn (text search? think? d!) + let + state0 $ -> state + assoc :messages $ [] + assoc :answer nil + assoc :thinking nil + assoc :done? false + d! cursor state0 + submit-message! cursor state0 text search? think? model d! model-plugin.render + reply-plugin.render if dev? $ comp-reel (>> states :reel) reel ({}) if dev? $ comp-inspect "\"Store" store nil :examples $ [] + |comp-fill $ %{} :CodeEntry (:doc |) + :code $ quote + defcomp comp-fill (text) + div + {} (:class-name style-fill) + :on-click $ fn (e d!) + when chrome-extension? $ js/chrome.runtime.sendMessage + js-object (:action |fill-text) (:text text) + comp-i :send 12 :currentColor + :examples $ [] |comp-message-box $ %{} :CodeEntry (:doc |) :code $ quote defcomp comp-message-box (states picker-el on-submit) @@ -435,7 +506,7 @@ cursor $ :cursor states state $ either (:data states) {} (:content "\"") (:search? false) (:think? false) - [] (effect-focus) + [] (effect-focus) (on-fill cursor state on-submit) div {} $ :class-name (str-spaced css/center style-message-box-panel) div @@ -589,10 +660,64 @@ defn json-pattern? (text) or (.!startsWith text "\"{") (.!startsWith text "\"[") :examples $ [] + |messages->anthropic $ %{} :CodeEntry (:doc |) + :code $ quote + defn messages->anthropic (messages) + to-js-data $ map (or messages []) + fn (m) + {} + :role $ if + = :assistant $ :role m + , |assistant |user + :content $ :content m + :examples $ [] + |messages->gemini $ %{} :CodeEntry (:doc |) + :code $ quote + defn messages->gemini (messages) + let + messages0 $ if (some? messages) messages ([]) + to-js-data $ map messages0 + fn (m) + {} + :role $ if + = :assistant $ :role m + , |model |user + :parts $ [] + {} $ :text (:content m) + :examples $ [] + |messages->openai $ %{} :CodeEntry (:doc |) + :code $ quote + defn messages->openai (messages) + let + messages0 $ if (some? messages) messages ([]) + to-js-data $ map messages0 + fn (m) + {} + :role $ if + = :assistant $ :role m + , |assistant |user + :content $ :content m + :examples $ [] |models-menu $ %{} :CodeEntry (:doc |) :code $ quote def models-menu $ [] (:: :item :gemini-flash "|Gemini Flash 3") (:: :item :gemini-pro "|Gemini Pro 3") (:: :item :gemini-flash-lite "|Gemini Flash Lite 2.5") (:: :item :flash-imagen "\"Flash Imagen") (:: :item :imagen-4 "\"Imagen 4") (:: :item :gemma "|Gemma 3 27b") (:: :item :openrouter/anthropic/claude-sonnet-4.5 "\"Openrouter Claude Sonnet 4.5") (:: :item :openrouter/anthropic/claude-opus-4 "\"Openrouter Claude Opus 4") (:: :item :openrouter/google/gemini-2.5-pro-preview "\"Openrouter Google Gemini 2.5 pro preview") (:: :item :openrouter/google/gemini-2.5-flash-preview-05-20 "\"Openrouter Google Gemini 2.5 flash preview") (:: :item :openrouter/openai/gpt-5 "\"Openrouter GPT 5") (:: :item :openrouter/deepseek/deepseek-chat-v3.1 "\"Openrouter deepseek-chat-v3.1") (; :: :item :claude-4.5 "\"Claude 4.5") :examples $ [] + |on-fill $ %{} :CodeEntry (:doc |) + :code $ quote + defn on-fill (cursor state on-submit) + %{} respo.schema/RespoListener (:name :on-fill) + :handler $ fn (event dispatch!) + tag-match event $ + :fill-text info + let + submit? $ either (:submit? info) true + do + dispatch! $ :: :states cursor + assoc state :content $ :text info + if submit? + on-submit (:text info) (:search? state) (:think? state) dispatch! + , nil + :examples $ [] |pattern-spaced-code $ %{} :CodeEntry (:doc |) :code $ quote def pattern-spaced-code $ noted "\"temp fix of nested code block" (&raw-code "\"/\\n\\s+```/g") @@ -611,7 +736,7 @@ |style-abort-close $ %{} :CodeEntry (:doc |) :code $ quote defstyle style-abort-close $ {} - "\"&" $ {} (:vertical-align :top) (:font-size 10) + "\"&" $ {} (:vertical-align :middle) (:font-size 10) :examples $ [] |style-app-global $ %{} :CodeEntry (:doc |) :code $ quote @@ -639,6 +764,16 @@ defstyle style-code-content $ {} "\"&" $ {} (:line-height "\"1.5") (:font-size 13) :examples $ [] + |style-fill $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-fill $ {} + "\"&" $ {} (:cursor :pointer) (:user-select :none) (:display :inline-flex) (:align-items :center) (:justify-content :center) (:transition-duration "\"200ms") + :color $ hsl 0 0 80 + :margin "\"0 4px 0 8px" + "\"&:hover" $ {} + :color $ hsl 0 0 40 + :transform "\"scale(1.06)" + :examples $ [] |style-gap12 $ %{} :CodeEntry (:doc |) :code $ quote defstyle style-gap12 $ {} @@ -655,11 +790,21 @@ defstyle style-md-content $ {} "\"& .md-p" $ {} (:margin "\"16px 0") (:line-height "\"1.6") :examples $ [] + |style-message-actions $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-message-actions $ {} + "\"&" $ {} (:margin-top 6) (:justify-content :flex-end) (:width "\"100%") + :examples $ [] |style-message-area $ %{} :CodeEntry (:doc |) :code $ quote defstyle style-message-area $ {} "\"&" $ {} (:flex 2) (:overflow :scroll) :examples $ [] + |style-message-assistant $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-message-assistant $ {} + "\"&" $ {} (:align-self :flex-start) + :examples $ [] |style-message-box $ %{} :CodeEntry (:doc |) :code $ quote defstyle style-message-box $ {} @@ -676,11 +821,36 @@ :background-color $ hsl 0 0 100 0.9 :box-shadow $ str "\"0 0px 8px " (hsl 0 0 0 0.3) :examples $ [] + |style-message-item $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-message-item $ {} + "\"&" $ {} (:line-height "\"1.6") + :examples $ [] |style-message-list $ %{} :CodeEntry (:doc |) :code $ quote defstyle style-message-list $ {} "\"&" $ {} (:flex 2) (:padding "\"40px 16px 20vh 16px") (:width "\"100%") (:max-width 1200) (:margin :auto) (:position :relative) :examples $ [] + |style-message-role $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-message-role $ {} + "\"&" $ {} (:font-size 12) + :color $ hsl 0 0 50 + :margin-bottom 6 + :examples $ [] + |style-message-text $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-message-text $ {} + "\"&" $ {} (:white-space :pre-wrap) (:line-height "\"1.6") (:margin 0) + :examples $ [] + |style-message-user $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-message-user $ {} + "\"&" $ {} (:align-self :flex-end) + :background-color $ hsl 0 0 96 + :padding "\"12px 16px" + :border-radius 10 + :examples $ [] |style-more $ %{} :CodeEntry (:doc |) :code $ quote defstyle style-more $ {} @@ -690,7 +860,25 @@ :padding "\"4px 12px" :margin "\"8px 0" :white-space :nowrap - :display :inline-flex + :display :inline-block + "\"&:hover" $ {} + :box-shadow $ str "\"1px 1px 4px " (hsl 0 0 0 0.2) + :examples $ [] + |style-reply-actions $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-reply-actions $ {} + "\"&" $ {} (:margin-top 6) (:justify-content :flex-start) (:width "\"100%") + :examples $ [] + |style-reply-button $ %{} :CodeEntry (:doc |) + :code $ quote + defstyle style-reply-button $ {} + "\"&" $ {} (:text-align :center) (:min-width 80) + :background-color $ hsl 0 0 100 + :border-radius 16 + :padding "\"4px 12px" + :margin "\"8px 0" + :white-space :nowrap + :display :inline-block "\"&:hover" $ {} :box-shadow $ str "\"1px 1px 4px " (hsl 0 0 0 0.2) :examples $ [] @@ -702,8 +890,8 @@ |style-textbox $ %{} :CodeEntry (:doc |) :code $ quote defstyle style-textbox $ {} - "\"&" $ {} (:border-radius 12) (:height "\"max(160px,20vh)") (:width "\"100%") (:transition-duration "\"320ms") (:border :none) (:background-color :transparent) - "\"&.focus-within" $ {} (:height "\"max(240px,32vh)") (:border :none) (:box-shadow :none) + "\"&" $ {} (:border-radius 12) (:height "|max(100px,15vh)") (:width "\"100%") (:transition-duration "\"320ms") (:border :none) (:background-color :transparent) + "\"&.focus-within" $ {} (:height "|max(240px,32vh)") (:border :none) (:box-shadow :none) :examples $ [] |style-thinking $ %{} :CodeEntry (:doc |) :code $ quote @@ -722,40 +910,56 @@ :code $ quote defn submit-message! (cursor state prompt-text search? think? model d!) (hint-fn async) let + state1 $ assoc state :messages + append-user-message (:messages state) prompt-text *text $ atom "\"" *thinking-text $ atom "\"" model $ :model state + d! cursor state1 try - case-default model - js-await $ call-genai-msg! model cursor state prompt-text search? think? d! *text *thinking-text - :gemini-pro $ js-await (call-genai-msg! model cursor state prompt-text search? think? d! *text *thinking-text) - :flash-imagen $ js-await (call-flash-imagen-msg! model cursor state prompt-text d!) - :imagen-4 $ js-await (call-imagen-4-msg! model cursor state prompt-text d!) - :gemini-thinking $ js-await (call-genai-msg! model cursor state prompt-text search? think? d! *text *thinking-text) - :gemini-flash-thinking $ js-await (call-genai-msg! model cursor state prompt-text search? think? d! *text *thinking-text) - :gemini-flash-lite $ js-await (call-genai-msg! model cursor state prompt-text search? think? d! *text *thinking-text) - :gemini-flash $ js-await (call-genai-msg! model cursor state prompt-text search? think? d! *text *thinking-text) - :gemini-learnlm $ js-await (call-genai-msg! model cursor state prompt-text search? think? d! *text *thinking-text) - :claude-3.7 $ js-await (call-anthropic-msg! cursor state prompt-text "\"claude-3-7-sonnet-20250219" false d!) - :openrouter/anthropic/claude-sonnet-4 $ js-await (call-openrouter! cursor state prompt-text "\"anthropic/claude-sonnet-4" true d! *text) - :openrouter/anthropic/claude-opus-4 $ js-await (call-openrouter! cursor state prompt-text "\"anthropic/claude-opus-4" true d! *text) - :openrouter/anthropic/claude-3.7-sonnet:thinking $ js-await (call-openrouter! cursor state prompt-text "\"anthropic/claude-3.7-sonnet:thinking" true d! *text) - :openrouter/google/gemini-2.5-pro-preview $ js-await (call-openrouter! cursor state prompt-text "\"google/gemini-2.5-pro-preview" true d! *text) - :openrouter/google/gemini-2.5-flash-preview-05-20 $ js-await (call-openrouter! cursor state prompt-text "\"google/gemini-2.5-flash-preview-05-20" true d! *text) - :openrouter/openai/gpt-5 $ js-await (call-openrouter! cursor state prompt-text "\"openai/gpt-5" true d! *text) - :openrouter/deepseek/deepseek-chat-v3.1 $ js-await (call-openrouter! cursor state prompt-text "\"deepseek/deepseek-chat-v3.1" true d! *text) + do $ case-default model + js-await $ call-genai-msg! model cursor state1 prompt-text search? think? d! *text *thinking-text + :gemini-pro $ js-await (call-genai-msg! model cursor state1 prompt-text search? think? d! *text *thinking-text) + :flash-imagen $ js-await (call-flash-imagen-msg! model cursor state1 prompt-text d!) + :imagen-4 $ js-await (call-imagen-4-msg! model cursor state1 prompt-text d!) + :gemini-thinking $ js-await (call-genai-msg! model cursor state1 prompt-text search? think? d! *text *thinking-text) + :gemini-flash-thinking $ js-await (call-genai-msg! model cursor state1 prompt-text search? think? d! *text *thinking-text) + :gemini-flash-lite $ js-await (call-genai-msg! model cursor state1 prompt-text search? think? d! *text *thinking-text) + :gemini-flash $ js-await (call-genai-msg! model cursor state1 prompt-text search? think? d! *text *thinking-text) + :gemini-learnlm $ js-await (call-genai-msg! model cursor state1 prompt-text search? think? d! *text *thinking-text) + :claude-3.7 $ js-await (call-anthropic-msg! cursor state1 prompt-text "\"claude-3-7-sonnet-20250219" false d!) + :openrouter/anthropic/claude-sonnet-4 $ js-await (call-openrouter! cursor state1 prompt-text "\"anthropic/claude-sonnet-4" true d! *text) + :openrouter/anthropic/claude-opus-4 $ js-await (call-openrouter! cursor state1 prompt-text "\"anthropic/claude-opus-4" true d! *text) + :openrouter/anthropic/claude-3.7-sonnet:thinking $ js-await (call-openrouter! cursor state1 prompt-text "\"anthropic/claude-3.7-sonnet:thinking" true d! *text) + :openrouter/google/gemini-2.5-pro-preview $ js-await (call-openrouter! cursor state1 prompt-text "\"google/gemini-2.5-pro-preview" true d! *text) + :openrouter/google/gemini-2.5-flash-preview-05-20 $ js-await (call-openrouter! cursor state1 prompt-text "\"google/gemini-2.5-flash-preview-05-20" true d! *text) + :openrouter/openai/gpt-5 $ js-await (call-openrouter! cursor state1 prompt-text "\"openai/gpt-5" true d! *text) + :openrouter/deepseek/deepseek-chat-v3.1 $ js-await (call-openrouter! cursor state1 prompt-text "\"deepseek/deepseek-chat-v3.1" true d! *text) fn (e) - d! cursor $ -> state - assoc :answer $ str @*text &newline &newline (str "\"Failed to load: " e) - assoc :loading? false - assoc :done? true + let + err-text $ str "\"Failed to load: " e + d! cursor $ -> state (assoc :answer err-text) (assoc :loading? false) (assoc :done? true) + assoc :messages $ upsert-assistant-message (:messages state) err-text + :examples $ [] + |upsert-assistant-message $ %{} :CodeEntry (:doc |) + :code $ quote + defn upsert-assistant-message (messages content) + let + messages0 $ if (some? messages) messages ([]) + size $ count messages0 + last-msg $ if (> size 0) (last messages0) nil + if + and (some? last-msg) + = :assistant $ :role last-msg + assoc messages0 (dec size) (assoc last-msg :content content) + conj messages0 $ {} (:role :assistant) (:content content) :examples $ [] :ns $ %{} :CodeEntry (:doc |) :code $ quote ns app.comp.container $ :require (respo-ui.css :as css) respo.css :refer $ defstyle respo.util.format :refer $ hsl - respo.core :refer $ defcomp defeffect <> >> div button textarea span input a pre img + respo.core :refer $ defcomp defeffect <> >> list-> div button textarea span input a pre img respo.comp.space :refer $ =< respo.comp.inspect :refer $ comp-inspect reel.comp.reel :refer $ comp-reel @@ -763,12 +967,13 @@ "\"axios" :default axios respo-md.comp.md :refer $ comp-md-block style-code-block respo-ui.comp :refer $ comp-copy comp-close - respo-alerts.core :refer $ use-modal-menu + respo-alerts.core :refer $ use-modal-menu use-prompt "\"../extension/get-selected" :refer $ get-selected memof.once :refer $ memof1-call memof1-call-by "\"@google/genai" :refer $ GoogleGenAI Modality "\"../lib/image" :refer $ base64ToBlob "\"openai" :default OpenAI + feather.core :refer $ comp-i :examples $ [] |app.config $ %{} :FileEntry :defs $ {} @@ -805,15 +1010,35 @@ :code $ quote defn listen-extension! () js/chrome.runtime.onMessage.addListener $ fn (message sender respond!) - if - = "\"menu-trigger" $ .-action message + when + = "\"menu-summary" $ .-action message let content $ str "\"你扮演一个专业的工程师, 对以下内容做一下讲解, 用中文, 注意要简略, 内容注意分块.\n\n" &newline &newline (.-content message) - store $ :store @*reel - cursor $ [] - state0 $ get-in store ([] :states :data) - model $ either (:model store) :gemini - submit-message! cursor state0 content false false model dispatch! + event-tuple $ :: :fill-text + {} (:text content) (:submit? true) + (send-to-component! event-tuple) + when + = "\"fill-text" $ .-action message + let + content $ .-text message + submit? $ either (.-submit? message) true + event-tuple $ :: :fill-text + {} (:text content) (:submit? submit?) + (send-to-component! event-tuple) + when + = "\"menu-translate" $ .-action message + let + content $ str "\"请将以下内容翻译成中文, 保持简洁分段:\n\n" &newline &newline (.-content message) + event-tuple $ :: :fill-text + {} (:text content) (:submit? true) + (send-to-component! event-tuple) + when + = "\"menu-custom" $ .-action message + let + content $ .-content message + event-tuple $ :: :fill-text + {} (:text content) (:submit? false) + (send-to-component! event-tuple) js/chrome.runtime.connect $ js-object (:name |mySidepanel) :examples $ [] |main! $ %{} :CodeEntry (:doc |) @@ -877,6 +1102,7 @@ app.config :as config "\"./calcit.build-errors" :default build-errors "\"bottom-tip" :default hud! + respo.controller.client :refer $ send-to-component! :examples $ [] |app.schema $ %{} :FileEntry :defs $ {} diff --git a/deps.cirru b/deps.cirru index 489be39..fb5e0cb 100644 --- a/deps.cirru +++ b/deps.cirru @@ -1,9 +1,10 @@ -{} (:calcit-version |0.10.4) - :dependencies $ {} (|Respo/alerts.calcit |0.10.2) +{} (:calcit-version |0.10.9) + :dependencies $ {} (|Respo/alerts.calcit |0.10.4) |Respo/reel.calcit |main |Respo/respo-markdown.calcit |0.4.11 |Respo/respo-ui.calcit |0.6.3 - |Respo/respo.calcit |0.16.22 + |Respo/respo.calcit |0.16.24 |calcit-lang/lilac |main - |calcit-lang/memof |main + |calcit-lang/memof |0.0.17 + |Respo/respo-feather.calcit |main diff --git a/extension/content.js b/extension/content.js index 2771998..8d4c506 100644 --- a/extension/content.js +++ b/extension/content.js @@ -6,6 +6,10 @@ chrome.runtime.onMessage.addListener(function (msg, sender, sendResponse) { // Call the specified callback, passing // the web-page's DOM content as argument sendResponse(getSelectedText()); + return; + } + if (msg.action === "fill-text") { + insertTextAtCursor(String(msg.text || "")); } }); @@ -22,3 +26,36 @@ let getSelectedText = () => { }; console.log("[Side Message] prepared content script"); + +function insertTextAtCursor(text) { + try { + const active = document.activeElement; + if (!active) return; + + if (active.tagName === "INPUT" || active.tagName === "TEXTAREA") { + const input = active; + if (input.readOnly || input.disabled) return; + const start = input.selectionStart ?? input.value.length; + const end = input.selectionEnd ?? input.value.length; + input.setRangeText(text, start, end, "end"); + input.dispatchEvent(new Event("input", { bubbles: true })); + return; + } + + if (active.isContentEditable) { + const sel = window.getSelection(); + if (!sel || sel.rangeCount === 0) return; + const range = sel.getRangeAt(0); + if (!active.contains(range.commonAncestorContainer)) return; + range.deleteContents(); + const textNode = document.createTextNode(text); + range.insertNode(textNode); + range.setStartAfter(textNode); + range.setEndAfter(textNode); + sel.removeAllRanges(); + sel.addRange(range); + } + } catch (err) { + console.error("[Side Message] failed to insert text", err); + } +} diff --git a/extension/service-worker.js b/extension/service-worker.js index e0510f3..0a3ac42 100644 --- a/extension/service-worker.js +++ b/extension/service-worker.js @@ -6,26 +6,73 @@ chrome.runtime.onInstalled.addListener(() => { chrome.runtime.onInstalled.addListener(async () => { chrome.contextMenus.create({ - id: "msg-gemeni-selection", + id: "msg-gemini-root", title: "Msg Gemini", type: "normal", contexts: ["selection"], }); + chrome.contextMenus.create({ + id: "msg-gemini-summary", + title: "Summary", + type: "normal", + contexts: ["selection"], + parentId: "msg-gemini-root", + }); + chrome.contextMenus.create({ + id: "msg-gemini-translate", + title: "Translate", + type: "normal", + contexts: ["selection"], + parentId: "msg-gemini-root", + }); + chrome.contextMenus.create({ + id: "msg-gemini-custom", + title: "Custom...", + type: "normal", + contexts: ["selection"], + parentId: "msg-gemini-root", + }); }); chrome.contextMenus.onClicked.addListener((item, tab) => { let content = item.selectionText; - chrome.runtime.sendMessage({ action: "menu-trigger", content }); + if (item.menuItemId === "msg-gemini-translate") { + chrome.runtime.sendMessage({ action: "menu-translate", content }); + } else if (item.menuItemId === "msg-gemini-custom") { + chrome.runtime.sendMessage({ action: "menu-custom", content }); + } else { + chrome.runtime.sendMessage({ action: "menu-summary", content }); + } chrome.sidePanel.open({ tabId: tab.id }, () => { // also try to open if (!sidepanelOpen) { setTimeout(() => { - chrome.runtime.sendMessage({ action: "menu-trigger", content }); + if (item.menuItemId === "msg-gemini-translate") { + chrome.runtime.sendMessage({ action: "menu-translate", content }); + } else if (item.menuItemId === "msg-gemini-custom") { + chrome.runtime.sendMessage({ action: "menu-custom", content }); + } else { + chrome.runtime.sendMessage({ action: "menu-summary", content }); + } }, 1000); } }); }); +chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { + if (message && message.action === "fill-text") { + chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => { + const tab = tabs && tabs[0]; + if (tab && tab.id != null) { + chrome.tabs.sendMessage(tab.id, { + action: "fill-text", + text: message.text || "", + }); + } + }); + } +}); + // https://stackoverflow.com/a/77106777/883571 chrome.runtime.onConnect.addListener(function (port) { if (port.name === "mySidepanel") { diff --git a/llms/Respo.md b/llms/Respo.md index 17e1c7c..244336a 100644 --- a/llms/Respo.md +++ b/llms/Respo.md @@ -44,8 +44,8 @@ The Respo project is a virtual DOM library written in Calcit-js, containing: - `respo.render.dom` - DOM element creation and manipulation - `respo.render.effect` - Component lifecycle effects - `respo.render.patch` - Apply DOM patches -- `respo.controller.client` - Client-side state management (activate-instance!, patch-instance!) -- `respo.controller.resolve` - Event handling and resolution +- `respo.controller.client` - Client-side state management (activate-instance!, patch-instance!, send-to-component!) +- `respo.controller.resolve` - Event handling and resolution (build-deliver-event, wrap-dispatch) **Utilities**: @@ -469,8 +469,35 @@ let extended ``` +**Testing Style to String Conversion:** + +```bash +# Basic example (thread-first pipeline avoids bash escaping issues) +cr eval 'thread-first ({} (:display "|flex") (:color "|red") (:padding "|10px")) .to-list respo.render.dom/style->string println' --dep respo.calcit/ +# Output: padding:10px;color:red;display:flex; +``` + +**Notes:** + +- `--dep respo.calcit/` loads the module from `~/.config/calcit/modules/` +- `thread-first` (or `->`) chains operations: create map → convert to list → style->string → print +- Direct `ns/def` format to reference functions from loaded modules + +**Inline Style Object Format:** + +```cirru +# Map format (key-value pairs) +my-styles $ {} + :display "|flex" + :color "|red" + :padding "|10px" + :font-size "|14px" +``` + ### 6. Event Handling +**DOM Event Handlers:** + ```cirru ; Simple click handler div @@ -495,6 +522,59 @@ div dispatch! [:submit-form] ``` +**Component-Level Event Listeners:** + +Components can define custom listeners that respond to events sent via `send-to-component!`. This is useful for global shortcuts, external triggers, or testing. + +```cirru +; Define a listener function that returns a RespoListener record +defn on-keydown (cursor state) + %{} respo.schema/RespoListener (:name :on-keydown) + :handler $ fn (event dispatch!) + tag-match event $ + :keydown info + when + and + = |m $ :key info + :ctrl info + ; Handle Ctrl+M shortcut + dispatch! $ :: :states cursor + assoc state :message "|Shortcut triggered!" + +; Use listener in component by including it in the component body +defcomp comp-with-listener (states data) + let + cursor $ :cursor states + state $ either (:data states) ({}) + [] (on-keydown cursor state) ; Add listener to component + div $ {} + <> $ :message state +``` + +**Triggering Component Listeners:** + +Use `send-to-component!` (from `respo.controller.client`) to programmatically send events to the component tree: + +```cirru +; Send keyboard event to all listening components +send-to-component! $ :: :keydown + {} $ :key "|m" + :ctrl true + +; Trigger from timer or external source +js/window.setTimeout + fn () + send-to-component! $ :: :custom-event + {} $ :data |some-value + , 1000 + +; Useful for: +; - Global keyboard shortcuts (Ctrl+S, Escape, etc.) +; - WebSocket message handlers +; - Timer-based triggers +; - Testing component event handlers +``` + --- ## Debugging Common Issues @@ -836,85 +916,3 @@ Example from `docs/apis/defcomp.md`: - [API Overview](../api.md) - [Another API](./render!.md) ``` - ---- - -This guide evolves as the project grows. Last updated: 2025-12-22 - -# Calcit & Respo 开发避坑指南 - -本文档总结了在 Calcit 和 Respo 开发过程中遇到的常见问题和最佳实践。 - -## 1. 字符串语法 (String Syntax) - -Calcit 使用 `|` 前缀来表示字符串字面量。 - -- **正确**: `|Hello` (编译为 `"Hello"`) -- **正确**: `"Hello"` (标准 Cirru 字符串,编译为 `"Hello"`) -- **错误**: `Hello` (会被解析为 Symbol) - -**CLI 操作注意**: -在使用 `cr tree replace` 修改字符串时,推荐使用 `|` 前缀或 `--json-leaf` 确保类型正确。 - -```bash -# 推荐:使用 | 前缀 -cr tree replace ... -e "|Get Started" - -# 推荐:使用 --json-leaf 明确指定为叶子节点 -cr tree replace ... -e '"Get Started"' --json-leaf -``` - -如果直接使用 `-e '"Get Started"'` 且不加 `--json-leaf`,可能会被解析为包含引号的字符串 `"\"Get Started\""`,导致显示多余引号。 - -## 2. Respo 文本渲染 (Text Rendering) - -Respo 的 HTML 标签(如 `div`, `span`, `button`)**不能直接接受原始字符串作为子节点**。 - -**错误写法** (会导致 `Invalid data in elements tree`): - -```cirru -div ({}) - |SomeText -``` - -**正确写法 1: 使用 `:inner-text` 属性** (推荐用于纯文本标签) - -```cirru -div $ {} (:inner-text |SomeText) -``` - -**正确写法 2: 使用 `<>` 组件** (推荐用于混合内容) - -```cirru -div ({}) - <> |SomeText - span $ {} (:inner-text |Other) -``` - -## 3. 样式定义 (Styles) - -在 `defstyle` 中定义样式时: - -- **数值属性**: 像 `font-weight` 这样的属性,如果使用数字(如 `700`),确保它是数字类型而不是字符串。 - - 错误: `(:font-weight |bold)` (如果库不支持) - - 正确: `(:font-weight 700)` - -## 4. CLI 调试技巧 - -- **检查代码**: `cr js --check-only` - - - 这是一个非常快速的检查命令,能发现未定义的变量 (Warnings) 和语法错误,而不会生成 JS 文件。 - - **务必关注 Warnings**: 很多运行时错误(如 `unknown head`)都是因为使用了未定义的 Symbol(可能是忘记加 `|` 前缀的字符串)。 - -- **查看节点结构**: `cr tree show -p ` - - - 在修改前,先查看目标节点的结构(是 `list` 还是 `leaf`),确认路径是否正确。 - -- **精确修改**: `cr tree replace` - - 配合 `-p` 路径参数进行精确修改,避免破坏周围结构。 - -## 5. 命名空间 (Namespaces) - -- **修改 Imports**: 使用 `cr edit imports -j '...'` - - 这是修改 `:require` 最安全的方式。 - - 如果遇到 `invalid ns form` 错误,通常是因为 `ns` 定义格式被破坏,可以尝试清空 imports 再重新添加。 diff --git a/package.json b/package.json index e4cc234..e8a6b0e 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,12 @@ { "dependencies": { - "@calcit/procs": "^0.10.4", - "@google/genai": "^1.34.0", + "@calcit/procs": "^0.10.9", + "@google/genai": "^1.37.0", "axios": "^1.12.2", "cirru-color": "^0.2.4", "copy-text-to-clipboard": "^3.2.2", - "openai": "^6.15.0" + "feather-icons": "^4.29.2", + "openai": "^6.16.0" }, "devDependencies": { "bottom-tip": "^0.1.5", diff --git a/yarn.lock b/yarn.lock index d568adc..ce6c9d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,63 +2,64 @@ # yarn lockfile v1 -"@calcit/procs@^0.10.4": - version "0.10.4" - resolved "https://registry.npmmirror.com/@calcit/procs/-/procs-0.10.4.tgz#bcb58256a450b6ec891a64d150c959f229408ae7" - integrity sha512-JljJactqBWQYI3Wcg4a//eRZmry/Pb2gwgHN8OZeMld27krImDoWUYdhtW9wc27lxsBmO0mGW6ubyIwK1c5xhg== +"@calcit/procs@^0.10.9": + version "0.10.9" + resolved "https://registry.yarnpkg.com/@calcit/procs/-/procs-0.10.9.tgz#9d67ac7b42defdbbf7d7212c673bfa793a42a339" + integrity sha512-MEb+mxyUmOAQNEz+n8Wd8Oy7FNaIz2ZcrYgOn/fHez5ZzvjFlJ63dG51qjeGBF6Qki62UN5cENW8MdA+fuytjg== dependencies: "@calcit/ternary-tree" "0.0.25" - "@cirru/parser.ts" "^0.0.6" - "@cirru/writer.ts" "^0.1.5" + "@cirru/parser.ts" "^0.0.7" + "@cirru/writer.ts" "^0.1.7" "@calcit/ternary-tree@0.0.25": version "0.0.25" - resolved "https://registry.npmmirror.com/@calcit/ternary-tree/-/ternary-tree-0.0.25.tgz#d467cbd9a7f89ff1fdb590e5d1551aefa6a03492" + resolved "https://registry.yarnpkg.com/@calcit/ternary-tree/-/ternary-tree-0.0.25.tgz#d467cbd9a7f89ff1fdb590e5d1551aefa6a03492" integrity sha512-BxAAq6v7dZJDYSMX5kBVQ/eSYX7czjOS1cHM25js4yD+Q2I61RxxhD7iBaGlfNJvmgPmvYJQA5nxNmN2TEXq7A== -"@cirru/parser.ts@^0.0.6": - version "0.0.6" - resolved "https://registry.npmmirror.com/@cirru/parser.ts/-/parser.ts-0.0.6.tgz#b95a84e02273fcbd71ff100925782b6f86410234" - integrity sha512-qpDNPq+IuuwYjQFI+wzpd3ntbF7lwJs90v1XWyLQbL9Ru4ld4aHxVGwW/9F/QOu5mEGCMXtagCoYDf0HtOpDZg== +"@cirru/parser.ts@^0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@cirru/parser.ts/-/parser.ts-0.0.7.tgz#855b46d685e6be421e2ad1386506b9a2858c61de" + integrity sha512-xi27PFJ9ZbnkjUeLkXkkFOvg5ljqexfbGSGaazndCocnaMpwOGlMIdJDeFSGjViqu/XxsvtZT3er9Qx1lF3NHA== -"@cirru/writer.ts@^0.1.5": - version "0.1.5" - resolved "https://registry.npmmirror.com/@cirru/writer.ts/-/writer.ts-0.1.5.tgz#890d96cd4a69609f1682932dad5d2d467abb327e" - integrity sha512-QQVFJAOIdUtVJZwT23THZOzumSDXCLMQ0yFz5DzIGlWGXPNBuB7BwUvGtRuiQrzM2XV7ALOWmNsVC7vEOjObQQ== +"@cirru/writer.ts@^0.1.7": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@cirru/writer.ts/-/writer.ts-0.1.7.tgz#a4ef2afcf7642418bf4d17ec0a7d344764f4bb96" + integrity sha512-9RLV5NNT+NtXoDL6DC3LVWfbhEDCOTnEsvp2pnSDOJubKvnwLYYvo1VxY1pGBoFV5iQUNzUkETeNaEFHGTHZdQ== "@emnapi/core@^1.7.1": - version "1.7.1" - resolved "https://registry.npmmirror.com/@emnapi/core/-/core-1.7.1.tgz#3a79a02dbc84f45884a1806ebb98e5746bdfaac4" - integrity sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg== + version "1.8.1" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.8.1.tgz#fd9efe721a616288345ffee17a1f26ac5dd01349" + integrity sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg== dependencies: "@emnapi/wasi-threads" "1.1.0" tslib "^2.4.0" "@emnapi/runtime@^1.7.1": - version "1.7.1" - resolved "https://registry.npmmirror.com/@emnapi/runtime/-/runtime-1.7.1.tgz#a73784e23f5d57287369c808197288b52276b791" - integrity sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA== + version "1.8.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.8.1.tgz#550fa7e3c0d49c5fb175a116e8cd70614f9a22a5" + integrity sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg== dependencies: tslib "^2.4.0" "@emnapi/wasi-threads@1.1.0": version "1.1.0" - resolved "https://registry.npmmirror.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz#60b2102fddc9ccb78607e4a3cf8403ea69be41bf" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz#60b2102fddc9ccb78607e4a3cf8403ea69be41bf" integrity sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ== dependencies: tslib "^2.4.0" -"@google/genai@^1.34.0": - version "1.34.0" - resolved "https://registry.npmmirror.com/@google/genai/-/genai-1.34.0.tgz#8a6a85c2c7eb94afbb1a999967e828cae43ee6dd" - integrity sha512-vu53UMPvjmb7PGzlYu6Tzxso8Dfhn+a7eQFaS2uNemVtDZKwzSpJ5+ikqBbXplF7RGB1STcVDqCkPvquiwb2sw== +"@google/genai@^1.37.0": + version "1.37.0" + resolved "https://registry.yarnpkg.com/@google/genai/-/genai-1.37.0.tgz#923be134e4c34078e0e1473a6d9b38d01a901b0e" + integrity sha512-of85LwNqretPhBHHEljUY05OSsQVUPyw5n1RdNkUpKR36kgHq7CVVEGY4GplVbFaqbdT3DXfLSv5B/Avbe5vXw== dependencies: google-auth-library "^10.3.0" + protobufjs "^7.5.4" ws "^8.18.0" "@isaacs/cliui@^8.0.2": version "8.0.2" - resolved "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: string-width "^5.1.2" @@ -70,7 +71,7 @@ "@napi-rs/wasm-runtime@^1.1.0": version "1.1.1" - resolved "https://registry.npmmirror.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz#c3705ab549d176b8dc5172723d6156c3dc426af2" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz#c3705ab549d176b8dc5172723d6156c3dc426af2" integrity sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A== dependencies: "@emnapi/core" "^1.7.1" @@ -79,133 +80,193 @@ "@oxc-project/runtime@0.101.0": version "0.101.0" - resolved "https://registry.npmmirror.com/@oxc-project/runtime/-/runtime-0.101.0.tgz#df05967a97f0dc83aae68db1acd57759abdd7dfa" + resolved "https://registry.yarnpkg.com/@oxc-project/runtime/-/runtime-0.101.0.tgz#df05967a97f0dc83aae68db1acd57759abdd7dfa" integrity sha512-t3qpfVZIqSiLQ5Kqt/MC4Ge/WCOGrrcagAdzTcDaggupjiGxUx4nJF2v6wUCXWSzWHn5Ns7XLv13fCJEwCOERQ== "@oxc-project/types@=0.101.0": version "0.101.0" - resolved "https://registry.npmmirror.com/@oxc-project/types/-/types-0.101.0.tgz#5692200d09d6f87341eac3f8e70e403173c5283e" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.101.0.tgz#5692200d09d6f87341eac3f8e70e403173c5283e" integrity sha512-nuFhqlUzJX+gVIPPfuE6xurd4lST3mdcWOhyK/rZO0B9XWMKm79SuszIQEnSMmmDhq1DC8WWVYGVd+6F93o1gQ== "@pkgjs/parseargs@^0.11.0": version "0.11.0" - resolved "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + "@rolldown/binding-android-arm64@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.53.tgz#3dfce34db89a71956b26affb296dddc2c7dfb728" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.53.tgz#3dfce34db89a71956b26affb296dddc2c7dfb728" integrity sha512-Ok9V8o7o6YfSdTTYA/uHH30r3YtOxLD6G3wih/U9DO0ucBBFq8WPt/DslU53OgfteLRHITZny9N/qCUxMf9kjQ== "@rolldown/binding-darwin-arm64@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.53.tgz#d000b0cc5c5fec4032f13806b1ba42c018d7e81d" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.53.tgz#d000b0cc5c5fec4032f13806b1ba42c018d7e81d" integrity sha512-yIsKqMz0CtRnVa6x3Pa+mzTihr4Ty+Z6HfPbZ7RVbk1Uxnco4+CUn7Qbm/5SBol1JD/7nvY8rphAgyAi7Lj6Vg== "@rolldown/binding-darwin-x64@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.53.tgz#42cf05245d0a54b3df67307f0f93ac32e8322b5a" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.53.tgz#42cf05245d0a54b3df67307f0f93ac32e8322b5a" integrity sha512-GTXe+mxsCGUnJOFMhfGWmefP7Q9TpYUseHvhAhr21nCTgdS8jPsvirb0tJwM3lN0/u/cg7bpFNa16fQrjKrCjQ== "@rolldown/binding-freebsd-x64@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.53.tgz#c4ee51d63e27298d5cafeb221ca976b1298b3586" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.53.tgz#c4ee51d63e27298d5cafeb221ca976b1298b3586" integrity sha512-9Tmp7bBvKqyDkMcL4e089pH3RsjD3SUungjmqWtyhNOxoQMh0fSmINTyYV8KXtE+JkxYMPWvnEt+/mfpVCkk8w== "@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.53.tgz#3ecf76c30ab45950d79eb5d38bf9d6d4877e1866" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.53.tgz#3ecf76c30ab45950d79eb5d38bf9d6d4877e1866" integrity sha512-a1y5fiB0iovuzdbjUxa7+Zcvgv+mTmlGGC4XydVIsyl48eoxgaYkA3l9079hyTyhECsPq+mbr0gVQsFU11OJAQ== "@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.53.tgz#d0ee79d5cf29e43aa7ac7b327626aee1c405a20b" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.53.tgz#d0ee79d5cf29e43aa7ac7b327626aee1c405a20b" integrity sha512-bpIGX+ov9PhJYV+wHNXl9rzq4F0QvILiURn0y0oepbQx+7stmQsKA0DhPGwmhfvF856wq+gbM8L92SAa/CBcLg== "@rolldown/binding-linux-arm64-musl@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.53.tgz#2a6bd23ff647b916158100ce24a54b3d1856fb29" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.53.tgz#2a6bd23ff647b916158100ce24a54b3d1856fb29" integrity sha512-bGe5EBB8FVjHBR1mOLOPEFg1Lp3//7geqWkU5NIhxe+yH0W8FVrQ6WRYOap4SUTKdklD/dC4qPLREkMMQ855FA== "@rolldown/binding-linux-x64-gnu@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.53.tgz#5f1178cc3b9a19c83b5d49737f7774e98dde81fc" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.53.tgz#5f1178cc3b9a19c83b5d49737f7774e98dde81fc" integrity sha512-qL+63WKVQs1CMvFedlPt0U9PiEKJOAL/bsHMKUDS6Vp2Q+YAv/QLPu8rcvkfIMvQ0FPU2WL0aX4eWwF6e/GAnA== "@rolldown/binding-linux-x64-musl@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.53.tgz#91deaa186011af99d8b9934af180bffe4fae3d19" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.53.tgz#91deaa186011af99d8b9934af180bffe4fae3d19" integrity sha512-VGl9JIGjoJh3H8Mb+7xnVqODajBmrdOOb9lxWXdcmxyI+zjB2sux69br0hZJDTyLJfvBoYm439zPACYbCjGRmw== "@rolldown/binding-openharmony-arm64@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.53.tgz#44702518f6527d5578f4dd063b2ee85cb3c93a20" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.53.tgz#44702518f6527d5578f4dd063b2ee85cb3c93a20" integrity sha512-B4iIserJXuSnNzA5xBLFUIjTfhNy7d9sq4FUMQY3GhQWGVhS2RWWzzDnkSU6MUt7/aHUrep0CdQfXUJI9D3W7A== "@rolldown/binding-wasm32-wasi@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.53.tgz#82f5b480895960df59c2a3dc32874b403b698439" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.53.tgz#82f5b480895960df59c2a3dc32874b403b698439" integrity sha512-BUjAEgpABEJXilGq/BPh7jeU3WAJ5o15c1ZEgHaDWSz3LB881LQZnbNJHmUiM4d1JQWMYYyR1Y490IBHi2FPJg== dependencies: "@napi-rs/wasm-runtime" "^1.1.0" "@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.53.tgz#489c43aaa7a6088f17ef8d1124b41c4489f40eb9" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.53.tgz#489c43aaa7a6088f17ef8d1124b41c4489f40eb9" integrity sha512-s27uU7tpCWSjHBnxyVXHt3rMrQdJq5MHNv3BzsewCIroIw3DJFjMH1dzCPPMUFxnh1r52Nf9IJ/eWp6LDoyGcw== "@rolldown/binding-win32-x64-msvc@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.53.tgz#78bc08543b916082271d7a19b310e24ea6821da7" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.53.tgz#78bc08543b916082271d7a19b310e24ea6821da7" integrity sha512-cjWL/USPJ1g0en2htb4ssMjIycc36RvdQAx1WlXnS6DpULswiUTVXPDesTifSKYSyvx24E0YqQkEm0K/M2Z/AA== "@rolldown/pluginutils@1.0.0-beta.53": version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz#c57a5234ae122671aff6fe72e673a7ed90f03f87" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz#c57a5234ae122671aff6fe72e673a7ed90f03f87" integrity sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ== "@tybys/wasm-util@^0.10.1": version "0.10.1" - resolved "https://registry.npmmirror.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414" integrity sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== dependencies: tslib "^2.4.0" +"@types/node@>=13.7.0": + version "25.0.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.9.tgz#81ce3579ddf67cae812a9d49c8a0ab90c82e7782" + integrity sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw== + dependencies: + undici-types "~7.16.0" + agent-base@^7.1.2: version "7.1.4" - resolved "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.2.2" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== ansi-styles@^4.0.0: version "4.3.0" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^6.1.0: version "6.2.3" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== axios@^1.12.2: version "1.13.2" - resolved "https://registry.npmmirror.com/axios/-/axios-1.13.2.tgz#9ada120b7b5ab24509553ec3e40123521117f687" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.2.tgz#9ada120b7b5ab24509553ec3e40123521117f687" integrity sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA== dependencies: follow-redirects "^1.15.6" @@ -214,22 +275,22 @@ axios@^1.12.2: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.3.0: version "1.5.1" - resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== bignumber.js@^9.0.0: version "9.3.1" - resolved "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.3.1.tgz#759c5aaddf2ffdc4f154f7b493e1c8770f88c4d7" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.3.1.tgz#759c5aaddf2ffdc4f154f7b493e1c8770f88c4d7" integrity sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ== bottom-tip@^0.1.5: version "0.1.5" - resolved "https://registry.npmmirror.com/bottom-tip/-/bottom-tip-0.1.5.tgz#ca81e738fba6ae956a5b4c55a78a127820c9b99e" + resolved "https://registry.yarnpkg.com/bottom-tip/-/bottom-tip-0.1.5.tgz#ca81e738fba6ae956a5b4c55a78a127820c9b99e" integrity sha512-53RCkWg6hY8M7Y9lPgU2f2bAEejQh0H6SCL9B8ufFdYAOAH/cUEwxSsBIH0AcPbOcNaSgdEJr9OhdnTUENe5bA== dependencies: nanoid "^4.0.1" @@ -237,24 +298,24 @@ bottom-tip@^0.1.5: brace-expansion@^2.0.1: version "2.0.2" - resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== dependencies: balanced-match "^1.0.0" browser-split@0.0.1: version "0.0.1" - resolved "https://registry.npmmirror.com/browser-split/-/browser-split-0.0.1.tgz#7b097574f8e3ead606fb4664e64adfdda2981a93" + resolved "https://registry.yarnpkg.com/browser-split/-/browser-split-0.0.1.tgz#7b097574f8e3ead606fb4664e64adfdda2981a93" integrity sha512-JhvgRb2ihQhsljNda3BI8/UcRHVzrVwo3Q+P8vDtSiyobXuFpuZ9mq+MbRGMnC22CjW3RrfXdg6j6ITX8M+7Ow== buffer-equal-constant-time@^1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: es-errors "^1.3.0" @@ -262,41 +323,51 @@ call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: camelize@^1.0.0: version "1.0.1" - resolved "https://registry.npmmirror.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" + resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== cirru-color@^0.2.4: version "0.2.4" - resolved "https://registry.npmmirror.com/cirru-color/-/cirru-color-0.2.4.tgz#19c5cb33cbf45d5bcccf8ecf1e45ef5673962a7a" + resolved "https://registry.yarnpkg.com/cirru-color/-/cirru-color-0.2.4.tgz#19c5cb33cbf45d5bcccf8ecf1e45ef5673962a7a" integrity sha512-2ruNYgSyzrXirizCk2r9LNeu9+BXxEHNQVS1/RE2P7b1xoMjfYRiOpRaX2ecyCu4oF4HJGwYWi8vamiXI8ADEQ== +classnames@^2.2.5: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" copy-text-to-clipboard@^3.2.2: version "3.2.2" - resolved "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz#99bc79db3f2d355ec33a08d573aff6804491ddb9" + resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz#99bc79db3f2d355ec33a08d573aff6804491ddb9" integrity sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A== +core-js@^3.1.3: + version "3.47.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.47.0.tgz#436ef07650e191afeb84c24481b298bd60eb4a17" + integrity sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg== + cross-spawn@^7.0.6: version "7.0.6" - resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" @@ -305,34 +376,34 @@ cross-spawn@^7.0.6: data-uri-to-buffer@^4.0.0: version "4.0.1" - resolved "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== debug@4: version "4.4.3" - resolved "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: ms "^2.1.3" delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== detect-libc@^2.0.3: version "2.1.2" - resolved "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== dom-walk@^0.1.0: version "0.1.2" - resolved "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== dunder-proto@^1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== dependencies: call-bind-apply-helpers "^1.0.1" @@ -341,29 +412,29 @@ dunder-proto@^1.0.1: eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: version "1.0.11" - resolved "https://registry.npmmirror.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== dependencies: safe-buffer "^5.0.1" emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== error@^4.3.0: version "4.4.0" - resolved "https://registry.npmmirror.com/error/-/error-4.4.0.tgz#bf69ff251fb4a279c19adccdaa6b61e90d9bf12a" + resolved "https://registry.yarnpkg.com/error/-/error-4.4.0.tgz#bf69ff251fb4a279c19adccdaa6b61e90d9bf12a" integrity sha512-SNDKualLUtT4StGFP7xNfuFybL2f6iJujFtrWuvJqGbVQGaN+adE23veqzPz1hjUjTunLi2EnJ+0SJxtbJreKw== dependencies: camelize "^1.0.0" @@ -372,24 +443,24 @@ error@^4.3.0: es-define-property@^1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" - resolved "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" es-set-tostringtag@^2.1.0: version "2.1.0" - resolved "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: es-errors "^1.3.0" @@ -399,24 +470,32 @@ es-set-tostringtag@^2.1.0: ev-store@^7.0.0: version "7.0.0" - resolved "https://registry.npmmirror.com/ev-store/-/ev-store-7.0.0.tgz#1ab0c7f82136505dd74b31d17701cb2be6d26558" + resolved "https://registry.yarnpkg.com/ev-store/-/ev-store-7.0.0.tgz#1ab0c7f82136505dd74b31d17701cb2be6d26558" integrity sha512-otazchNRnGzp2YarBJ+GXKVGvhxVATB1zmaStxJBYet0Dyq7A9VhH8IUEB/gRcL6Ch52lfpgPTRJ2m49epyMsQ== dependencies: individual "^3.0.0" extend@^3.0.2: version "3.0.2" - resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== fdir@^6.5.0: version "6.5.0" - resolved "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== +feather-icons@^4.29.2: + version "4.29.2" + resolved "https://registry.yarnpkg.com/feather-icons/-/feather-icons-4.29.2.tgz#b03a47588a1c400f215e884504db1c18860d89f8" + integrity sha512-0TaCFTnBTVCz6U+baY2UJNKne5ifGh7sMG4ZC2LoBWCZdIyPa+y6UiR4lEYGws1JOFWdee8KAsAIvu0VcXqiqA== + dependencies: + classnames "^2.2.5" + core-js "^3.1.3" + fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" - resolved "https://registry.npmmirror.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== dependencies: node-domexception "^1.0.0" @@ -424,12 +503,12 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: follow-redirects@^1.15.6: version "1.15.11" - resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== foreground-child@^3.1.0: version "3.3.1" - resolved "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: cross-spawn "^7.0.6" @@ -437,7 +516,7 @@ foreground-child@^3.1.0: form-data@^4.0.4: version "4.0.5" - resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== dependencies: asynckit "^0.4.0" @@ -448,24 +527,24 @@ form-data@^4.0.4: formdata-polyfill@^4.0.10: version "4.0.10" - resolved "https://registry.npmmirror.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== dependencies: fetch-blob "^3.1.2" fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gaxios@^7.0.0: version "7.1.3" - resolved "https://registry.npmmirror.com/gaxios/-/gaxios-7.1.3.tgz#c5312f4254abc1b8ab53aef30c22c5229b80b1e1" + resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-7.1.3.tgz#c5312f4254abc1b8ab53aef30c22c5229b80b1e1" integrity sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ== dependencies: extend "^3.0.2" @@ -475,7 +554,7 @@ gaxios@^7.0.0: gcp-metadata@^8.0.0: version "8.1.2" - resolved "https://registry.npmmirror.com/gcp-metadata/-/gcp-metadata-8.1.2.tgz#e62e3373ddf41fc727ccc31c55c687b798bee898" + resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-8.1.2.tgz#e62e3373ddf41fc727ccc31c55c687b798bee898" integrity sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg== dependencies: gaxios "^7.0.0" @@ -484,7 +563,7 @@ gcp-metadata@^8.0.0: get-intrinsic@^1.2.6: version "1.3.0" - resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: call-bind-apply-helpers "^1.0.2" @@ -500,7 +579,7 @@ get-intrinsic@^1.2.6: get-proto@^1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== dependencies: dunder-proto "^1.0.1" @@ -508,7 +587,7 @@ get-proto@^1.0.1: glob@^10.3.7: version "10.5.0" - resolved "https://registry.npmmirror.com/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c" integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg== dependencies: foreground-child "^3.1.0" @@ -520,7 +599,7 @@ glob@^10.3.7: global@^4.3.0: version "4.4.0" - resolved "https://registry.npmmirror.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== dependencies: min-document "^2.19.0" @@ -528,7 +607,7 @@ global@^4.3.0: google-auth-library@^10.3.0: version "10.5.0" - resolved "https://registry.npmmirror.com/google-auth-library/-/google-auth-library-10.5.0.tgz#3f0ebd47173496b91d2868f572bb8a8180c4b561" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-10.5.0.tgz#3f0ebd47173496b91d2868f572bb8a8180c4b561" integrity sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w== dependencies: base64-js "^1.3.0" @@ -541,17 +620,17 @@ google-auth-library@^10.3.0: google-logging-utils@^1.0.0: version "1.1.3" - resolved "https://registry.npmmirror.com/google-logging-utils/-/google-logging-utils-1.1.3.tgz#17b71f1f95d266d2ddd356b8f00178433f041b17" + resolved "https://registry.yarnpkg.com/google-logging-utils/-/google-logging-utils-1.1.3.tgz#17b71f1f95d266d2ddd356b8f00178433f041b17" integrity sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA== gopd@^1.2.0: version "1.2.0" - resolved "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== gtoken@^8.0.0: version "8.0.0" - resolved "https://registry.npmmirror.com/gtoken/-/gtoken-8.0.0.tgz#d67a0e346dd441bfb54ad14040ddc3b632886575" + resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-8.0.0.tgz#d67a0e346dd441bfb54ad14040ddc3b632886575" integrity sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw== dependencies: gaxios "^7.0.0" @@ -559,26 +638,26 @@ gtoken@^8.0.0: has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-tostringtag@^1.0.2: version "1.0.2" - resolved "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" hasown@^2.0.2: version "2.0.2" - resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" https-proxy-agent@^7.0.1: version "7.0.6" - resolved "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== dependencies: agent-base "^7.1.2" @@ -586,27 +665,27 @@ https-proxy-agent@^7.0.1: individual@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/individual/-/individual-3.0.0.tgz#e7ca4f85f8957b018734f285750dc22ec2f9862d" + resolved "https://registry.yarnpkg.com/individual/-/individual-3.0.0.tgz#e7ca4f85f8957b018734f285750dc22ec2f9862d" integrity sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-object@^1.0.1: version "1.0.2" - resolved "https://registry.npmmirror.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== jackspeak@^3.1.2: version "3.4.3" - resolved "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== dependencies: "@isaacs/cliui" "^8.0.2" @@ -615,14 +694,14 @@ jackspeak@^3.1.2: json-bigint@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== dependencies: bignumber.js "^9.0.0" jwa@^2.0.1: version "2.0.1" - resolved "https://registry.npmmirror.com/jwa/-/jwa-2.0.1.tgz#bf8176d1ad0cd72e0f3f58338595a13e110bc804" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.1.tgz#bf8176d1ad0cd72e0f3f58338595a13e110bc804" integrity sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg== dependencies: buffer-equal-constant-time "^1.0.1" @@ -631,7 +710,7 @@ jwa@^2.0.1: jws@^4.0.0: version "4.0.1" - resolved "https://registry.npmmirror.com/jws/-/jws-4.0.1.tgz#07edc1be8fac20e677b283ece261498bd38f0690" + resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.1.tgz#07edc1be8fac20e677b283ece261498bd38f0690" integrity sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA== dependencies: jwa "^2.0.1" @@ -639,62 +718,62 @@ jws@^4.0.0: lightningcss-android-arm64@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz#6966b7024d39c94994008b548b71ab360eb3a307" + resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz#6966b7024d39c94994008b548b71ab360eb3a307" integrity sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A== lightningcss-darwin-arm64@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz#a5fa946d27c029e48c7ff929e6e724a7de46eb2c" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz#a5fa946d27c029e48c7ff929e6e724a7de46eb2c" integrity sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA== lightningcss-darwin-x64@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz#5ce87e9cd7c4f2dcc1b713f5e8ee185c88d9b7cd" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz#5ce87e9cd7c4f2dcc1b713f5e8ee185c88d9b7cd" integrity sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ== lightningcss-freebsd-x64@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz#6ae1d5e773c97961df5cff57b851807ef33692a5" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz#6ae1d5e773c97961df5cff57b851807ef33692a5" integrity sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA== lightningcss-linux-arm-gnueabihf@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz#62c489610c0424151a6121fa99d77731536cdaeb" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz#62c489610c0424151a6121fa99d77731536cdaeb" integrity sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA== lightningcss-linux-arm64-gnu@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz#2a3661b56fe95a0cafae90be026fe0590d089298" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz#2a3661b56fe95a0cafae90be026fe0590d089298" integrity sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A== lightningcss-linux-arm64-musl@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz#d7ddd6b26959245e026bc1ad9eb6aa983aa90e6b" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz#d7ddd6b26959245e026bc1ad9eb6aa983aa90e6b" integrity sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA== lightningcss-linux-x64-gnu@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz#5a89814c8e63213a5965c3d166dff83c36152b1a" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz#5a89814c8e63213a5965c3d166dff83c36152b1a" integrity sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w== lightningcss-linux-x64-musl@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz#808c2e91ce0bf5d0af0e867c6152e5378c049728" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz#808c2e91ce0bf5d0af0e867c6152e5378c049728" integrity sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA== lightningcss-win32-arm64-msvc@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz#ab4a8a8a2e6a82a4531e8bbb6bf0ff161ee6625a" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz#ab4a8a8a2e6a82a4531e8bbb6bf0ff161ee6625a" integrity sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ== lightningcss-win32-x64-msvc@1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz#f01f382c8e0a27e1c018b0bee316d210eac43b6e" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz#f01f382c8e0a27e1c018b0bee316d210eac43b6e" integrity sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw== lightningcss@^1.30.2: version "1.30.2" - resolved "https://registry.npmmirror.com/lightningcss/-/lightningcss-1.30.2.tgz#4ade295f25d140f487d37256f4cd40dc607696d0" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.30.2.tgz#4ade295f25d140f487d37256f4cd40dc607696d0" integrity sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ== dependencies: detect-libc "^2.0.3" @@ -711,99 +790,104 @@ lightningcss@^1.30.2: lightningcss-win32-arm64-msvc "1.30.2" lightningcss-win32-x64-msvc "1.30.2" +long@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83" + integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== + lru-cache@^10.2.0: version "10.4.3" - resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== math-intrinsics@^1.1.0: version "1.1.0" - resolved "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== mime-db@1.52.0: version "1.52.0" - resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12: version "2.1.35" - resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" min-document@^2.19.0: version "2.19.2" - resolved "https://registry.npmmirror.com/min-document/-/min-document-2.19.2.tgz#f95db44639eaae3ac8ea85ae6809ae85ff7e3b81" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.2.tgz#f95db44639eaae3ac8ea85ae6809ae85ff7e3b81" integrity sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A== dependencies: dom-walk "^0.1.0" minimatch@^9.0.4: version "9.0.5" - resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: version "7.1.2" - resolved "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== ms@^2.1.3: version "2.1.3" - resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== nanoid@^3.3.11: version "3.3.11" - resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== nanoid@^4.0.1: version "4.0.2" - resolved "https://registry.npmmirror.com/nanoid/-/nanoid-4.0.2.tgz#140b3c5003959adbebf521c170f282c5e7f9fb9e" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-4.0.2.tgz#140b3c5003959adbebf521c170f282c5e7f9fb9e" integrity sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw== next-tick@^0.2.2: version "0.2.2" - resolved "https://registry.npmmirror.com/next-tick/-/next-tick-0.2.2.tgz#75da4a927ee5887e39065880065b7336413b310d" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-0.2.2.tgz#75da4a927ee5887e39065880065b7336413b310d" integrity sha512-f7h4svPtl+QidoBv4taKXUjJ70G2asaZ8G28nS0OkqaalX8dwwrtWtyxEDPK62AC00ur/+/E0pUwBwY5EPn15Q== node-domexception@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== node-fetch@^3.3.2: version "3.3.2" - resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== dependencies: data-uri-to-buffer "^4.0.0" fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" -openai@^6.15.0: - version "6.15.0" - resolved "https://registry.npmmirror.com/openai/-/openai-6.15.0.tgz#94f23643a50206a6ae889e9df8fc3bfb2dbf2c2b" - integrity sha512-F1Lvs5BoVvmZtzkUEVyh8mDQPPFolq4F+xdsx/DO8Hee8YF3IGAlZqUIsF+DVGhqf4aU0a3bTghsxB6OIsRy1g== +openai@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/openai/-/openai-6.16.0.tgz#53661d9f6307dc7523e89637ff7c6ccd0be16c67" + integrity sha512-fZ1uBqjFUjXzbGc35fFtYKEOxd20kd9fDpFeqWtsOZWiubY8CZ1NAlXHW3iathaFvqmNtCWMIsosCuyeI7Joxg== package-json-from-dist@^1.0.0: version "1.0.1" - resolved "https://registry.npmmirror.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-scurry@^1.11.1: version "1.11.1" - resolved "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: lru-cache "^10.2.0" @@ -811,17 +895,17 @@ path-scurry@^1.11.1: picocolors@^1.1.1: version "1.1.1" - resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^4.0.3: version "4.0.3" - resolved "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== postcss@^8.5.6: version "8.5.6" - resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== dependencies: nanoid "^3.3.11" @@ -830,24 +914,42 @@ postcss@^8.5.6: process@^0.11.10: version "0.11.10" - resolved "https://registry.npmmirror.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== +protobufjs@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.4.tgz#885d31fe9c4b37f25d1bb600da30b1c5b37d286a" + integrity sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + proxy-from-env@^1.1.0: version "1.1.0" - resolved "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== rimraf@^5.0.1: version "5.0.10" - resolved "https://registry.npmmirror.com/rimraf/-/rimraf-5.0.10.tgz#23b9843d3dc92db71f96e1a2ce92e39fd2a8221c" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.10.tgz#23b9843d3dc92db71f96e1a2ce92e39fd2a8221c" integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== dependencies: glob "^10.3.7" rolldown@1.0.0-beta.53: version "1.0.0-beta.53" - resolved "https://registry.npmmirror.com/rolldown/-/rolldown-1.0.0-beta.53.tgz#b1a102a1265d6dcce9ae36f37d6f3aca05bb8ed2" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.53.tgz#b1a102a1265d6dcce9ae36f37d6f3aca05bb8ed2" integrity sha512-Qd9c2p0XKZdgT5AYd+KgAMggJ8ZmCs3JnS9PTMWkyUfteKlfmKtxJbWTHkVakxwXs1Ub7jrRYVeFeF7N0sQxyw== dependencies: "@oxc-project/types" "=0.101.0" @@ -869,39 +971,39 @@ rolldown@1.0.0-beta.53: safe-buffer@^5.0.1: version "5.2.1" - resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== signal-exit@^4.0.1: version "4.1.0" - resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== source-map-js@^1.2.1: version "1.2.1" - resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== string-template@~0.2.0: version "0.2.1" - resolved "https://registry.npmmirror.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" integrity sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: version "4.2.3" - resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -910,7 +1012,7 @@ string-template@~0.2.0: string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" @@ -919,21 +1021,21 @@ string-width@^5.0.1, string-width@^5.1.2: "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.1.2" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== dependencies: ansi-regex "^6.0.1" tinyglobby@^0.2.15: version "0.2.15" - resolved "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== dependencies: fdir "^6.5.0" @@ -941,12 +1043,17 @@ tinyglobby@^0.2.15: tslib@^2.4.0: version "2.8.1" - resolved "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== +undici-types@~7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" + integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== + virtual-dom@^2.1.1: version "2.1.1" - resolved "https://registry.npmmirror.com/virtual-dom/-/virtual-dom-2.1.1.tgz#80eda2d481b9ede0c049118cefcb4a05f21d1375" + resolved "https://registry.yarnpkg.com/virtual-dom/-/virtual-dom-2.1.1.tgz#80eda2d481b9ede0c049118cefcb4a05f21d1375" integrity sha512-wb6Qc9Lbqug0kRqo/iuApfBpJJAq14Sk1faAnSmtqXiwahg7PVTvWMs9L02Z8nNIMqbwsxzBAA90bbtRLbw0zg== dependencies: browser-split "0.0.1" @@ -959,9 +1066,9 @@ virtual-dom@^2.1.1: x-is-string "0.1.0" "vite@npm:rolldown-vite@latest": - version "7.3.0" - resolved "https://registry.npmmirror.com/rolldown-vite/-/rolldown-vite-7.3.0.tgz#46eaf1be33689674ac2c7e43e722791f4d54bbf3" - integrity sha512-5hI5NCJwKBGtzWtdKB3c2fOEpI77Iaa0z4mSzZPU1cJ/OqrGbFafm90edVCd7T9Snz+Sh09TMAv4EQqyVLzuEg== + version "7.3.1" + resolved "https://registry.yarnpkg.com/rolldown-vite/-/rolldown-vite-7.3.1.tgz#432c09996320610d7fdc5fecf538128b65386461" + integrity sha512-LYzdNAjRHhF2yA4JUQm/QyARyi216N2rpJ0lJZb8E9FU2y5v6Vk+xq/U4XBOxMefpWixT5H3TslmAHm1rqIq2w== dependencies: "@oxc-project/runtime" "0.101.0" fdir "^6.5.0" @@ -975,19 +1082,19 @@ virtual-dom@^2.1.1: web-streams-polyfill@^3.0.3: version "3.3.3" - resolved "https://registry.npmmirror.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== which@^2.0.1: version "2.0.2" - resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" - resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -996,7 +1103,7 @@ which@^2.0.1: wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -1004,21 +1111,21 @@ wrap-ansi@^8.1.0: strip-ansi "^7.0.1" ws@^8.18.0: - version "8.18.3" - resolved "https://registry.npmmirror.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" - integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== + version "8.19.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.19.0.tgz#ddc2bdfa5b9ad860204f5a72a4863a8895fd8c8b" + integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== x-is-array@0.1.0: version "0.1.0" - resolved "https://registry.npmmirror.com/x-is-array/-/x-is-array-0.1.0.tgz#de520171d47b3f416f5587d629b89d26b12dc29d" + resolved "https://registry.yarnpkg.com/x-is-array/-/x-is-array-0.1.0.tgz#de520171d47b3f416f5587d629b89d26b12dc29d" integrity sha512-goHPif61oNrr0jJgsXRfc8oqtYzvfiMJpTqwE7Z4y9uH+T3UozkGqQ4d2nX9mB9khvA8U2o/UbPOFjgC7hLWIA== x-is-string@0.1.0: version "0.1.0" - resolved "https://registry.npmmirror.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" + resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" integrity sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w== xtend@~4.0.0: version "4.0.2" - resolved "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==