| name | 诉讼可视化Plus |
| version | 1.0.0 |
| description | 将起诉状、答辩状、证据目录、庭审笔录、裁判文书、合同、咨询记录等法律服务文本,转化为结构化诉讼可视化图表(对话内 HTML 图形化预览)。方法论融合蒋勇主编《诉讼可视化》(法律出版社2017)四步法与麦肯锡图表工作法,覆盖时间图/关系图/数据图/要件分析/资金流向/证据矩阵/攻防图等类型,帮助法律工作者快速把握事实脉络、法律关系、争议焦点与诉讼策略。当用户提交任意法律文本并要求"画图/可视化/梳理关系/时间线/要件分析/证据矩阵/攻防图"时调用。 |
| license | CC-BY-NC |
| disable | false |
| author_internal_only | 浙江金道律师事务所龚家勇律师 |
| author_contact_internal_only | 微信号13967182079 |
| tribute_internal_only | 致敬并怀念蒋勇大律师(天同律师事务所创始人、《诉讼可视化》主编) |
诉讼可视化Plus
一、定位与适用场景
本 skill 把冗长的法律文本材料,转化为一图一核心信息的可视化图表,降低阅读与沟通成本。
适用输入材料(不限于):
- 起诉状 / 答辩状 / 反诉状
- 证据目录、证据说明
- 庭审笔录、质证意见
- 法院裁判文书(判决、裁定)
- 合同、协议、往来函件
- 当事人咨询记录、案情陈述
- 企业工商/股权信息(文本或要点)
典型请求触发词:「帮我画个图」「梳理一下时间线」「把这个案子可视化」「要件分析图」「证据矩阵」「法律关系图」「攻防对照」「诉讼策略路线图」。
二、核心方法论(麦肯锡图表工作法 × 《诉讼可视化》蒋勇主编·法律出版社2017 融合)
方法渊源:本 skill 以蒋勇主编《诉讼可视化》(法律出版社2017年12月版,ISBN 9787519714260,天同律师事务所"三大诉讼法宝"之首)的四步法为骨架,叠加麦肯锡图表工作法的"结论先行/MECE/空雨伞"作为表达层约束,形成可落地的诉讼图表方法论。
2.1 四步法(蒋勇《诉讼可视化》骨架)
- 第一步·明确对象:先判断图表"呈送对象"——法官 / 客户 / 内部讨论,决定图表类型与内容取舍。
- 呈送法官:客观真实反映事实,在客观基础上突出己方观点,仅选与核心争议有关的事实。
- 呈送客户:展现律师对法律关系的理解与论证、诉讼策略及论证重点,便于客户理解。
- 内部讨论:尽量翔实、增加事实细节,便于全面研判。
- 第二步·选图表类型:依案件核心要素选图(时间图 / 关系图 / 数据图 / 其他),见 2.2 决策树。
- 第三步·确定内容:全面罗列 → 逻辑整合 → 精简内容。遵循 3S 原则——简单(simple,用简称/文件名代长文)、直接(straight,无歧义的有效信息)、核心(single,只留最核心)。
- 第四步·更好表达:以线条、框架、色彩设计,在符合阅读习惯基础上突出观点(如用色块/描边强化有利事实、虚化不利但须如实保留的事实)。
2.2 五条表达铁律(麦肯锡叠加)
- 结论先行(金字塔原理):每张图顶部一句"核心结论 / 单一信息"。一图只讲一件事。
- 空·雨·伞 逻辑链:图内分层「事实(空)→ 分析(雨)→ 结论/行动(伞)」,对应「证据 → 法律分析 → 诉讼主张」。
- MECE 拆解:诉讼请求、法律关系、争议焦点互斥穷尽,不重不漏。
- 事实与观点分离(信用值原则):凡法律分析、策略判断、可能性均须明确标注(〔分析〕/虚线框),不得与已确认事实混同;严禁择取重大疑问的待证事实作图、严禁捏造——以维持图表"信用值"(蒋勇书核心警示)。
- 必要性与有益性前置:图表不是万能,案情简易、法律关系清晰者不必强绘;可视化应为赋能而非增负。
2.3 图表选型决策树
输入材料 + 明确对象(法官/客户/内部)
│
├─ 核心要素是时间(签约、违约、付款、发函、立案、时效)
│ └─► 【时间图】事实时间线 / 诉讼时效提示(可纵向分层对比多方行为)
│
├─ 核心要素是关系(多主体、合同/侵权/连带/担保/股权)
│ └─► 【关系图】主体—关系—标的链路(股权结构图、法律关系图)
│
├─ 核心要素是数据(标的额、利息、份额、赔偿计算)
│ └─► 【数据图】饼图/柱状图/坐标图(影响案件走向的数据因素)
│
├─ 围绕某一请求权/要件展开(是否构成、如何举证)
│ └─► 【要件分析图】请求权基础/构成要件拆解 + 攻防矩阵
│
├─ 涉及款项、股权、资产流转
│ └─► 【资金/财产流向图】(关系图子类,箭头+金额+时间)
│
├─ 需呈现"证据 → 证明目的 → 三性"对应
│ └─► 【证据矩阵图】
│
├─ 需对照原被告/双方主张差异
│ └─► 【攻防对抗图】
│
├─ 需呈现程序推进/多主体分工
│ └─► 【流程与分工图 / 策略路线图】
│
└─ 需揭示因果或归责(违约原因、损害链条)
└─► 【鱼骨图 / 漏斗图】
复杂案件应组合多图(如:时间图 + 关系图 + 要件 + 证据矩阵),按决策树逐图产出;天同"两张图"工作法(案件事实图 + 法律关系图)是最低标配。禁止单图硬塞全部信息。
三、标准化输出格式
本 skill 优先用 show_widget(HTML 内联可视化) 直接渲染到对话,按图表类型灵活呈现时间轴、关系图、树、流程、鱼骨、数据图、矩阵表等多样式图形。渲染由 render_html 函数基于结构化图表数据生成 HTML 片段(详见第七节),用户可在对话内即时查看。若用户要求"保存为文件",可由 render_html 产物生成独立 .html 后 present_files。
每张图统一结构:
┌─────────────────────────────────────┐
│ [核心结论 / 单一信息] ← 结论先行 │
├─────────────────────────────────────┤
│ 图例:■事实 □〔分析〕 ⚠风险 │
│ (图形主体) │
├─────────────────────────────────────┤
│ 数据来源:<材料名称/页码/URL> │
│ 附注:事实与观点分离说明、待核提示 │
└─────────────────────────────────────┘
颜色规范(马蒂斯色 Matisse Colors,强制优先)
- 图表中所有填充、描边、节点底色优先使用马蒂斯色(Matisse Colors)——明快、饱和、大胆的野兽派取色(鲜红、明黄、钴蓝、翠绿、橘等),替代低饱和中性色。
- 推荐马蒂斯基准色(十六进制,用于 HTML 表格 / 单元格底色):
- 马蒂斯红
#E83929 明黄 #F2C12E 钴蓝 #2E5FB0 翠绿 #2E9E6B
- 橘
#E8852E 品红 #C0306A 深青 #1F8A8A 紫 #7A4FA3
- 风险/异常提示(⚠ 时效、资金异常回流等)可用马蒂斯红
#E83929 或描边高亮,确保一眼可辨。
- 文字与连线保持深灰
#3A3A3A / #5A5A5A,确保浅色主题下可读;事实与〔分析〕以"实线/虚线 + 标签"区分,不依赖强对比色。
- 单图用色不超过 3–4 个马蒂斯色,保持明快、专业、易读,避免杂乱。
各图类型模板要点(类型与绘制法依《诉讼可视化》)
A. 时间图(时间轴)
- 横向时间线标注日期 + 事件 + 材料出处;核心要素为时间的案件首选。
- 纵向分层对比(蒋勇书要点):不同主体行为分置时间轴上下两侧;同一主体不同行为分层;合理利用纵向空间,各主体用颜色区分。
- 关键时效节点(诉讼时效、举证期限、上诉期)用 ⚠ 马蒂斯红
#E83929 高亮并标注起算/届满日。
- 事实节点实线圆点;推断/待证事件空心圆点 + 〔待证〕。
B. 关系图(法律关系图 / 股权结构图)
- 主体为方框,关系(合同/侵权/连带/担保/股权)为连线并标注性质与依据。
- 核心主体扩散法:以反复出现/处于中心的主体的法律关系为主链,向其四周扩散(蒋勇书逻辑整合要点)。
- 权利义务用连线标签简述;争议点用 ⚠ 标记;国有资本、关联关系如实标注(企查查/天眼查数据标查询时间)。
C. 要件分析图(请求权基础 / 构成要件)
- 自上而下:大前提(法条)→ 要件1/2/3…→ 各要件的事实支撑与证据。
- 未满足要件用 ⚠ + 缺口标注;抗辩要件(时效、抵销)单列对照。
- 〔分析〕与事实分色。
D. 资金/财产流向图(关系图子类)
- 流向箭头 + 金额 + 时间;资金闭环、异常回流用马蒂斯红
#E83929 重点标注。
- 多主体大量资金流转时,采用左右布局便于阅读(蒋勇书排版习惯),非纵向堆叠。
- 标注来源依据(银行流水、合同、记账凭证)。
E. 数据图(柱状/饼图/对比图)
- 当真正影响走向的是案件中的数据因素(标的额、利息、份额、赔偿计算)时使用。
- 样式灵活:预览端用 HTML/CSS 或 Chart.js 等画出柱状/饼图,关键数据用马蒂斯红
#E83929 高亮,便于在对话内直观对比。
- 数据字段(渲染
type:"data"):body.rows[].cells = ["项目", "数值(可带单位)"],risk:bool 控制是否用马蒂斯红高亮(详见第七节 7.2)。
F. 证据矩阵图
- 三列:证据名称/来源 | 证明目的 | 三性(真实性/合法性/关联性)+ 对方异议。
- 待证要件回链到要件分析图,形成可追溯;可直接在图中备注证据名称(蒋勇书"证据清单"效果)。
G. 攻防对抗图
- 双栏:我方主张/依据 ↔ 对方主张/依据;中缝列争议焦点与待证事项。
- 未指定代理方时保持中立,双栏均衡(见第五节)。
H. 流程与分工图 / 策略路线图
- 阶段节点(立案→举证→开庭→判决→执行)+ 每节点关键动作与时限;多主体分工可分层标注。
I. 鱼骨图 / 漏斗图
- 鱼骨图:揭示违约原因、损害因果链条;漏斗图:归责或赔偿递减计算。按需选用,非必选。
- 数据字段(渲染
type:"fishbone"):body.spine(主轴,如"违约原因")+ body.bones[].cause/detail(鱼刺因与说明),详见第七节 7.2。当前 _html_fishbone 以列表式呈现因果要点(主轴 + 各 cause/detail),并非 SVG 鱼骨骨架图;漏斗图由流程/数据图组合表达,无独立 type。如需真正鱼骨骨架图形,可在后续版本扩展 SVG 绘制。
提交法院附署要求(强制):凡图表拟提交法院/仲裁,须注明案件名称、案号、提交人、提交日期(蒋勇书"绘图以外的工作"要点),并严格控制导出分辨率与打印缩放,避免失真。
四、执行流程(运行即遵循)
- 明确对象(蒋勇四步法第一步):先确认图表呈送对象——法官 / 客户 / 内部讨论,据此决定图表类型与内容取舍(法官:客观+突出己方;客户:论证+策略;内部:翔实全面)。未指定时默认按"法官视角"呈现并保持中立。
- 材料识别:判断输入文本类型与所含信息维度(时间/主体/要件/资金/证据/对抗/程序)。
- 图表选型:按第二节 2.3 决策树确定 1–N 张图,向用户简要说明选型理由与对象适配性。
- 确定内容(蒋勇四步法第三步·3S):对抽取要素做全面罗列 → 逻辑整合 → 精简;仅留简单(simple)、直接(straight)、核心(single)的有效信息,善用简称/文件名代长文;严格保留原文关键日期、金额、称谓,发现矛盾(日期冲突、金额不一致)必须提示用户核对,不得擅自修改。
- 事实/观点分离:已确认事实用实线;分析推断用〔分析〕标签或虚线;严守"信用值"——不择取重大疑问待证事实作图、不捏造(见第五节)。
- 渲染(蒋勇四步法第四步·更好表达)——单一内容源、HTML 图形化预览:
- 核心约束(强制):对话内展示的图表,基于结构化
chart(变量名,单一内容源)经 render_html 渲染为 HTML 图形化片段,信息、文字、配色、层级结构、来源、附注一致。呈现样式灵活——按图表类型与"美观、易读"要求,灵活选用时间轴、关系图、树形、流程图、鱼骨图、数据图、矩阵表等最贴切的视觉形式。
- 图表数据模型(统一结构 + 按 type 扩展):每张图用以下字段描述,作为渲染依据——
title:核心结论 / 单一信息(结论先行)
type:决定图形样式的核心字段,取值 time(时间轴) / relation(关系图·含股权) / fund(资金流向) / matrix(证据矩阵表) / element(要件树) / attack(攻防图) / process(流程/策略路线) / fishbone(鱼骨/漏斗) / data(数据图)
legend:图例说明(■事实 □〔分析〕 ⚠风险)
body:按 type 选用最贴切的结构:
- 表格类(
matrix):{ "columns": [...], "rows": [ {"cells":[...], "risk":bool}, ... ] }
- 时间轴(
time):{ "events": [ {"date":"", "party":"甲/乙/...", "text":"", "risk":bool}, ... ] }(按 party 纵向分层对比)
- 关系图(
relation):{ "nodes": [ {"id":"", "label":"", "shape":"box/ellipse", "color":"party_a/party_b/...", "level":int}, ... ], "edges": [ {"from":"", "to":"", "label":"合同/持股/连带", "kind":"solid/dash", "risk":bool}, ... ] }(按 level 分行,edges 经 SVG 绘制 from→to 连线与箭头)
- 资金流向(
fund):{ "rows": [ {"cells":["付款方","收款方","金额","币种/时间"], "risk":bool}, ... ] }(箭头+金额横向呈现)
- 攻防对抗(
attack):{ "columns":["我方主张/依据","争议焦点与待证事项","对方主张/依据"], "rows": [ {"cells":[...3项], "risk":bool}, ... ] }(三栏网格)
五、合规与风控(强制)
- 不预设立场:未指定代理方时保持中立,攻防图双栏均衡呈现。
- 不编造:法条、案例、案号须外部检索核验(优先 yuandian 华宇元典、pkulaw 北大法宝、qcc 企查查等已连接 MCP);无法核验者明确"待人工复核"。
- 不改事实:已有材料关键信息(日期/金额/称谓/证据描述)原样保留,矛盾处提示用户。
- 风险常态提示:任何结论附不确定性说明。
- 内部信息保密(强制):frontmatter 中的
author_internal_only / author_contact_internal_only(浙江金道律师事务所龚家勇律师、微信号13967182079)及 tribute_internal_only(致敬并怀念蒋勇大律师,天同律师事务所创始人、《诉讼可视化》主编)均为内部归属/纪念标注,严禁在面向用户的回复、可视化图表、生成的 .html 文件或任何交付物中展示、提及或泄露;该信息仅用于 skill 内部识别与纪念,不对外。
- 禁止外传(强制):上述
_internal_only 字段属于个人/内部敏感信息,严禁随技能文件打包外传、分享或上传至任何 marketplace / 代码仓库 / 第三方。如需将本技能分发给他人或发布,须先删除 frontmatter 中全部 _internal_only 字段后再分发。
六、输出示例(示意,非模板硬填)
用户:「帮我把这份借款纠纷的起诉状和证据目录可视化。」
助手:① 明确对象:默认法官视角、中立呈现。② 选型:时间图(借款+催款+立案,纵向分层对比双方行为)+ 资金流向图(出借→还款缺口,左右布局)+ 证据矩阵(借条/转账记录/催款记录↔证明目的↔三性);按 3S 精简内容。③ 逐图渲染,顶部各给单一结论,⚠ 标注诉讼时效与还款缺口风险,底部注明来源与待核提示;事实与〔分析〕分离。④ 渲染完成后在对话内以图形化预览展示各图,并向用户说明图表内容、来源与风险附注。如需独立文件,可生成 .html 交付。若用户补充资料,回到第2步重绘。
七、单一内容源与 HTML 渲染器(同源、多样式)
本 skill 采用一份图表数据 → 单一 HTML 渲染器架构,呈现样式灵活多样(时间轴/关系图/树/流程/鱼骨/数据图/矩阵表等),不再局限于表格。render_html 读取 chart、按 type 解析,输出图形化 HTML/CSS 片段,经 read_me + show_widget 展示:
- 图表数据(单一内容源):执行到第6步时,先为每张图产出结构化数据
chart(含 title/type/legend/body/colors/source/notes)。这是唯一事实来源。
render_html(chart) → 对话预览(图形化):按 type 输出真正图形化的 HTML/CSS 片段(时间轴竖线节点、关系图方框连线、树形缩进、流程步骤卡、鱼骨骨架、矩阵表格等),经 read_me + show_widget 展示。预览端可使用 SVG/CSS 图形。
渲染器位置(强制):render_html 为真实可执行函数,定义在同目录 render.py 中。运行技能时直接 import 该模块(见 7.4),不得临时"凭感觉"重写,否则必然漂移。该文件随技能一同维护。
7.1 统一马蒂斯色码表(渲染器统一取色,禁止各自硬编码)
| 语义 | 名称 | 十六进制 |
|---|
| 风险/缺口 | 马蒂斯红 | #E83929 |
| 标题蓝 | 钴蓝 | #2E5FB0 |
| 出借方/证据 | 蓝底 | #E6F1FB |
| 借款方 | 橘 | #E8852E |
| 缺口底 | 红底 | #FCEBEB |
| 证明目的 | 翠绿 | #2E9E6B |
| 证明底 | 绿底 | #EAF3DE |
| 三性 | 琥珀 | #BA7517 |
| 三性底 | 琥珀底 | #FAEEDA |
| 文字/连线 | 深灰 | #3A3A3A / #5A5A5A |
渲染器统一从此表取色;如需调整配色,只改此表即全局生效,杜绝漂移。该色码表在 render.py 中以 MATISSE_COLORS 字典集中定义。
补充(与第二章颜色规范对齐):第二节「颜色规范」要求的马蒂斯基准色中,明黄 #F2C12E、品红 #C0306A、深青 #1F8A8A、紫 #7A4FA3 四项,亦在 render.py 的 MATISSE_COLORS 中以键 yellow/magenta/teal/purple 集中定义,供时间图纵向分层、关系图节点等按需取用。此外渲染器内部另维护 grid/legend_bg/footer_bg 等布局色(非马蒂斯语义色,仅用于边框与底色)。第二章列出的 8 个基准色与本节派生色、render.py 全量键三者一致,无遗漏。
7.2 图表数据字段约定(数据模型,按 type 选用 body 结构)
chart = {
"title": "【图一·时间图】核心结论:……",
"type": "time",
"legend": "■事实 □〔分析〕 ⚠风险",
"body": {
"events": [
{"date":"2023-03-10", "party":"甲", "text":"签订借条出借50万", "risk": False},
{"date":"2023-09-10", "party":"乙", "text":"应还款未还", "risk": True},
]
},
"colors": { "title": "#2E5FB0", "risk": "#E83929", "party_a": "#E6F1FB", "party_b": "#E8852E" },
: ,
:
}
7.3 渲染器实现约定(render.py 中真实函数,按 type 分流)
MATISSE_COLORS = {
"risk": "#E83929", "title": "#2E5FB0", "party_a":"#E6F1FB",
"party_b":"#E8852E", "gap_bg": "#FCEBEB", "proof": "#2E9E6B",
"proof_bg":"#EAF3DE", "amber": "#BA7517", "amber_bg":"#FAEEDA",
"text": "#3A3A3A", "text2": "#5A5A5A",
}
def render_html(chart: dict) -> str:
"""按 chart['type'] 输出图形化 HTML 片段(时间轴/关系图/树/流程/鱼骨/表)。
返回值为纯 HTML 字符串,由调用方写入 .html 或传 show_widget 预览;
本函数本身不调用 read_me/show_widget。"""
t = chart.get("type")
if t == "time": return _html_time(chart)
if t == "relation": return _html_relation(chart)
if t == "fund": return _html_fund(chart)
if t == "element": return _html_tree(chart)
if t == "process": return _html_process(chart)
if t == "fishbone": return _html_fishbone(chart)
if t == : _html_attack(chart)
t == : _html_data(chart)
_html_table(chart)
实现要点:render_html 读取 chart_data(变量名 chart,见 7.4),按 type 分流到 _html_time / _html_relation / _html_fund / _html_tree / _html_process / _html_fishbone / _html_attack / _html_data / _html_table,用 HTML/CSS(含 SVG 连线与箭头)图形化输出;信息/配色/层级与对话预览一致。attack/data 为独立渲染分支(非表格兜底),fund 使用 rows 结构(付款方/收款方/金额/币种时间)。render_html 在输出 HTML 时,须于文件末尾统一追加「PDF 风险提示区块」(详见 7.6),确保转 PDF 后该提示真实存在。
7.4 调用方式(运行即遵循)
import os, importlib.util
_skill_dir = os.path.dirname(os.path.abspath(__file__)) \
if "__file__" in globals() else os.environ.get("LV_SKILL_DIR", "/Users/gongjiayong/.workbuddy/skills/litigation-visualization")
_render_path = os.path.join(_skill_dir, "render.py")
_spec = importlib.util.spec_from_file_location("lv_render", _render_path)
_render = importlib.util.module_from_spec(_spec); _spec.loader.exec_module(_render)
html_fragment = _render.render_html(chart)
7.5 PDF 风险提示区块(render_html 强制追加,详见第四节第9步)
render_html 在输出完整 HTML 时,必须于文件末尾统一追加一个独立提示区块,内容固定为以下风险提示(强制,不得删改),作为转 PDF 后的强制风险提示:
⚠ 风险提示
此为 AI 生成,仅供参考。温馨提醒:用户自己可将PDF格式文件通过WPS等软件转换为DOCX格式文件,可以自行编辑、修改。
渲染规范:
- 该区块使用独立
<div class="pdf-disclaimer"> 包裹,置于所有图表之后、<body> 结束前。
- 标题「⚠ 风险提示」用马蒂斯红
#E83929;正文用深灰 #5A5A5A,字号较图表正文小一号(如 13px),与图表主体有明显分隔(上边框 1px solid #E0E0E0 + 上间距 24px)。
- 该区块同时出现在对话内预览与独立
.html 中,确保经系统 Chrome 原生打印转 PDF 后以图像形式真实呈现于 PDF 文件内(肉眼可见、打印清晰;受 Chrome 无头打印限制,PDF 内文字为栅格化图像,不可选中/复制,详见第四节第9步「PDF 文本特性说明」)。
- 内部信息保密(第五节)约束依然适用:该提示区块不得包含 frontmatter 中的
author_internal_only / author_contact_internal_only / tribute_internal_only 任何内容。
7.6 交付与依赖
- 渲染依赖:对话内
show_widget(HTML 预览)由内置组件承载,无需外部 Python 依赖;render.py 中的 render_html 为纯函数,仅在需要生成独立 .html 文件时由 Write 调用其输出。
- 核验:yuandian(华宇元典法律数据)、pkulaw(北大法宝)、qcc(企查查)等已连接 MCP,按需调用。
- 文件交付(HTML):如需独立
.html,由 render_html 产物经 Write 生成后 present_files。本 skill 不生成 .docx 文件。
- 文件交付(HTML→PDF):本 skill 在图表渲染完成后须主动用选择题(AskUserQuestion)询问用户下一步处理方式,四选项为「转为 PDF 并保存桌面 / 不需要任何操作 / 补充资料后完善图表 / 其他」(选项定义以第四节第9步为准,强制不可省略)。若用户选择「转为 PDF 并保存桌面」,使用本技能自带脚本
scripts/html_to_pdf.sh 将本地 HTML 文件转换为 PDF 并保存至桌面;该脚本调用系统已安装的 Google Chrome 原生无头打印(--headless --print-to-pdf),零浏览器下载、不依赖 puppeteer,本机最稳最快。调用方式:bash scripts/html_to_pdf.sh "<输入.html 绝对路径>" "<输出.pdf 绝对路径>"(脚本内部会自动对含中文/空格的路径做 URL 编码并以 file:// 传入)。转换前须确保独立 .html 文件已生成,输出路径指定为用户桌面(~/Desktop/ 或 /Users/<用户名>/Desktop/),文件名应体现案件与图表类型,例如 借款纠纷-诉讼可视化.pdf。生成的 PDF 中必须包含第四节第9步「PDF 风险提示(强制)」规定的风险提示,该提示由 render_html 预先写入 HTML 源(见 7.3 与 7.5 的 _pdf_disclaimer_html)。如本机未安装 Google Chrome,脚本会回退提示改用 puppeteer(需先 npm install puppeteer)或手动用 WPS/浏览器打印。