Author SHA1 Message Date
github-actions[bot] bdcb8b2216 Prepare manifest for v2.0.2.1 2026-10-04 11:39:59 +00:00
Diuse d47ddf9ad4 fixed # 更新版本号 2026-10-04 19:34:19 +08:00
Diuse 9e1732d2f8 fixed # 补全部分卡牌
fixed # 修复部分已知BUG
2026-10-04 19:32:38 +08:00
Diuse d0e0792538 fixed # 补全梦三怪物、卡牌
fixed # 修复天书乱斗中,过关技能不会重置次数的问题
2026-10-03 04:42:19 +08:00
211 changed files with 1201 additions and 1829 deletions
+30 -30
View File
@@ -1,11 +1,11 @@
{
"version": "2.0.2.3-rc.2",
"generated_at": "2026-10-05T13:47:47.322399+00:00",
"version": "2.0.2.1",
"generated_at": "2026-10-04T11:39:56.824012+00:00",
"algorithm": "sha256",
"update_channels": true,
"file_count": 278,
"size_bytes": 55498582,
"folder_sha256": "b1f12f33bc8775deef47799b715ad34428abf8f0aa16232aa800c8d1db07499c",
"size_bytes": 55472293,
"folder_sha256": "874bf6414e4d4f761bc9ccb25a6a8f46e2efdf35609887ea856b9b68b3c8c9a3",
"core": [
"extension.js",
"menu.js",
@@ -396,20 +396,20 @@
"sha256": "d7f3da55f8b2e8bf77ace03bd4911497a4abb9e1f942555f7685337801278205"
},
"extension.css": {
"size": 55501,
"sha256": "0907c22921f33d3180378dfcec4cdea793227d325c281d5f3a3f698c83b42b85"
"size": 51738,
"sha256": "356aa9473ab72ad43850c13451fd15a25c6ce2d93678cd0dcba5568d10443b40"
},
"extension.js": {
"size": 15464,
"sha256": "11db6f84273c2928db92b42d9ab1f2def6e2f796393119f7f7a0177ad2b9d818"
"size": 15459,
"sha256": "9656c118dfc744e89fef826d75fc1d58515507021ad1e710d7fd6d479cc631ee"
},
"function.js": {
"size": 36025,
"sha256": "39a02025adc2459c93c4f5539c7c3a9b70c0d344284d43252af8be52e8565c33"
"size": 33746,
"sha256": "df1aa3102a214986723af365da1029485680519d355a1ff88973eb36f8a6f909"
},
"menu.js": {
"size": 29114,
"sha256": "bd54fda361282e08102d6d7557b21216fb74198c3db9d164405b12f74fcc7f3b"
"size": 24566,
"sha256": "d6f1fb89707de3558ca9a00814a1d79f12f5799cd85328e764e02a66e4ffba5e"
},
"pve/audio/dead/十二生肖/chenlong.mp3": {
"size": 68757,
@@ -1300,12 +1300,12 @@
"sha256": "41914d7d542ddfb93c89aefffc245869d63a9fb2f52293df8e6667009832afd8"
},
"update.js": {
"size": 74815,
"sha256": "8f9bb238f87e20f7874154a00e0e5d05c39df80a14d83e2d1a2ca34558b66455"
"size": 60005,
"sha256": "f809d6e3ea5114f78a0773314c23b4120ccbd763b1f2f0f1f400753287af76f7"
},
"update.txt": {
"size": 4787,
"sha256": "cba4f2eb6c04eee700423c0336311a86019666232763100d0a33cca5fe09c824"
"size": 3903,
"sha256": "8ef4a71189bdfc4068e0ebab27dad13f7551354f72a0c6ed51d77b62c8c06fb2"
},
"voices.js": {
"size": 1711,
@@ -1565,23 +1565,23 @@
},
"extension.css": {
"type": "file",
"size": 55501,
"sha256": "0907c22921f33d3180378dfcec4cdea793227d325c281d5f3a3f698c83b42b85"
"size": 51738,
"sha256": "356aa9473ab72ad43850c13451fd15a25c6ce2d93678cd0dcba5568d10443b40"
},
"extension.js": {
"type": "file",
"size": 15464,
"sha256": "11db6f84273c2928db92b42d9ab1f2def6e2f796393119f7f7a0177ad2b9d818"
"size": 15459,
"sha256": "9656c118dfc744e89fef826d75fc1d58515507021ad1e710d7fd6d479cc631ee"
},
"function.js": {
"type": "file",
"size": 36025,
"sha256": "39a02025adc2459c93c4f5539c7c3a9b70c0d344284d43252af8be52e8565c33"
"size": 33746,
"sha256": "df1aa3102a214986723af365da1029485680519d355a1ff88973eb36f8a6f909"
},
"menu.js": {
"type": "file",
"size": 29114,
"sha256": "bd54fda361282e08102d6d7557b21216fb74198c3db9d164405b12f74fcc7f3b"
"size": 24566,
"sha256": "d6f1fb89707de3558ca9a00814a1d79f12f5799cd85328e764e02a66e4ffba5e"
},
"pve": {
"type": "directory",
@@ -2825,13 +2825,13 @@
},
"update.js": {
"type": "file",
"size": 74815,
"sha256": "8f9bb238f87e20f7874154a00e0e5d05c39df80a14d83e2d1a2ca34558b66455"
"size": 60005,
"sha256": "f809d6e3ea5114f78a0773314c23b4120ccbd763b1f2f0f1f400753287af76f7"
},
"update.txt": {
"type": "file",
"size": 4787,
"sha256": "cba4f2eb6c04eee700423c0336311a86019666232763100d0a33cca5fe09c824"
"size": 3903,
"sha256": "8ef4a71189bdfc4068e0ebab27dad13f7551354f72a0c6ed51d77b62c8c06fb2"
},
"voices.js": {
"type": "file",
@@ -2975,8 +2975,8 @@
"title": "梦三模式",
"entry": "mengsan/register.js",
"manifest": "dist/modules/mengsan.json",
"file_count": 458,
"size_bytes": 145105480,
"file_count": 457,
"size_bytes": 705642606,
"legacy_manifest": "dist/modules/mengsan.legacy.json"
}
}
+801 -811
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -1,5 +1,5 @@
{
"version": "2.0.2.3-rc.2",
"version": "2.0.2.1",
"module_id": "mengsan",
"snapshot": "legacy",
"files": [
@@ -309,7 +309,6 @@
"mengsan/battle/battle-resources.js",
"mengsan/battle/battle-session.js",
"mengsan/battle/battle-settlement.js",
"mengsan/battle/camps.js",
"mengsan/battle/combat-rules.js",
"mengsan/battle/death-blow.js",
"mengsan/battle/engine-session.js",
-103
View File
@@ -1096,109 +1096,6 @@
}
}
/* 更新设置:沿用选择窗口材质,两个选项与取消/确认按钮适配窄屏。 */
.shuYing-option-dialog-mask[data-variant="settings"] {
--setting-muted: #d1c9bc;
--setting-focus: #ffe2a0;
padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right))
max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog {
width: min(600px, 100%) !important;
max-height: calc(100vh - 32px) !important;
max-height: calc(100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom))) !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-title,
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-intro,
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-controls {
flex: none !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-intro,
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-tag,
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-description {
color: var(--setting-muted) !important;
font-size: 14px !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-options {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
min-height: 0 !important;
gap: 12px !important;
padding: 18px !important;
overflow-x: hidden !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-card {
min-height: 170px !important;
padding: 38px 18px 18px !important;
transform: none !important;
touch-action: manipulation;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-order {
display: none !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-name {
margin-top: 0 !important;
font-size: 25px !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-description {
margin-top: 12px !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-controls {
gap: 12px !important;
padding: 0 18px 18px !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-confirm {
flex: 1 !important;
min-width: 0 !important;
min-height: 48px !important;
height: auto !important;
padding: 10px 8px !important;
font-size: 16px !important;
line-height: 1.4 !important;
touch-action: manipulation;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-cancel {
background: rgba(255, 255, 255, 0.04) !important;
border-color: rgba(232, 190, 99, 0.4) !important;
color: var(--setting-muted) !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] button:focus-visible {
outline: 2px solid var(--setting-focus) !important;
outline-offset: 2px !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] button:active:not(:disabled) {
opacity: 0.85 !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-confirm:disabled {
opacity: 0.5 !important;
cursor: default !important;
box-shadow: none !important;
}
@media screen and (max-width: 520px) {
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-options {
grid-template-columns: minmax(0, 1fr) !important;
padding: 12px !important;
}
.shuYing-option-dialog-mask[data-variant="settings"] .shuYing-option-dialog-card {
min-height: 140px !important;
}
}
/* 天书对局羁绊入口与概览:不依赖十周年 UI 节点,原版和扩展 UI 共用。 */
.shuYing-bond-overview-button {
all: unset !important;
+1 -1
View File
@@ -5,7 +5,7 @@ import initShuYingMenu from "./menu.js";
export const type = "extension";
export let shuYing = new Object();
const shuYingLocalVersion = "2.0.2.3-rc.2";
const shuYingLocalVersion = "2.0.2.1";
shuYing.name = "术樱包";
shuYing.editable = false;
+4 -44
View File
@@ -225,8 +225,7 @@ export default function initFunction(lib, game, ui, get, ai, _status, shuYing =
};
// 创建可复用的对局单选界面;单击选中卡片,确认后返回对应键值。
shuYing.chooseSingleOptionDialog = ({ title = "请选择", intro = "", options = [], defaultKey = null,
currentKey = null, cancelable = false, variant = "default", confirmText = "确定" } = {}) => {
shuYing.chooseSingleOptionDialog = ({ title = "请选择", intro = "", options = [], defaultKey = null } = {}) => {
return new Promise(resolve => {
const items = options.map(option => typeof option == "string" ? { key: option, name: option } : option)
.filter(option => option?.key);
@@ -241,26 +240,18 @@ export default function initFunction(lib, game, ui, get, ai, _status, shuYing =
if (parent) parent.appendChild(node);
return node;
};
const previousFocus = document.activeElement;
const mask = createNode("div", "shuYing-option-dialog-mask", null, document.body);
mask.dataset.variant = variant;
const dialog = createNode("div", "shuYing-option-dialog", null, mask);
dialog.setAttribute("role", "dialog");
dialog.setAttribute("aria-modal", "true");
dialog.setAttribute("aria-label", title);
createNode("div", "shuYing-option-dialog-title", title, dialog);
if (intro) createNode("div", "shuYing-option-dialog-intro", intro, dialog);
const optionArea = createNode("div", "shuYing-option-dialog-options", null, dialog);
const controls = createNode("div", "shuYing-option-dialog-controls", null, dialog);
let closed = false;
let onKeydown = null;
let selectedKey = defaultKey && items.some(item => item.key == defaultKey) ? defaultKey : items[0].key;
const finish = key => {
if (closed) return;
closed = true;
if (onKeydown) document.removeEventListener("keydown", onKeydown, true);
mask.remove();
if (cancelable && previousFocus?.isConnected) previousFocus.focus?.({ preventScroll: true });
resolve(key);
};
const refreshSelection = () => {
@@ -269,7 +260,6 @@ export default function initFunction(lib, game, ui, get, ai, _status, shuYing =
card.classList.toggle("selected", selected);
card.setAttribute("aria-pressed", String(selected));
});
confirm.disabled = currentKey != null && selectedKey == currentKey;
};
items.forEach((option, index) => {
const card = createNode("button", "shuYing-option-dialog-card", null, optionArea);
@@ -286,44 +276,14 @@ export default function initFunction(lib, game, ui, get, ai, _status, shuYing =
refreshSelection();
});
});
if (cancelable) {
const cancel = createNode("button", "shuYing-option-dialog-confirm shuYing-option-dialog-cancel", "取消", controls);
cancel.type = "button";
cancel.addEventListener("click", event => { event.stopPropagation(); finish(null); });
}
const confirm = createNode("button", "shuYing-option-dialog-confirm", confirmText, controls);
const confirm = createNode("button", "shuYing-option-dialog-confirm", "确定", controls);
confirm.type = "button";
confirm.addEventListener("click", event => {
event.stopPropagation();
if (!confirm.disabled) finish(selectedKey);
});
mask.addEventListener("click", event => {
event.stopPropagation();
if (cancelable && event.target == mask) finish(null);
finish(selectedKey);
});
mask.addEventListener("click", event => event.stopPropagation());
dialog.addEventListener("click", event => event.stopPropagation());
if (cancelable) {
dialog.addEventListener("keydown", event => event.stopPropagation());
onKeydown = event => {
if (event.key == "Escape") {
event.preventDefault();
event.stopPropagation();
finish(null);
}
else if (event.key == "Tab") {
const buttons = Array.from(dialog.querySelectorAll("button:not(:disabled)"));
const first = buttons[0], last = buttons[buttons.length - 1];
if (!dialog.contains(document.activeElement)
|| event.shiftKey && document.activeElement == first
|| !event.shiftKey && document.activeElement == last) {
event.preventDefault();
(event.shiftKey ? last : first)?.focus();
}
event.stopPropagation();
}
};
document.addEventListener("keydown", onKeydown, true);
}
refreshSelection();
const initial = Array.from(optionArea.querySelectorAll(".shuYing-option-dialog-card")).find(node => node.dataset.key == selectedKey)
|| optionArea.querySelector(".shuYing-option-dialog-card");
-16
View File
@@ -2,22 +2,6 @@
`register.js` 是扩展加载入口,`mode.js` 负责组装模式、注册技能并连接各领域模块,`config.js` 提供模式配置。发布器和外部扩展应继续从 `register.js` 加载,避免依赖内部文件路径。
梦三独立组装模式,不加载或继承身份模式。敌我关系统一由
`battle/camps.js` 读取角色的 `storage.mengsanCamp_shuying`:主角、支援和
羁绊助战为 `ally`,怪物及敌方援军为 `enemy`。`side` 与梦三专属的
`identity` 标记只用于核心及界面兼容,不赋予主公、忠臣或反贼规则。
技能应使用 `isFriendOf` / `isEnemyOf`、`getFriends` / `getEnemies` 或
`get.attitude` 判断敌我。基础态度为同阵营及自身 `+8`、对立阵营 `-8`,
未设置有效阵营的其他对象为 `0`;剧情切换阵营后按新阵营判断。
`get.effect`、`get.effect_use`、`get.damageEffect`、`get.recoverEffect` 和
牌价值、技能效果修正继续使用核心算法,并通过上述态度计算行动收益。
有益效果不一律视为正收益,伤害也不一律视为负收益,仍遵循技能自己的 AI 配置。
梦三不启用主公技,初始技能及动态授予技能均按此限制处理。阵营始终公开,
出牌或技能的 `logAi` / `addExpose` 调用不推断隐藏身份;击杀不附加身份奖惩,
胜负与奖励沿用梦三关卡和结算流程。
| 目录 | 职责 |
| --- | --- |
| `battle/` | 战斗会话、回合、结算、费用与通用战斗效果 |
+1 -3
View File
@@ -5,11 +5,9 @@
用户于 2026-10-02 指定以截图 `C:\Users\Diuse\Downloads\Ai\49.png` 中“防御”为同系列基准。
- 后续新增及转换的梦三卡牌使用约 5:7 的完整竖幅立绘;手牌常规尺寸 112×156,窄屏 82×114。禁止直接使用横向拆包图作为运行时卡面,也不要拉伸横图。
- 运行时 PNG 限制在 480×672 像素以内、单张不超过 300 KiB;5:7 立绘统一缩小到 480×672,现有小图不放大,其他旧比例等比例缩小。生成的大原图必须先优化再接入,不裁切、不拉伸;保留透明度、文件名和引用。使用 `node extension/术樱包/mengsan/tools/optimize-card-art.cjs --all` 批量处理,或将 `--all` 换成单张实际卡牌 PNG 的绝对路径;需要 sharp,可由 `MENGSAN_SHARP_MODULE` 指定模块位置。共享牌的 `record-art.py` 已在写入流程中调用优化器。
- 批量优化只处理 `mengsan_*.png` 运行时卡牌,参考原件如 `wound-original.png` 不参与。
- 画风:泛黄宣纸、黑褐水墨、飞白与淡赭色、中国古代人物或兵器;根据卡牌效果独立安排竖幅构图。拆包图只作题材参考,不修改拆包原件。
- 立绘不绘制名称、费用、花色、强化角标或边框。左上花色点数、左侧中段费用、右下名称由游戏原生节点和梦三样式叠加;左侧信息栏和右下名称需留空间。
- 卡牌定义使用 `fullimage: true` 与明确的 `image` 路径,不使用横图 `fullskin`。手牌叠层按实际注册定义的 `fullimage: true` 及 `ext:术樱包/mengsan/assets/cards/牌名.png` 自动设置 `data-mengsan-local-art="full"`;四字及以上的翻译名称自动标记为长名,常规和窄屏样式统一,不再维护逐牌 CSS 名单。保持 `cover`,不使用 `100% 100%` 拉伸。
- 卡牌定义使用 `fullimage: true` 与明确的 `image` 路径,不使用横图 `fullskin`。`mengsan_ic_`、`mengsan_colorless_`、`mengsan_event_`、`mengsan_status_`、`mengsan_curse_` 已按前缀接入 `ui/hand/style.css` 的本地完整卡面选择器;其他命名的新增卡牌须单独接入,长牌名同时加入长名称窄屏规则。保持 `cover`,不使用 `100% 100%` 拉伸。
- 费用和强化角标继续使用现有 `data-*` 与伪元素,避免向卡牌子节点写入额外文字而触发十周年 UI 扫描。
- 不改变卡牌费用、效果、强化、奖励与存档数据;不修改全局标准/军争牌或十周年 UI。
- 接入后检查完整立绘、花色/费用/名称、扇形叠牌、悬停放大和窄屏。文件检查、隔离行为测试及预览不代表实机验收。
Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 KiB

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Some files were not shown because too many files have changed in this diff Show More