【Stable Diffusion安装】支持python3.11 window版
前言
主要的安装步骤是参考B站播放量第一的视频,但是那位阿婆主应该是没有编程经验,只强调使用3.10,而python最新版本是3.11。
理论上来说,只是一个小版本的不同,应该是可以安装成功了。自己摸索了下,挺费劲了,故记录下,支持最新版python3.11的安装经验。
这里建议先看下B站视频:【B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略】
这里我假设你们已经自己安装好了python、git。
这里我假设你们已经自己安装好了python、git。
这里我假设你们已经自己安装好了python、git。
毕竟CSDN是编程人员的论坛,这点小事,应该没问题。
安装步骤
更新window显卡驱动
这里为了后续安装的顺利,我们需要更新下电脑的显卡驱动,如果最近已经更新过的,就不用更新了。
按win+R,输入devmgmt.msc,弹出下框。

上图是我的显卡驱动。
这时我们再去官网下载最新驱动:https://www.nvidia.cn/Download/index.aspx


之后,点击exe文件,进行安装即可。
下载 Stable Diffusion 代码
执行:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
修改launch_utils.py文件
路径:
stable-diffusion-webui-master\modules\launch_utils.py
搜索关键字:xformers,找到platform.python_version().startswith,改为3.11

修改webui-user.bat文件
路径:
stable-diffusion-webui-master\modules\webui-user.bat
主要是修改:COMMANDLINE_ARGS
@echo offset PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--no-half-vae --disable-nan-check --skip-python-version-check --force-enable-xformers --xformerscall webui.bat
配置git代理
我的代理:

所以你也需要根据自己的代理来修改下面的端口号。
git config --global https.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890
假设想去掉代理:
# 恢复
git config --global --unset http.proxy
git config --global --unset https.proxy
include-system-site-packages 这个参数可以设置是否开启“引用系统中的模块”的功能。如果开启了,那么当你就可以直接使用系统中已经装过的第三方模块。(但是你在虚拟环境下装的模块就不能被其他地方的程序使用)
设置pip下载源、代理、升级
# 设置源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com
设置代理,路径:C:\Users\yutao\AppData\Roaming\pip\pip.ini
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
proxy = http://127.0.0.1:7890[install]
trusted-host = mirrors.aliyun.com
升级pip,在cmd中:
C:\Users\yutao>python.exe -m pip install --upgrade pip
安装cuda
在cmd命令中,执行:nvidia-smi,查看本机适合的cuda version版本

cuda各版本下载地址
下载下来是一个exe文件,如:cuda_12.2.2_537.13_windows.exe文件。
点击安装即可。一切默认。
下载大模型
可以先看视频了解下,都有哪些模型:
【AI绘画模型新手包!“画风”自由切换,有哪些你不知道的模型使用技巧? | 零基础入门Stable Diffusion的保姆级新手教程 | SD模型下载方式与推荐】
我下载的是guofeng3
下载后,存放路径:

如果出现pip已经下载的模块,但是识别不了的情况下,修改pyvenv.cfg文件
路径E:\openai\project\stable-diffusion-webui\venv,这个需要启动webui-user.bat才会产生。
E:\openai\project\stable-diffusion-webui\venv
这个venv是需要运行webui-user.bat文件后才会产生的。

下面是我的pyvenv.cfg文件内容
home = D:\Program Files\Python
include-system-site-packages = true
version = 3.11.2
executable = D:\Program Files\Python\python.exe
command = D:\Program Files\Python\python.exe -m venv E:\openai\project\stable-diffusion-webui\venv
include-system-site-packages 这个参数可以设置是否开启“引用系统中的模块”的功能。如果开启了,那么我们就可以直接使用系统中已经装过的第三方模块。(但是你在虚拟环境下装的模块就不能被其他地方的程序使用)
双击运行webui-user.bat文件
该文件是以后每次运行启动文件。
启动时,遇到的各种问题,下面会单独讲解。

启动页命令框里,看到:Running on local URL: http://127.0.0.1:7860,表示启动成功。
将http://127.0.0.1:7860,放入浏览器里执行,就OK了。
页面长这个样子:

以后每次运行程序:双击运行webui-user.bat文件即可。
遇到的问题
pip 安装失败,万能解决办法 – 手动安装
正常情况下,当我们遇到pip安装失败的情况下,单独执行,下面的语句是没有问题的:
# 这种总是安装失败时
pip install https://github.com/TencentARC/GFPGAN/archive/8d2447a2d918f8eba5a4a01463fd48e45126a379.zip --prefer-binary
但是如果遇到总是安装失败的情况下,这时,我们就需要手动安装了:
比如,我们现在遇到安装:antlr4-python3-runtime==4.9.3无法自动安装的情况。
这时,我们就去官网下载:https://pypi.org/project/antlr4-python3-runtime/4.9.3/
把文件下载下来:

然后将下载下来的包,解压到:E:\openai\project\stable-diffusion-webui\venv\Scripts\路径下。
接着在cmd中执行python3 setup.py build install:
具体我执行的命令:
E:\openai\project\stable-diffusion-webui\venv\Scripts\antlr4-python3-runtime-4.9.3>e:\openai\project\stable-diffusion-webui\venv\Scripts\python.exe setup.py build install
RuntimeError: Couldn’t install torch.
错误信息:
E:\openai\project\stable-diffusion-webui\venv\Scripts\python.exe: No module named pip
Traceback (most recent call last):File "E:\openai\project\stable-diffusion-webui\launch.py", line 39, in <module>main()File "E:\openai\project\stable-diffusion-webui\launch.py", line 30, in mainprepare_environment()File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 311, in prepare_environmentrun(f'"{python}" -m {torch_command}', "Installing torch and torchvision", "Couldn't install torch", live=True)File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 113, in runraise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't install torch.
Command: "E:\openai\project\stable-diffusion-webui\venv\Scripts\python.exe" -m pip install torch==2.0.1 torchvision==0.15.2 --extra-index-url https://download.pytorch.org/whl/cu118
Error code: 1

解决办法
# 在cmd窗口中执行如下命令即可:
pip install torch==2.0.1 torchvision==0.15.2 --extra-index-url https://download.pytorch.org/whl/cu118
RuntimeError: Torch is not able to use GPU;
错误信息:
venv "E:\openai\project\stable-diffusion-webui\venv\Scripts\Python.exe"
fatal: No names found, cannot describe anything.
Python 3.11.2 (tags/v3.11.2:878ead1, Feb 7 2023, 16:38:35) [MSC v.1934 64 bit (AMD64)]
Version: 1.5.1
Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a
Traceback (most recent call last):File "E:\openai\project\stable-diffusion-webui\launch.py", line 39, in <module>main()File "E:\openai\project\stable-diffusion-webui\launch.py", line 30, in mainprepare_environment()File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 314, in prepare_environmentraise RuntimeError(
RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

解决办法
这说明需要安装cuda。上面有安装教程。
RuntimeError: Couldn’t install gfpgan.
错误信息:
Version: 1.5.1
Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a
Installing gfpgan
Traceback (most recent call last):File "E:\openai\project\stable-diffusion-webui\launch.py", line 39, in <module>main()File "E:\openai\project\stable-diffusion-webui\launch.py", line 30, in mainprepare_environment()File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 320, in prepare_environmentrun_pip(f"install {gfpgan_package}", "gfpgan")File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 136, in run_pipreturn run(f'"{python}" -m pip {command} --prefer-binary{index_url_line}', desc=f"Installing {desc}", errdesc=f"Couldn't install {desc}", live=live)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 113, in runraise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't install gfpgan.
Command: "E:\openai\project\stable-diffusion-webui\venv\Scripts\python.exe" -m pip install https://github.com/TencentARC/GFPGAN/archive/8d2447a2d918f8eba5a4a01463fd48e45126a379.zip --prefer-binary
Error code: 1
stdout: Collecting https://github.com/TencentARC/GFPGAN/archive/8d2447a2d918f8eba5a4a01463fd48e45126a379.zipDownloading https://github.com/TencentARC/GFPGAN/archive/8d2447a2d918f8eba5a4a01463fd48e45126a379.zip (6.0 MB)---------------------------------------- 6.0/6.0 MB 43.6 kB/s eta 0:00:00Preparing metadata (setup.py): startedPreparing metadata (setup.py): finished with status 'done'stderr: ERROR: No .egg-info directory found in C:\Users\yutao\AppData\Local\Temp\pip-pip-egg-info-6ubqppke

解决办法
本质上就是连不上网,所以需要开代理,并配置代理,只要按照上面来,就没问题。
RuntimeError: Couldn’t install clip.
Version: 1.5.1
Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a
Installing clip
Traceback (most recent call last):File "E:\openai\project\stable-diffusion-webui\launch.py", line 39, in <module>main()File "E:\openai\project\stable-diffusion-webui\launch.py", line 30, in mainprepare_environment()File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 323, in prepare_environmentrun_pip(f"install {clip_package}", "clip")File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 136, in run_pipreturn run(f'"{python}" -m pip {command} --prefer-binary{index_url_line}', desc=f"Installing {desc}", errdesc=f"Couldn't install {desc}", live=live)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "E:\openai\project\stable-diffusion-webui\modules\launch_utils.py", line 113, in runraise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't install clip.
Command: "E:\openai\project\stable-diffusion-webui\venv\Scripts\python.exe" -m pip install https://ghproxy.com/https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip --prefer-binary
Error code: 1
stdout: Collecting https://ghproxy.com/https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zipDownloading https://ghproxy.com/https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip (4.3 MB)---------------------------------------- 4.3/4.3 MB 2.3 MB/s eta 0:00:00Preparing metadata (setup.py): startedPreparing metadata (setup.py): finished with status 'done'stderr: ERROR: No .egg-info directory found in C:\Users\yutao\AppData\Local\Temp\pip-pip-egg-info-w8i73o1w

解决办法
先试试:
pip install https://ghproxy.com/https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip --prefer-binary
如果不行,就手动安装:
- https://github.com/openai/CLIP 下载
- 把压缩文件解压到
xxx\stable-diffusion-webui\venv\Scripts - 打开clip-main文件夹,在上方红框的路径地址栏里输入CMD,进入clip-main路径下的cmd命令提示符界面

- cmd中执行:python.exe setup.py build install
特别注意,python.exe要是你自己的路径。
stable diffusion本地安装部署提示clip安装失败的解决方法
下载:https://github.com/openai/CLIP
输入xxx\stable-diffusion-webui\venv\Scripts\python.exe -m pip install ftfy regex tqdm 安装clip依赖输入xxx\stable-diffusion-webui\venv\Scripts\python.exe setup.py build install
安装jsonmerge==1.8.0 报错
这种情况下,就执行pip install jsonmerge安装最新版即可。
安装好后,注意cmd中打印的版本信息,比如我安装完后的版本号jsonmerge==1.9.2;
这时需要修改下文件:

将jsonmerge==1.8.0 修改为:jsonmerge==1.9.2
jsonmerge==1.9.2
参考地址:
Python pip 源设置成国内源,阿里云源,清华大学源
https://civitai.com/models/10415/3-guofeng3
Antlr4-python3-runtime在ubuntu上的安装
stable diffusion本地安装部署提示clip安装失败的解决方法
打开stable diffusion webui时,提示缺少clip或clip安装不上的解决方案(windows下的操作)
Windows下使用Git部署Stable-Diffusion-Webui
相关文章:
【Stable Diffusion安装】支持python3.11 window版
前言 主要的安装步骤是参考B站播放量第一的视频,但是那位阿婆主应该是没有编程经验,只强调使用3.10,而python最新版本是3.11。 理论上来说,只是一个小版本的不同,应该是可以安装成功了。自己摸索了下,挺费…...
Anycloud37D平台移植wirelesstools
0. 环境准备 下载 :https://www.linuxfromscratch.org/blfs/view/svn/basicnet/wireless_tools.html 1. 交叉编译wireless_tools tar xzf wireless_tools.29.tar.gz cd wireless_tools.29/打开Makefile,修改配置: ## Compiler to use (mo…...
海康机器人工业相机 Win10+Qt+Cmake 开发环境搭建
文章目录 一. Qt搭建海康机器人工业相机开发环境 一. Qt搭建海康机器人工业相机开发环境 参考这个链接安装好MVS客户端 Qt新建一个c项目 cmakeList中添加海康机器人的库,如下: cmake_minimum_required(VERSION 3.5)project(HIKRobotCameraTest LANG…...
使用MDK5的一些偏僻使用方法和谋个功能的作用
程序下载后无法运行 需要勾选如下库,是优化后的库; MicroLib和标准C库之间的主要区别是: 1、MicroLib是专为深度嵌入式应用程序而设计的。 2、MicroLib经过优化,比使用ARM标准库使用更少的代码和数据内存。 3、MicroLib被设计成在没有操作…...
【实战】十一、看板页面及任务组页面开发(六) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十八)
文章目录 一、项目起航:项目初始化与配置二、React 与 Hook 应用:实现项目列表三、TS 应用:JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook&…...
在 Amazon 搭建无代码可视化的数据分析和建模平台
现代企业常常会有利用数据分析和机器学习帮助解决业务痛点的需求。如制造业中,利用设备采集上来的数据做预测性维护,质量控制;在零售业中,利用客户端端采集的数据做渠道转化率分析,个性化推荐等。 亚马逊云科技开发者…...
Pinely Round 2 (Div. 1 + Div. 2) G. Swaps(组合计数)
题目 给定一个长度为n(n<1e6)的序列,第i个数ai(1<ai<n), 操作:你可以将当前i位置的数和a[i]位置的数交换 交换可以操作任意次,求所有本质不同的数组的数量,答案对1e97取模 思路来源 力扣群 潼神 心得 感…...
elasticSearch+kibana+logstash+filebeat集群改成https认证
文章目录 一、生成相关证书二、配置elasticSearh三、配置kibana四、配置logstash五、配置filebeat六、连接https es的java api 一、生成相关证书 ps:主节点操作 切换用户:su es 进入目录:cd /home/es/elasticsearch-7.6.2 创建文件&#x…...
GPT带我学-设计模式-迭代器模式
1 什么是迭代器设计模式? 迭代器设计模式是一种行为型设计模式,用于提供一种统一的方式来遍历一个集合对象中的元素,而不需要暴露该对象的内部结构。它将集合对象的遍历操作与集合对象本身分离开来,使得遍历操作可以独立于集合对…...
数学建模--层次分析法(AHP)的Python实现
目录 1.算法流程简介 2.算法核心代码 3.算法效果展示 1.算法流程简介 """ AHP:层次分析法,层次分析法还是比较偏向于主观的判断的,所以在建模的时候尽可能不要去使用层次分析法 不过在某些创新的评价方法上,也是能够运用层次分析使得评价变得全面一些,有可…...
机器学习笔记之最优化理论与方法(三)凸集的简单认识(下)
机器学习笔记之最优化理论与方法——凸集的简单认识[下] 引言回顾:基本定义——凸集关于保持集合凸性的运算仿射变换 凸集基本性质:投影定理点与凸集的分离支撑超平面定理 引言 继续凸集的简单认识(上)进行介绍,本节将介绍凸集的基本性质以及…...
Apipost:API文档、调试、Mock与测试的一体化协作平台
随着数字化转型的加速,API(应用程序接口)已经成为企业间沟通和数据交换的关键。而在API开发和管理过程中,API文档、调试、Mock和测试的协作显得尤为重要。Apipost正是这样一款一体化协作平台,旨在解决这些问题…...
Homebrew下载安装及使用教程
Homebrew是什么? 简单来说,就是用命令行的形式去管理mac系统的包或软件。 安装命令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"国内请使用镜像源进行下载 执行上述命令后会要求输入…...
【Codeforces】CF193D Two Segments
题目链接 CF方向 Luogu方向 题目解法 考虑在值域上的问题:有多少段区间,对应在排列上不超过 2 2 2 段 肯定需要枚举一个端点,另一个快速算出,考虑枚举值域区间右端点 r r r,计算 l l l 可以发现,新增…...
内存管理概述
前言 在学习计算机科学时,内存管理是一个非常重要的概念。简单地说,内存是计算机用来存储和访问数据的地方。而内存管理是计算机系统如何分配、使用和管理内存的过程。 为什么要学习内存管理? 1. 高效性:内存管理能够帮助计算机更…...
Spring的重试机制-SpringRetry
在我们的日常开发中,经查会遇到调用接口失败的情况,这时候就需要通过一些方法来进行重试,比如通过while循环手动重复调用或,或者通过记录错误接口url和参数到数据库,然后手动调用接口,或者通过JDK/CGLib动态…...
水稻叶病害数据集(目标检测,yolo使用)
1.数据集文件夹 train文件夹(44229张),test文件夹(4741张),valid文件夹(6000张) 2.train文件夹展示 labels展示 标签txt展示 data.yaml文件展示 对数据集感兴趣的可以关注最后一行…...
鸿蒙系列-如何使用好 ArkUI 的 @Reusable?
如何使用好 ArkUI 的 Reusable? OpenHarmony 组件复用机制 在ArkUI中,UI显示的内容均为组件,由框架直接提供的称为 系统组件,由开发者定义的称为 自定义组件。 在进行 UI 界面开发时,通常不是简单的将系统组件进行组合…...
展锐平台音频框架
Audio DT介绍 1.概述 DT(Device Tree)是一种描述硬件的数据结构,DTS即设备树源码。 2.Audio DTS 文件架构 \bsp\kernel\kernel.4.14\arch\arm64\boot\sprd ums512.dts //SOC级相关节点 ——sc2730.dtsi //Codec ——sharkl5Pro.dts…...
webpack loader和plugins的区别
在Webpack中,Loader和Plugin是两个不同的概念,用于不同的目的。 Loader是用于处理非JavaScript模块的文件的转换工具。它们将文件作为输入,并将其转换为Webpack可以处理的模块。例如,当您在Webpack配置中使用Babel Loader时&…...
【无标题】260329
一切都只是我想多了么看到你的博文看到你的新年快乐现在看到你删库跑路为什么要这样出现又消失。。。本来就虚无缥缈的一点儿联系又消失殆尽如果现在可以见到你我心里有N个为什么想问你只是觉得憋屈可能是我理解能力不足共情能力有限我猜不到你的心思啊你到底是想联系还是不想联…...
3MF格式终极指南:如何在Blender中轻松导入导出3D打印文件
3MF格式终极指南:如何在Blender中轻松导入导出3D打印文件 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 想要在Blender中处理3D打印文件却苦于格式转换&…...
Anything to RealCharacters 2.5D转真人引擎:AI艺术展数字作品写实化呈现
Anything to RealCharacters 2.5D转真人引擎:AI艺术展数字作品写实化呈现 你是否曾想过,将那些精美的二次元插画、可爱的卡通头像,或者充满想象力的2.5D游戏角色,一键变成栩栩如生的真人照片?这听起来像是电影里的特效…...
Java 25虚拟线程资源隔离配置,深度剖析JEP 477 ScopedValue与CarrierThread绑定机制
第一章:Java 25虚拟线程资源隔离配置概览Java 25正式将虚拟线程(Virtual Threads)纳入长期支持特性,并强化了其在高并发场景下的资源隔离能力。虚拟线程本身轻量、按需调度,但若缺乏显式资源约束,仍可能因共…...
圣女司幼幽-造相Z-Turbo多模态生成:从文本到视频脚本的连贯创作
圣女司幼幽-造相Z-Turbo多模态生成:从文本到视频脚本的连贯创作 最近在尝试一些新的内容创作工具,发现了一个挺有意思的现象:很多工具要么只能做图,要么只能写文案,想把它们串起来做个完整的视频,中间总得…...
Qwen-Image-Edit快速入门:上传模糊图片,一键生成高清人像
Qwen-Image-Edit快速入门:上传模糊图片,一键生成高清人像 1. 认识Qwen-Image-Edit图像修复模型 1.1 模型核心能力 Qwen-Image-Edit-2511-Unblur-Upscale是一款专为图像修复设计的AI模型,它能将模糊、低分辨率的人像照片快速转化为高清效果…...
从聊天机器人到业务执行者:Agentic Orchestration 如何重构 Java 后端体系
引言 在 RAG 1.0 时代,我们费尽心思让 AI“说得对、答得准”; 而进入 2026 年的 Agentic Orchestration(智能体编排) 时代,我们的目标已经变成:让 AI 做得对、跑得稳、能闭环。 用户说“帮我把昨天买贵的衣…...
手把手教你搞定VMware VCP-DCV 2024线下考试预约(附北上广考位抢票攻略)
2024年VMware VCP-DCV认证考试抢位全攻略:一线城市实战技巧 凌晨三点,北京中关村某科技公司的运维工程师小李又一次刷新了Pearson VUE页面——这已经是他连续第七天蹲守VCP-DCV 2024的考位。作为晋升技术主管的硬性条件,这张认证对他来说价值…...
手把手调试Linux DRM:如何用ftrace和debugfs深入connector的生命周期
深入Linux DRM调试:用ftrace与debugfs剖析connector全生命周期 当一块崭新的显示板卡接入系统时,DRM驱动中的connector如同一位尽职的接线员,负责建立显示设备与内核之间的通信桥梁。但在实际开发中,我们常会遇到热插拔检测失灵、…...
Ryzen系统管理单元调试:基于SMUDebugTool的高级硬件参数调优策略
Ryzen系统管理单元调试:基于SMUDebugTool的高级硬件参数调优策略 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: …...
