fix(engine): stop SwiftShader ghosting in software screenshot captures (#3096)

Apply the --disable-gpu-compositing workaround to every software capture, not just BeginFrame ones. SwiftShader's compositor re-presents stale raster for a partially invalidated layer, so successive screenshot captures accumulate copies of earlier seeks; alpha renders are forced onto the screenshot path and were the only ones left unprotected.

Refreshes the byte-strict png-sequence alpha baseline for the resulting antialiasing delta (content unchanged, min PSNR 41.3 dB).

Fixes #3049.
This commit is contained in:
Miguel Ángel
2026-08-07 15:18:52 -07:00
committed by GitHub
parent 218eff7d36
commit b57dc13cb6
62 changed files with 162 additions and 148 deletions
@@ -7,6 +7,8 @@ import { join } from "node:path";
import type { Browser, PuppeteerNode } from "puppeteer-core";
import type { CaptureMode } from "./browserLeasePool.js";
import {
_resetAutoBrowserGpuModeCacheForTests,
_resetBrowserPoolForTests,
@@ -132,23 +134,22 @@ describe("buildChromeArgs browser GPU mode", () => {
expect(args).not.toContain("--enable-gpu-rasterization");
});
it("disables GPU compositing only for software BeginFrame capture", () => {
const softwareBeginFrame = buildChromeArgs(
{ ...base, captureMode: "beginframe" },
{ browserGpuMode: "software" },
);
const softwareScreenshot = buildChromeArgs(
{ ...base, captureMode: "screenshot" },
{ browserGpuMode: "software" },
);
const hardwareBeginFrame = buildChromeArgs(
{ ...base, captureMode: "beginframe", platform: "linux" },
{ browserGpuMode: "hardware" },
);
// HF#3049: the stale-raster accumulation lives in SwiftShader's compositor,
// which every capture mode reads from — so the gate is the GPU mode alone.
// Swept over the whole CaptureMode union so a future mode can't quietly opt
// out of the workaround the way `screenshot` did.
const captureModes: CaptureMode[] = ["beginframe", "screenshot", "drawelement"];
expect(softwareBeginFrame).toContain("--disable-gpu-compositing");
expect(softwareScreenshot).not.toContain("--disable-gpu-compositing");
expect(hardwareBeginFrame).not.toContain("--disable-gpu-compositing");
it.each(captureModes)("disables GPU compositing for software %s capture", (captureMode) => {
expect(
buildChromeArgs({ ...base, captureMode, platform: "linux" }, { browserGpuMode: "software" }),
).toContain("--disable-gpu-compositing");
});
it.each(captureModes)("leaves hardware %s capture on the GPU compositor", (captureMode) => {
expect(
buildChromeArgs({ ...base, captureMode, platform: "linux" }, { browserGpuMode: "hardware" }),
).not.toContain("--disable-gpu-compositing");
});
it("uses Metal-backed ANGLE for hardware browser GPU mode on macOS", () => {
+25 -12
View File
@@ -910,20 +910,33 @@ export function buildChromeArgs(
chromeArgs.push(WEBGPU_FLAG);
}
// SwiftShader's GPU compositor can retain a transformed layer for several
// sequential frames after a GSAP yoyo/reversal, and it re-presents stale
// raster for a partially invalidated layer: content already drawn in an
// earlier seek is never cleared, so successive captures accumulate copies of
// it (HF#3049 — a moving SVG group smears wider on every frame, and static
// siblings appear duplicated one band lower). The DOM and timeline are
// already at the requested time; the defect is in the compositor surface both
// BeginFrame and Page.captureScreenshot read, so it is not specific to a
// capture mode — it is specific to compositing on SwiftShader.
//
// Routing compositing through Chrome's software path is the only mitigation
// that holds: capture-side changes (fromSurface, captureBeyondViewport, a
// second capture, extra rAF ticks, a 250ms settle) and every raster/tiling
// flag (--disable-partial-raster, --disable-checker-imaging, --disable-zero-copy,
// forced tile sizes) leave the accumulation untouched. The cost is that
// SwiftShader rasterizes thin strokes and glyph edges slightly differently
// (antialiased edges only — measured on HF#3049's frame 0: 96 opaque pixels
// differ, by 1/255). Duplicated content in 68% of frames is the worse defect.
//
// Remove this workaround once the pinned chrome-headless-shell includes
// https://issues.chromium.org/issues/535256667.
if (browserGpuMode === "software") {
chromeArgs.push("--disable-gpu-compositing");
}
// BeginFrame flags — only when using chrome-headless-shell on Linux
if (options.captureMode !== "screenshot") {
// SwiftShader's GPU compositor can retain a transformed layer for several
// sequential frames after a GSAP yoyo/reversal. The DOM and timeline are
// already at the requested time, but both BeginFrame and
// Page.captureScreenshot read the stale surface (the duplicate is present
// in the raw JPEG before encoding). Keep deterministic BeginFrame capture,
// but route compositing through Chrome's software path when the browser is
// already in software-GPU mode. Hardware-GPU and screenshot captures keep
// their existing compositor paths. Remove this workaround once the pinned
// chrome-headless-shell includes https://issues.chromium.org/issues/535256667.
if (browserGpuMode === "software") {
chromeArgs.push("--disable-gpu-compositing");
}
chromeArgs.push(
"--deterministic-mode",
"--enable-begin-frame-control",
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4933d5dd2abc677fa661d5e94b673f26fed05b7921b252d0a65da0e17f51824f
size 7997
oid sha256:2c8fe979b1f7614e3d06a8621676000d490385e24e4e1621220d7fa6d7e7c40c
size 8405
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9195c93140f142bfbded3a1f5758141f87bcb11eaa8ec8350a37eef7c0902fe4
size 9205
oid sha256:a72f7e1e9704355583d1ea1a0ff978b9a29c7de23ab5c81492aa05ae1034b419
size 9477
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e8a5d321bcbf9edff83068102f14ff4ea599034d1a97a33b684c5c33f384fa73
size 9261
oid sha256:fbf2e34f4afaeca9d8892f6bf5b0253cbf57b0ce237a91b02cfdc4cfde3b9c7a
size 9493
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3daa0e36f959ce465b04db4180733ed9c309bdc13851a3caedd0261d004401f9
size 9272
oid sha256:e2691b00b80a3568ca18c4326bb100601289ad318fea41f91f903db1032e7194
size 9546
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bef89116d6825d572d9c655e8a01cb0e391087e1175d70ececc90ee6941b148f
size 9249
oid sha256:66930f2960c859b3fb076d063001be3d0f6a657accf4af03b594c2ca66302be1
size 9456
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1100827ceda13433b600ea226331eb3f8a1e9f73517d73381e626302d5e3b675
size 9322
oid sha256:147b6397bdfe142493ecff31ec08182e28a83d5cdb928ef7608baaf78b0eed4e
size 9502
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bcd7d85837277d51b52804bb0761c93ac49d2a5d0d1e11d1c411e1f4386d4f7b
size 9302
oid sha256:aefbcc88ecd307c30646088bb66b20812d3dba85a1c60cd8b6944f31c4f5b016
size 9535
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc9826a6adbbf40cca08779aa9c6e8564e1d39902eb4c052c517d0574324d699
size 9371
oid sha256:cc6e8972198cccc0dcaf6737b27bcae9cd867e560b37361fa200e0e9e54ac135
size 9575
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6fa8146dcc47b6a78a5b55db9289693772aaa2c366ff7ee124b7053155af058c
size 9385
oid sha256:c9e071232d0b596f9e16c6267320cc55e7f7fff22afb3b7f9c7a7f7cd8046e38
size 9538
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d0c8bf011435e3e229f615e081d2933fca5c8937505465a8481582ac46de94cb
size 9285
oid sha256:fda9cfa100daf93d10d9c3290802342fabceeaa1ab79c963dc447b0caa5e63aa
size 9512
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3baf13eab4045857adc8aa75bf1cc4fe4fa829c50ef6c857eab0bd3c28a45293
size 9303
oid sha256:37af0b17c0767715c76edcfa5ee4f8e63bd3fc609fc86b70e7f6bc2bbecba144
size 9501
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b71dfee4cd91267f4d6ea65a2d6c846dd5ac5689cfe8781a90ded5c10ca50afa
size 9236
oid sha256:c0088245a34bf610169f51cda6df2eb4da40638294083c1822283fda23d81bee
size 9446
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:737a38a778b722d280ec11986650c57e72466245687db964222bbe47a085aea5
size 9265
oid sha256:9ee9ab760d6b200b0df7e4a2a2a485a5fbd3cf0dff28970c1f3893cbc9036431
size 9515
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b3bc25a8bcf17103040f6bec9642e09f155d3115397c6ba2b59dd5d60314bf92
size 9286
oid sha256:dbfcc3db6712ca8aea566b91db7646767f40fb745d010ea43e39d7b14ea245f5
size 9530
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bf033c619debdcaa970ef0a32e67001ee3d2caee6df54d671f23003008ca7ef7
size 9204
oid sha256:fde35f1ffa2e8753597d44c215a1f4c969ddcb77a6dd34241a5d3dfd8a6a51fc
size 9494
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4933d5dd2abc677fa661d5e94b673f26fed05b7921b252d0a65da0e17f51824f
size 7997
oid sha256:4ea5c9bc5b5d07f36eeeba5d7cc79224dd13f65950708cf49b6ac81864d9bf59
size 8434
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9195c93140f142bfbded3a1f5758141f87bcb11eaa8ec8350a37eef7c0902fe4
size 9205
oid sha256:7ea22f1adabdbc1ad71992bd4801a767208593393815712468d81afc30e20b37
size 9460
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e8a5d321bcbf9edff83068102f14ff4ea599034d1a97a33b684c5c33f384fa73
size 9261
oid sha256:b12908fa220330116f9335ec4c9a934630841914ccf98e8d86f6df218dda9f1e
size 9507
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3daa0e36f959ce465b04db4180733ed9c309bdc13851a3caedd0261d004401f9
size 9272
oid sha256:daf29a1d905c07e29c5c8bcefc00dfa2493e9e2f4bd835745ee6f36008677546
size 9542
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bef89116d6825d572d9c655e8a01cb0e391087e1175d70ececc90ee6941b148f
size 9249
oid sha256:a8fdc3d1d6075eda922ae6ce0d27616e166267bc7c87afa28cc95f7657153c2c
size 9450
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1100827ceda13433b600ea226331eb3f8a1e9f73517d73381e626302d5e3b675
size 9322
oid sha256:77fa7bf9335ed8cc4612de77bd3453a094a945251f937b556f87e505eb5ee1fa
size 9485
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3de351c6f5e536ea58347cddb373b7521eb146558ed058a2609cd3e59e46bd62
size 9301
oid sha256:dcc4fe096faa4845d8c813c700446c59a4bacda1fe5b4870b54b2b92b677fa9b
size 9554
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc9826a6adbbf40cca08779aa9c6e8564e1d39902eb4c052c517d0574324d699
size 9371
oid sha256:cb4ed6eac97fb10db7fc0e1ed061474b3a0628e456eaab094e6baa957cbeb635
size 9552
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90b58af819c992b79c43b9681028f5f9f2467253c36a16dbb927e77fbad27bc1
size 9389
oid sha256:0f2ce347d9c4a177d4063a92f5c815337c89d78b1967d0036f05b82ffc8189dd
size 9548
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49e4a510bfe9c2a983cdc93a9760ade16e8da6818ac75b21eff3eea17218f3f8
size 9285
oid sha256:5b0c2b3bc7e2259c06a8af025ee0263f7026758ecdc8882eafeb5c53931728eb
size 9522
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3baf13eab4045857adc8aa75bf1cc4fe4fa829c50ef6c857eab0bd3c28a45293
size 9303
oid sha256:e3518e127b1ec1f47f31fa37a5dd4235abcfde5d576d70d451a37d00ef4df7fb
size 9492
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b71dfee4cd91267f4d6ea65a2d6c846dd5ac5689cfe8781a90ded5c10ca50afa
size 9236
oid sha256:e6e698f65937196a0fa50d736f4bcf6f398fbd627e378963675caf6abaae0a8f
size 9455
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:737a38a778b722d280ec11986650c57e72466245687db964222bbe47a085aea5
size 9265
oid sha256:03cce5b1878abad51e320804bab43dadc981e8c2cc3ceec8e8019d7e1ccef46d
size 9509
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40e724c558e8e1597943ec672224cd2e18ca8a5100fad3f153bca8bca0df4969
size 11311
oid sha256:339a6a01940bfec95ddb120777c6942fdbd4a71103b064e57a7e7ef1c5236ab1
size 11488
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:94e3e8ce6cbffa74557fcc76ecc561471d3d49ecdb3591a0fe01b8e14013fe5a
size 11391
oid sha256:c38baf7191241ee9b8e7dfa3a50ab4b3467161218b02da0fae88b8c4a3d32dce
size 11619
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:48602bb09bff3d79210729565bdb524488149574cae55eeda53671eae88e01dc
size 10344
oid sha256:360b92cfd177bfb3020cd56f8eadbc590f10cbe22932730fb0432240d4e60d30
size 10627
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:389ae5df4c313fbe65043e3edc8e1d1a64d58a195c006c60c089164700cb12de
size 11471
oid sha256:a013c2c0f7e73c37fc81f56b4a0f1b9c8bb6713e72130139522f17155ae0a253
size 11723
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9552049a6b5c263b350d98d86a3f1e9ba474a0cba8af2d8899903c3a2b401d0
size 11467
oid sha256:4e0bc4a96760ce265b1a2bb3bd999b53eb2f4948fb793f249c3fa5ddbcbf1c7c
size 11737
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7b00cd02037d594c4576f0413d61d6a88de62cca131de314d002dbf33c6292aa
size 10046
oid sha256:197a78d36de126e3a400c59ee1ddd577b8d3c6ebcc4a98ea3a17406666507bdf
size 10381
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:46d60ddd91ec1d7185aaeb6686d6add1aed7d81aae53612ac2edbf6a7d93c345
size 10031
oid sha256:65c7999d6d9450d3065e00588d24871fd1d51db6deac8f18ab361192a9c50600
size 10290
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c5e13cd286a3233563cdbeb4ba5b1b2bab04b4cb29bac5c93e5702744d11c088
size 10110
oid sha256:51eb31ff58a2ffdf17f0def28262858af83ed54436a9a805f0f219c03f52f414
size 10324
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:633d22d5463e34c3fb2c6335b249467cb9807a04980d05eb0bbca6d82f203b76
size 10093
oid sha256:649bf8c28bb205d9793cdac00253e864078ea20874e40a08e97f4c6c9a9109c7
size 10357
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0f2982c19feb426c3d813a1e552d8d89f10b244744cb2664c31404d918e5471
size 10156
oid sha256:4c2c84a261b9ae3960a557afdeaf304784797bc673d6a13d6500f11293cecb4e
size 10383
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6019e56d9876d24e67ee8f3458f9d2073e8af0be9852876ea3e377c79b24fae6
size 10164
oid sha256:38df8ee3d7cc5ad72d6fa459371020ac7805aead0ead3cc58a7bbf78f14a3083
size 10341
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:69839d2376bb82be36e1ebb4b3250c2b8d8e554285008c1ae30b6bc1d52f1752
size 10070
oid sha256:f84949c05a27072c7be007fc42efdb27578b2f8b6b1f8184f67beb962bd4c2c3
size 10376
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f1d1e98f9d5a24ce456a3a13c4b47d83f602a3c3e1a61c72726335d62e14657
size 10093
oid sha256:a79d6f344e31dd880c330873b162a9728d863f676b32e1d3a55e4b72baec3776
size 10309
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bc31fc2b24e5a97e8ffbf87e8428354adb35eec131693ddd171f8485017477c4
size 10020
oid sha256:26b2d85f0596c1c25f92e5b472a3174897478c13971c83fa40ddbc464451b76a
size 10259
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:48a14b5afb08bd5770f8b462df9ee5077837ca0c0235b74c94bc158e97e0519c
size 10040
oid sha256:802f826ab596ddbc6577a065e72cb13b3893161cde9b0442fc920de9011d8f40
size 10343
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4de5c8e9be3371102aef78373ae26173c6cd90014a4ea38a948650b3631644f6
size 10070
oid sha256:c529de8cb99d843f3546eced6465b6a4a2a124071452ce659f635eff5ebc5c5a
size 10324
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:093dd3500e5d1897547fc58b9555692f678a4a9fb85b01963ebf0035c59ac36c
size 9990
oid sha256:26d3ce078dd4ea688f92656886f80b88f6d9569d1d381df03dd787d6cc93f3a8
size 10303
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8315981ec4add959e8e7807cf5d80e02b1f2c9d87f4606bb0ecf3d593e4d72db
size 8828
oid sha256:ddd0b265eeac28848aa30b44e65cd6ea4f6494220eec6ed9cbc27877b0c36a2a
size 9263
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3bd6e235efe18a6f3d2f17a77706dbb3b5418fcc936908f5f7ff7649c0bfc757
size 9988
oid sha256:0f292aa647ca8b84f29a8c17dfe46d12ddd0bacce5ce64dc3bd75c6dc9e3f163
size 10280
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d989e45af9527ca8402746a8b141a5c4133eac643c933c0f0d3ca9ddd37950a
size 10043
oid sha256:15bcfeb0bb619130505e4cce34a59546ac7e25bb3a4b759e2e6334120e3623e4
size 10327
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7b00cd02037d594c4576f0413d61d6a88de62cca131de314d002dbf33c6292aa
size 10046
oid sha256:ec85a52b97886b6898eaf0e90c0f63918422283ff1b3bfcfb76dc010f9424bb8
size 10358
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:46d60ddd91ec1d7185aaeb6686d6add1aed7d81aae53612ac2edbf6a7d93c345
size 10031
oid sha256:b78dc89f6599ef89df50c138b7d2c020a72d46e97879b1c22295c08d504ff26a
size 10286
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c5e13cd286a3233563cdbeb4ba5b1b2bab04b4cb29bac5c93e5702744d11c088
size 10110
oid sha256:5e4e56fb6e95d2ada26560b24c22ce49f823b6875a9e876de5659e4ffa0d7ff2
size 10313
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f648a1174c6d3cd13a721bc0ccc144e89d0df5fed15eeaec1a67f6d5f55377b0
size 10097
oid sha256:74e61da86e756e56689f0ea44a43b708fdaedaea14bddb90af06ed34698e8ad9
size 10385
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0f2982c19feb426c3d813a1e552d8d89f10b244744cb2664c31404d918e5471
size 10156
oid sha256:f805bb6bc78012070badd8ead442dd9ce3862cdf29aec79ee9a1dd7822918b7c
size 10355
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6019e56d9876d24e67ee8f3458f9d2073e8af0be9852876ea3e377c79b24fae6
size 10164
oid sha256:130ca255639b72dad43a215affa887df0d7830f3ce7736290fb6560dfde8273c
size 10359
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:69839d2376bb82be36e1ebb4b3250c2b8d8e554285008c1ae30b6bc1d52f1752
size 10070
oid sha256:07d0f9fcd32f7817707c4119dcdf0afb1e16b6cd11030e84a4b2901c9b911a50
size 10328
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f1d1e98f9d5a24ce456a3a13c4b47d83f602a3c3e1a61c72726335d62e14657
size 10093
oid sha256:5c9da25d343037be939aeb20d9555cc1fdfbc9f9597d1f02d75e088c0bad1e92
size 10327
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bc31fc2b24e5a97e8ffbf87e8428354adb35eec131693ddd171f8485017477c4
size 10020
oid sha256:45a518e1043f71211bf0ae0475408a0fe28fef95e83f69c18bc220763d76bca3
size 10263
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:48a14b5afb08bd5770f8b462df9ee5077837ca0c0235b74c94bc158e97e0519c
size 10040
oid sha256:aab54e746c8465da69f5105cb2e47c5d228865232ee751d842956cd7931b6728
size 10332
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4de5c8e9be3371102aef78373ae26173c6cd90014a4ea38a948650b3631644f6
size 10070
oid sha256:4d0f5c93652bd80f3e223731b6d9428907f2743ac0ae71370bdfa19c764b6d3d
size 10371
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:093dd3500e5d1897547fc58b9555692f678a4a9fb85b01963ebf0035c59ac36c
size 9990
oid sha256:98d1e12e640e91f1cf29e388689966601c8f8d764beceee50452283111ccd116
size 10319